打印
[DemoCode下载]

用DataFlash模拟EEPROM 的API,带source code

[复制链接]
3184|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clyu|  楼主 | 2014-11-21 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用DataFlash模拟EEPROM。用户把要保存的数据进行编号(index),例如:0 ~ 12共13个数据要保存。每个数据做多4个字节。该库提供API如下:
int SetRomSize(int index, int totalsize);用于设定用来保存数据的flash size。将从dataflash中分一块出来用于保存数据。剩下的还可以用来保存其它的。分配的大小至少是要保出数据的size的两倍,并且是2的倍数。还是上面的例子,13个数据需要16个空间,16×4 = 64个字节。2倍的话就是128B.至少要分配128个字节。当然Size越大越好,可以是3倍,4倍
Eg: SetRomSize(16, 128);index=16最多可以保存15个数据
或者SetRomSize(16, 1024);
int ReadRomW(uint32_t index, uint32_t *data);读某个index(上例就是0 ~ 12,最大可以到14)
int WriteRomW(int index, uint32_t data);更新某个index处的数据
用这个库的好处就是不用担心正更新的时候断电,导致数据丢失。并且该算法尽量均匀使用flash减少erase的次数
库的源码也在附件里,跟测试代码都在目录SampleCode\Lib\EEPROM_Emulator下面

EEPROM_Emulator_M051_BSP_Rev3.00.001.zip

1.01 MB

沙发
从小木丁丁| | 2014-11-21 19:56 | 只看该作者
谢谢分享,下载看看

使用特权

评论回复
板凳
mintspring| | 2014-11-24 14:12 | 只看该作者
下载学习一下

使用特权

评论回复
地板
yywdc| | 2015-6-25 16:01 | 只看该作者
好东西!赞一个

使用特权

评论回复
5
Harvard| | 2015-6-26 13:01 | 只看该作者
不错

使用特权

评论回复
6
mintspring| | 2015-6-27 10:59 | 只看该作者
nt ReadRomW(uint32_t index, uint32_t *data);读某个index(上例就是0 ~ 12,最大可以到14)

使用特权

评论回复
7
598330983| | 2015-6-27 23:36 | 只看该作者
int SetRomSize(int index, int totalsize)

使用特权

评论回复
8
598330983| | 2015-6-27 23:36 | 只看该作者
int SetRomSize(int index, int totalsize)

使用特权

评论回复
9
zhcxq| | 2016-5-3 17:30 | 只看该作者
数据量大的时候,比如256,是不是会有问题?有用过的吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:新唐科技
简介:新唐科技晶圆代工(源自于华邦电子六英寸晶圆厂)座落于台湾新竹科学园区内,月产能为45,000片,自1992年起,拥有超过20年晶圆代工服务经验,于2008年自华邦电子分割后,完全专注于晶圆代工。新唐晶圆代工厂目前提供0.35微米以上工艺,包括一般逻辑(Generic Logic)、混合信号(Mixed Signal)、高压(High Voltage)、超高压(Ultra High Voltage)、电源管理(Power Management)、Mask ROM (Flat Cell)、嵌入式记忆体(embedded Logic Non-Volatile Memory)与客制化工艺(如:IGBT, MOSFET, TVS, BioChip, Pressure Sensor, and Light Sensor)等。

6

主题

60

帖子

8

粉丝