vvhhbc1 发表于 2015-11-17 09:03:06

对stm32芯片的flash模拟eeprom例程一点疑惑

最近在看了stm32F0 芯片的flash模拟eeprom文档, 结合st公司的例程, 现在有一点十分困惑,



1,
如上图, 这样每次开机都要对page0进行擦除操作, 擦除寿命为10000次, 每天开几次机, 这块flash模拟的eeprom不是很快就报废了吗?

2,例程上:
static uint16_t EE_PageTransfer(uint16_t VirtAddress, uint16_t Data)
{
FLASH_Status FlashStatus = FLASH_COMPLETE;
uint32_t NewPageAddress = 0x080103FF, OldPageAddress = 0x08010000;


stm32F0 芯片是64kflash, 这个模拟eeprom的页地址是定位在64k后面的1k, 这样定位在有效flash外面, 行吗?

很困惑很困惑,
还望能得到大家的指点迷津, 谢谢!

vvhhbc1 发表于 2015-11-17 15:22:15

有用过的朋友吗? 盼能点拨, 谢谢!

yanhaijian 发表于 2015-11-17 15:51:56

有那种这次写这片区域下次写那片区域的方法。

peter001 发表于 2015-11-17 18:18:46

可以留出几页区域,加入校验,发现页面坏掉就换位置

watershade 发表于 2015-11-17 21:38:55

谁说每次要对page0进行擦出操作。那是在page0需要擦出的时候才擦出的。每个page不是给了你三种状态吗?你先看懂图。
页: [1]
查看完整版本: 对stm32芯片的flash模拟eeprom例程一点疑惑