本帖最后由 yyql008 于 2013-1-27 21:31 编辑
flash 写之前,需要擦除的,也就是说flash某个地址已经写入了数据,现在对该地址要写新数据,需要擦除(而且一擦除,就得擦除一页,好像是因为写数据,只能把1变为0,擦除可以把所有位擦为1,好像工艺原因,把0变成1,比1变成0要难,所有才有一擦除得整页擦除,写可以对指定地址操作)
如果按你的思路,对falsh指定位置存储数据,以后又修改该处数据,每更新一次就得擦除一页.
STM32模拟eeprom有虚拟地址的概念,调用上层的eeprom写函数,虽然虚拟地址没变,实际操作的flash地址变,目的就是尽量介绍擦除的次数了...,如果你用STM32的eeprom,可以把擦除flash次数减少到最少的.觉得你用模拟eeprom是最好的解决办法了...
|