我是个新手111 发表于 2022-1-10 15:08

GD32F450的flash擦除问题

GD32F4的芯片flash擦除最小为扇区,四个16KB,一个64KB,其余全部为128KB.没有页擦除操作。有谁自己写过flash的页擦除函数么,没有页擦除,操作64kb或者128kb区域的代码就很不方便,自己仿照GD32F1的页擦除写了一个,但发现擦除没有效果。有没有什么建议

sagade 发表于 2022-1-12 15:22

看手册450貌似只有扇区和块的概念,反正我是擦除多个扇区这样操作的。

tpgf 发表于 2022-2-4 17:09

没有页擦除吧

paotangsan 发表于 2022-2-4 17:15

其实就是多操作几次的

renzheshengui 发表于 2022-2-4 17:23

擦除flash是不是速度比较慢 啊

wakayi 发表于 2022-2-4 17:29

一次擦除很多和来回擦除好几次 耗时是一样的吗

wowu 发表于 2022-2-4 17:39

这个还真不好说可以实测一下

xiaoqizi 发表于 2022-2-4 17:51

我觉得肯定一次擦除耗时短 但是也没有太大的优势

match007 发表于 2022-2-8 17:27

这还不方便?我倒是喜欢擦除单位越小越好

sumosumo 发表于 2022-2-9 16:16

这么大的擦除单位很不好用啊,要更新一些用户数据时,需要读出旧数据,耗费的RAM就不是一个小数目

wangkl11 发表于 2023-10-9 11:41

我连续擦除多个扇区死机有没有大佬分析一下的       /* 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]
查看完整版本: GD32F450的flash擦除问题