当前位置:首页 > 芯闻号 > 充电吧
[导读]最近在做一款产品移植。用户数据一共7块内容。老产品都是用EEPROM的读写方式通信,内在的东西不熟悉,看不到。然而在STM32105里面,自己开始琢磨用户数据的保存,开始搬迁。首次玩此款芯片,经验不多

最近在做一款产品移植。用户数据一共7块内容。老产品都是用EEPROM的读写方式通信,内在的东西不熟悉,看不到。

然而在STM32105里面,自己开始琢磨用户数据的保存,开始搬迁。首次玩此款芯片,经验不多经历了很多坎坷,写篇文章记录:

1、明确需求很重要。我的数据有4块是小数据而且经常要改动,有1块 数据不常用,内容几十字节。有1块数据接近2K,有1块数据大于2K。

2、明确平台资源。STM32105RC, 64KRAM,256KROM, flash的页大小2K一页。

3、寻找轮子,向前进。官网模拟EEPROM的例程:STM32F10x_AN2594_FW_V3.1.0优化(FLASH模拟EEPROM)

4、耐心磨刀。特别是经验不足的新手(我)。

a.在第1调需求没明确,导致个别区块大小定义不准确。同样影响常用数据分类,数据大小分类的准确性

b.七块数据保守估计4K,没理解透第2条,天真的去申请操作4K的数据。

c.没理解号轮子的特性,竟然误解优化的方法,想拿掉;竟然以为模拟EEPROM,一页可以存2K数据;实际上优化的方法方便读写数据的速度,模拟EEPROM,一半存的是虚拟地址,一半存的数据,准确来说还要预留4个字节存页状态,实际数据不足1K每页。

d.实战经验缺乏,乱搞了很多次。例如模拟EEPROM写满一页需要回收有效数据,然后转移到新页

e.折腾了好机会,开始独创新模式,采用模拟EEPROM的原则、理论、方法,单独定义页面来存储接近2K的数据,大于2K的块数据。无奈换页的时候,要么内存数据会被影响,要么换页数据不准确,大小 不到位。不过好事多磨还是解决 了。

总结:再好的记忆也比不上一个烂笔头。数据模型,FLASH存储,MEM申请和释放,数据编辑和换页操作。这4快都是要一笔一划清晰用笔头描绘出来。




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭