加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

<蓝牙BLE>关于cc2540Flash断电保存的操作

发布时间:2020-12-15 19:58:18 所属栏目:百科 来源:网络整理
导读:cc2540自带128k或者256k的flash内存,可以提供断电保存。将数据进行flash保存之后,在复位或者重启之后,仍 能找到断电之前保存的数据。flash保存主要有以下两种方法。 一、调用osal_snv_write( );和osal_snv_read( ); 首先添加头文件#include "osal_snv.h"

cc2540自带128k或者256k的flash内存,可以提供断电保存。将数据进行flash保存之后,在复位或者重启之后,仍

能找到断电之前保存的数据。flash保存主要有以下两种方法。

一、调用osal_snv_write( );和osal_snv_read( );

首先添加头文件#include "osal_snv.h"

然后打开OSAL文件夹下的bcomdef.h,在该文件里面自己添加一个保存的地址。我们设置为0x89,也可以使用里面

已经定义好的0xFF.至于这个地址并不是随意添加的,好像是有个范围的,不过具体多少我忘了,当时我做这个实

验的时候,看到0x89可以用,所以就定义这用了,至于壮哥说过让我们试验一下储存容量,我们也没怎么弄明白。




在这之后我们就可以开始进行flash的读写操作了。



这是我们做的一个检验的小实验。设置flash自动保存count的值,按下向下的键时读取出保存的值。断电重启之后,

仍能读取。应用在UART通讯也是可以的。


二、调用HalFlashWrite( );和HalFlashRead( );

首先还是要添加头文件#include "hal_flash.h"

在UART实验中,我们在APP文件下,进行如下操作


当数据传过来的时候,我们先对一个页面进行擦除,等到擦除完成后,再将数据写入FLASH。这里需要注意的是有一些页面是不能进行擦除的,这一部分我也没搞明白,而且都和写的地址是不一样的。请参考大神的解答。



将数据写入flash之后我们就可以调用HalFlashRead( );进行读取啦。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读