微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC2530 flash掉电存储

CC2530 flash掉电存储

时间:12-22 整理:3721RD 点击:

     我在测试CC2530的flash读写功能时,发现在debug模式下,flash能够正常的读写。生成hex文件后烧录到板子里,通过串口能观察到写入flash里的数据,但使板子掉电重新上电后,flash里的数据变成了oxFF.请问为什么flash不能够实现掉电存储?

HalFlashErase(0x40);
while( FCTL & 0x80 ); // wait for erase to complete

HalFlashWrite(0x8000, buff1, 1);
HalFlashRead(0x40, 0, buff2, 4);

生成hex文件的时候,你需要在f8wCC2530.xcl文件中,把

// Include these two lines when generating a .hex file for banked code model:
-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]*\
_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000

在f8wCC2530.xcl文件中,这些东西都是默认的(0x8000),无需修改.

      原因我已经找到了,之前我是将数据写在flash里的第64页,第64页是flash中间位置,工程的代码过大时该页就会被使用,导致flash读写无法使用。所以写在100页至125页比较稳妥。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top