| 看看我写的接口,暂时没发现问题: 
 /*!
    \brief      连续擦除多个扇区
    \param[in]  sec_num 起始扇区号( FLASH_Sector_0 ~ FLASH_Sector_23)
    \param[in]  sec_count 扇区数量
    \retval     none
*/
ErrStatus BSP_fmc_erase_sectors(uint32_t sec_num, int sec_count)
{
        uint8_t index = 0;
        fmc_unlock(); 
        /* clear pending flags */
        fmc_flag_clear(FMC_FLAG_END | FMC_FLAG_OPERR | FMC_FLAG_WPERR\
                                   | FMC_FLAG_PGMERR | FMC_FLAG_PGSERR);
        index = Fmc_get_Sector_index( sec_num );
        for(int i = 0; i < sec_count; i++)
        {
                fmc_sector_erase(CTL_SN(index + i));
                //printf("Erase sector index = %d!\r\n", (index+i));
        }
        /* lock the flash program erase controller */
        fmc_lock();
    return SUCCESS;
}
 |