fmc_unlock(); /* 解锁FMC */ /* 清除错误标志 */ fmc_flag_clear(FMC_FLAG_WPERR); fmc_flag_clear(FMC_FLAG_PGSERR); fmc_flag_clear(FMC_FLAG_RPERR); fmc_flag_clear(FMC_FLAG_RSERR); fmc_flag_clear(FMC_FLAG_ECCCOR); fmc_flag_clear(FMC_FLAG_ECCDET); fmc_flag_clear(FMC_FLAG_OB...
fmc_flag_clear(FMC_FLAG_PGSERR); fmc_flag_clear(FMC_FLAG_RPERR); fmc_flag_clear(FMC_FLAG_RSERR); fmc_flag_clear(FMC_FLAG_ECCCOR); fmc_flag_clear(FMC_FLAG_ECCDET); fmc_flag_clear(FMC_FLAG_OBMERR); erase_addr+=FLAG_PAGE_SIZE; data_earse_num-=FLAG_PAGE_SIZE; } }else{ /*若写...
fmc_unlock(); /* 解锁FMC */ /* 清除错误标志 */ fmc_flag_clear(FMC_FLAG_WPERR); fmc_flag_clear(FMC_FLAG_PGSERR); fmc_flag_clear(FMC_FLAG_RPERR); fmc_flag_clear(FMC_FLAG_RSERR); fmc_flag_clear(FMC_FLAG_ECCCOR); fmc_flag_clear(FMC_FLAG_ECCDET); ...
clear(FMC_FLAG_END | FMC_FLAG_OPERR | FMC_FLAG_WPERR | FMC_FLAG_PGMERR | FMC_FLAG_PGSERR...
| FMC_FLAG_PGMERR | FMC_FLAG_PGSERR);index = Fmc_get_Sector_index( sec_num );for(int i ...
voidfmc_all_flags_clear(void) { fmc_flag_clear(FMC_FLAG_END); fmc_flag_clear(FMC_FLAG_WPERR); fmc_flag_clear(FMC_FLAG_PGSERR); fmc_flag_clear(FMC_FLAG_RPERR); fmc_flag_clear(FMC_FLAG_RSERR); fmc_flag_clear(FMC_FLAG_ECCCOR); ...
(0x00000000, 0x40023C00, "Memory"); // Flash 0 wait state __writeMemory32(0x00000000, 0x40023C10, "Memory"); // FMC_CTL = 0; __writeMemory32(0x000000F0, 0x40023C0C, "Memory"); // FMC_STAT = PGSERR | PGMERR | WPERR; __message "---execUserFlashInit end---\n"; } ...
//若该位置 1,且编程区域数据不全为 0xFF 时,PGSERR 将会置位。且该编程操作无效。 #define FLASH_PGCHEN (1 << 4) //向 FMC 发送擦除命令位 //当 LK 设置为 0 时,该位才能被软件置 1,发送擦除命令到 FMC。 //当 BUSY 位被清 0 时,此位由硬件清 0。 #define FLASH_START (1 << 7)/...
fmc_unlock(); /* 解锁FMC */ /* 清除错误标志 */ fmc_flag_clear(FMC_FLAG_WPERR); fmc_flag_clear(FMC_FLAG_PGSERR); fmc_flag_clear(FMC_FLAG_RPERR); fmc_flag_clear(FMC_FLAG_RSERR); fmc_flag_clear(FMC_FLAG_ECCCOR); fmc_flag_clear(FMC_FLAG_ECCDET); ...
fmc_unlock(); /* 解锁FMC */ /* 清除错误标志 */ fmc_flag_clear(FMC_FLAG_RDDERR|FMC_FLAG_PGSERR|FMC_FLAG_PGMERR|FMC_FLAG_WPERR|FMC_FLAG_OPERR); erase_addr = write_start_addr; data_earse_num = data_lengh; if(write_start_addr%FLAG_PAGE_SIZE == 0) /* 若写入地址为页起始地址 ...