GD32F450的flash擦除问题
GD32F4的芯片flash擦除最小为扇区,四个16KB,一个64KB,其余全部为128KB.没有页擦除操作。有谁自己写过flash的页擦除函数么,没有页擦除,操作64kb或者128kb区域的代码就很不方便,自己仿照GD32F1的页擦除写了一个,但发现擦除没有效果。有没有什么建议 看手册450貌似只有扇区和块的概念,反正我是擦除多个扇区这样操作的。 没有页擦除吧 其实就是多操作几次的 擦除flash是不是速度比较慢 啊 一次擦除很多和来回擦除好几次 耗时是一样的吗 这个还真不好说可以实测一下 我觉得肯定一次擦除耗时短 但是也没有太大的优势这还不方便?我倒是喜欢擦除单位越小越好 这么大的擦除单位很不好用啊,要更新一些用户数据时,需要读出旧数据,耗费的RAM就不是一个小数目 我连续擦除多个扇区死机有没有大佬分析一下的 /* wait the erase operation complete*/
for (sector_num = 0; sector_num < 5; sector_num++)
{
ram_fmc_state = ram_fmc_sector_erase(CTL_SN(sector_num));
fmc_flag_clear(FMC_FLAG_END | FMC_FLAG_OPERR | FMC_FLAG_WPERR | FMC_FLAG_PGMERR | FMC_FLAG_PGSERR);
if(ram_fmc_state!=FMC_READY)
{
while(1);
}
}
页:
[1]