CC2541 flash存储问题
时间:10-02
整理:3721RD
点击:
1.如果每页是1024字节,蓝牙每次接收到的数据是20字节 我要存在同一页上,既不会出现覆盖,也不会出现浪费存储。要怎么操作呢?
2.我现在是存储的时候是先擦除再写入, 擦除是整页擦除的。
协议栈里的osal_snv.c 用于对flash数据存储的操作。基本思路是用两页,一页上开始存储,没有写满不会擦,快满了,进行压缩操作,写到另一页上。
就是时间换空间的做法,但很适合读写flah,可以看代码了解下。
先定义个静态变量pg,用来存储当前的页数,然后在每次写操作时都计算一下,会不会写到下一页,如果会,则擦除下一页,并更新pg。