FSL_TICS_ZJJ 发表于 2014-5-20 17:02:01

【经验分享】K系列的EEPROM备份区是否可以小于16倍的EEPROM

本帖最后由 FSL_TICS_Robin 于 2014-7-28 15:31 编辑

[经验分享]K系列的EEPROM备份区是否可以小于16倍的EEPROM
一,        问题描述
今天遇到一个客户,问了这个问题,所以在此和大家分享下。
关于kinetis K系列的eeprom,大家都知道,是使用flexRAM以及flexNVM分区组合模拟而成,但是在flexNVM中到底分配多少空间给eeprom作为备份区呢?当然,分配的越大对于擦写寿命越有好处。 而最小又能分配多少呢?
从我们的reference manual中flash memory章节,看到这句话:

图1
    意思就是,eeprom的备份区至少为flexRAM中eeprom大小的16倍,有些客户就想,如果使用的产品的flexNVM是32K, flexRAM是2K,然后配置EEPROM的大小为2K,那么16倍的eeprom的备份区就得要32K,则整个的flexNVM就都作为了备份区,这样就没有data flash区了。能否配置小点的eeprom备份区,从而留出部分的dataflash呢?
二,        问题解答
其实,通过测试,也不一定要配置备份区为16倍的eeprom,当然,不能将备份区配置为0,这样eeprom就无法工作了。但是,如果备份区大小小于16倍的eeprom,那么相关eeprom的数据就不能直接参考datasheet了,datasheet的数据是备份区在16倍eeprom以上的。而且,擦写寿命肯定会缩短,具体缩短为多少,就没有定量了。所以,如果需要保证擦写寿命的话,建议大家还是使用16倍以上的备份区。
另外,由于模拟eeprom的技术,其实是需要每个字节至少16个字节的备份区,如果少于的话,在实际长期使用中,可能会出现写方面的问题,所以如果大家考虑到稳定性,最好还是备份16倍以上,如果读写次数不高的话,可以直接使用flash的方式读写,这样就会减低因为备份区的问题带来的风险。

三,        测试结果
本文以TWR-K20D70M开发板为测试平台,芯片为MK20DX256VLL7,测试是否可以使用小于16倍备份区的eeprom。该芯片的flexNVM为32KB, 地址为0x1000_0000 –0x1000_7FFF ,flexRAM的大小为2KB, 地址范围为:0x1400_0000 –0x1400_07FF。
配置eeprom大小(flexRAM)为2KB,配置flexNVM中的eeprom的备份区为16KB, dataflash也为16KB.
则,就需要配置FCC0B4=0x33, FCCOB5=0X02
代码功能是,在如下地址:
#define LONGWORD_COUNTER_ADDR 0x14000040
#define WORD_COUNTER_ADDR 0x14000044
#define BYTE_COUNTER_ADDR 0x14000046
#define BYTE_LAST_ADDR 0x14000700
读写数据,断电后看是否还在。
结果显示,首次分区:

图 2
重新上电:

图3
四,        附件分享
附件给出了测试代码,以及文档,并且加上一个eeprom的应用笔记,需要的网友可以拿去。









PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营的飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。

FSL_TICS_ZJJ 发表于 2014-5-20 17:02:24

不足之处,恳请大家指正,同时也欢迎大家分享自己的经验!

cmheia 发表于 2014-5-20 17:17:30

{:lol:}我发现飞思卡尔很喜欢flex这个前缀,到哪都是flex***不知道这是为何呢?

FSL_TICS_ZJJ 发表于 2014-5-20 17:25:01

cmheia 发表于 2014-5-20 17:17
我发现飞思卡尔很喜欢flex这个前缀,到哪都是flex***不知道这是为何呢? ...

flex就是易用,灵活的意思!
只不过以此为命名而已!

xinyinxing 发表于 2014-5-20 17:29:03

感谢楼主的经验分享,学习了!

wangpengcheng 发表于 2014-5-20 18:01:25

cmheia 发表于 2014-5-20 17:17
我发现飞思卡尔很喜欢flex这个前缀,到哪都是flex***不知道这是为何呢? ...

你有没有发现飞思卡尔的芯片命名还都是以M开头呢{:titter:}

cmheia 发表于 2014-5-20 18:10:53

wangpengcheng 发表于 2014-5-20 18:01
你有没有发现飞思卡尔的芯片命名还都是以M开头呢

{:lol:} 我这边还有PK60的tower哦

FSL_TICS_ZJJ 发表于 2014-5-21 10:57:58

cmheia 发表于 2014-5-20 18:10
我这边还有PK60的tower哦

P是样品,M是正式推出的产品。

laber_1912 发表于 2014-7-28 14:56:02

下载,学习下。

如果 发表于 2014-7-28 15:00:25

你有没有发现飞思卡尔还是喜欢以“如果,如果您要查看本帖隐藏内容请回复”结尾的呢?

FSL_TICS_Robin 发表于 2014-7-28 15:25:18

如果 发表于 2014-7-28 15:00
你有没有发现飞思卡尔还是喜欢以“如果,如果您要查看本帖隐藏内容请回复”结尾的呢? ...

很多帖子应该是已经取消回复可见了
谢谢你的提醒,已经修改附件可见

FSL_TICS_ZJJ 发表于 2014-7-28 15:54:51

如果 发表于 2014-7-28 15:00
你有没有发现飞思卡尔还是喜欢以“如果,如果您要查看本帖隐藏内容请回复”结尾的呢? ...

的确,现在我们发帖都是直接可见的,不过还是欢迎你积极参与我们的技术讨论哦。

sdlibin007 发表于 2014-8-26 22:16:48

资料先收藏了,谢谢楼主!!

浪里白条 发表于 2014-8-26 22:48:51

感谢版主分享,版主分享的经验有很多都有细致的实验步骤,令人印象深刻。

cn_x 发表于 2014-8-27 06:58:26

谢谢分享,这些只在实际工程中用到的东西

FSL_TICS_ZJJ 发表于 2014-8-27 10:51:34

浪里白条 发表于 2014-8-26 22:48
感谢版主分享,版主分享的经验有很多都有细致的实验步骤,令人印象深刻。 ...

是的,主要讲详细点,这样大家以后遇到同样的问题时,就能快速解决了。

zhaotyue 发表于 2014-9-22 21:49:01

收藏备用,谢了

xjmlfm1 发表于 2014-9-23 11:33:31

飞思卡尔真有意思,内置一片真PEROM,能花多少钱呀,还搞个模拟的,还得16倍的空间,本来FLASH空间就紧张。

cyberkyg 发表于 2014-9-26 16:17:29

mark            .
页: [1]
查看完整版本: 【经验分享】K系列的EEPROM备份区是否可以小于16倍的EEPROM