vvhhbc1 发表于 2015-11-16 21:47:33

stm32用flash模拟EEPROM的问题

最近想用flash模拟EEPROM,已节省5毛钱的外部EEPROM费用。找到了这两篇很好的文章.
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_563416CSTFA5.pdf(原文件名:STM32FLASH模拟EEPROM使用和优化.pdf)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_563417LYJ0YO.rar
(原文件名:FW_V3.1.0优化(FLASH模拟EEPROM).rar)
非常感谢原文的作者。

现有2个问题:
1,stm32F030C8芯片能采用上述方法用flash模拟EEPROM吗?
2,上述方法据说还有如下问题:
使用本例程要注意了,在页切换的时候要做修改,不然页传输的时候会出错,
就是在做页传输的时候,读数据时采用原来的方法找读地址。
使用这个程序的时候还是得修改的!不然换页时读取不到旧页的数据!



有用过的朋友吗,
盼能得到各位的指点, 谢谢了!

watershade 发表于 2015-11-16 23:30:02

ST官网有emulation的文件,也有例子。但是不知道能不能被F030使用。基本的原理就是找一片空闲区域。比如某两个相邻的页面。保护这篇区域不被使用。当需要存储少量信息的时候。就给变量一个地址,然后将地址和数据按照半字的长度存储。这样当需要查询保存的信息的时候就查找最近的地址(从当前地址往回找或者最初是倒序存储的)。需要两个页面的原因是用一个页面当作俩一个的备份。如果需要数据的安全性,建议尽量不要对单个变量多次读写,这样就会冲掉不常用数据。这时候你就最好开辟新的存储区域,专门存储这类长变的数据。

yuhongshuai 发表于 2016-1-9 12:19:40

可以模拟,,和m3核的几乎一样,可以找
页: [1]
查看完整版本: stm32用flash模拟EEPROM的问题