cc1310 flash 记录重启次数
时间:12-23
整理:3721RD
点击:
Hi,TI的朋友们:
我想用CC1310 的flash记录重启的次数,用两个字节表示,在第一次下载程序的时候调用写flash函数能够成功的写入flash
,然后进行重启,读出上一次的重启值+1,再调用写flash函数却失败了。不知道是什么原因?
因为已经有数据,写操作之前需要擦除吧!
没错,flash操作是以page为单位的,要写就要写一个page,而且写之前要擦除该page再写
怎么操作呢?
该怎么办呢?一次性写上4KB的页面?
试过在page 30写之前将一个页面全部擦除,然后写入,这样是可以写入的
你可以这样做:当第一次开始时擦除此page,并将写入地址设置为该page的起始地址如addr_wr_index = WR_FLASH_ADDR_STA,以后每次记录时先读取写入位置addr_wr_index,再在addr_wr_index+1的位置写入一个字节,相当于每写入一个字节重启次数加1.这样只能记录4096次,另一方法,按bit写入,一个字节的位置可以写入8次,即可以记录4096*8的次数。记住写入只能将1写为0。
这样的做法可以,如果还存其他的数据是不太好的。可以在全部擦除之前进行读取,然后修改相应的位置,在统一的存入。相当于统一读出,统一存入。我已经这样实现了
不是统一写入,是单独写入此位置,注意不能同一位置重复就行
次数 相关文章: