CC2541、CC2640 SNV Flash 读写

原创 2015年11月04日 11:54:25

1. 在 CC2541 的 OSAL 系统里面,有 SNV 这个功能,就是 Flash 读写功能,main 函数中的  osal_snv_init(); 就是该功能的初始化函数。

int main(void)
{
  /* Initialize hardware */
  HAL_BOARD_INIT();

  // Initialize board I/O
  InitBoard( OB_COLD );

  /* Initialze the HAL driver */
  HalDriverInit();

  /* Initialize NV system */
  osal_snv_init();
  
  /* Initialize LL */

  /* Initialize the operating system */
  osal_init_system();

  /* Enable interrupts */
  HAL_ENABLE_INTERRUPTS();

  // Final board initialization
  InitBoard( OB_READY );

  #if defined ( POWER_SAVING )
    osal_pwrmgr_device( PWRMGR_BATTERY );
  #endif
    
  /* Start OSAL */
  osal_start_system(); // No Return from here

  return 0;
}

我们一般用的就是

osal_snv_write( osalSnvId_t id, osalSnvLen_t len, void *pBuf ) 和

osal_snv_read( osalSnvId_t id, osalSnvLen_t len, void *pBuf ) 函数,

osalSnvId_t id 相当于地址,用户可使用的范围是 0x80 - 0xFE;NV的起始地址是0x7E800,终止地址是0x7F7FF

osalSnvLen_t len 是数据长度;

void *pBuf 是数据内容;

要先写入数据才能读,否则出错。

也可以看一下:

http://e2e.ti.com/support/wireless_connectivity/f/538/p/214637/758111

http://www.elecfans.com/news/wangluo/20140825352199_5.html

写的都很不错。

2. CC2640 也是有 OSAL 的,里面也有一个 osal_snv.h,也有跟 CC2541 一样的功能,只是 osalSnvId_t id 不一样,范围是 0x80 - 0x8F。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【BLE】CC2541之SNV

本文以SimpleBLEPeripheral工程为例,介绍SNV的使用

ble学习笔记十五----------ble协议栈之flash数据存储实验

协议栈flash数据存储实验 Cc2540自带了256k的flash,可以存储数据也可以存储代码 协议栈自带了snv管理代码,读函数osal_snv_read,写函数osal_snv_write 数据...

【BLE-CC2640】CC2640之SNV

本文以SimpleBLEPeripheral工程为例,介绍如何使用SNV

2540--第一天--程序的流程分析(per)

1.协议栈介绍 任务调度—OSAL 操作系统抽象层正如一个公司为了实现扩大产能和产品多样化, 建立了多个办公室和工厂一样,蓝牙为了实现同多个设备相连,或实现多功能,也实现了功能扩充,这就产生了调度问题...

吐槽TI的失败设计—cc2640的oad

说到ble芯片,初学者最希望从ti学起,因为ti的资料最多最开放,尤其是cc2541,,算是一款很成功的ble芯片,至于说到第二代的cc2640,出来也已经有一年半了,我是从量产之前就拿到样片了,所以...
  • gyb510
  • gyb510
  • 2016年04月19日 23:28
  • 3003

CC2640 之外部flash OAD

见到很多在做CC2640 OAD遇到问题,我也是碰到各种问题,最后成功解决了,把经验分享出来,希望对大家有所帮忙。今天主要介绍:利用PC上的软件BLE device monitor加上CC2540 ...

【CC2640】CC2640软件开发从入门到专家的注意点

CC2640和CC2640R2F的软件在内部的ROM和内部Flash怎么存放的? 软件由存放ROM的代码和基于Flash的代码两部分组成,在CC2640上,ROM的部分存放TIRTOS内核和部分的B...

CC254X片上flash读写解析

如果在开发中,希望个别数据掉电不丢失,那么有几种方法可以考虑,一种是通过I2C或者SPI总线外接存储,比如E2PROM或FLASH,如果数据不大,第二种方便的方法就是操作片上flash了,要想操作片上...

CC2640 SNV

转自:http://blog.csdn.net/feilusia/article/details/57374684 一、简介 本文以SimpleBLEPeripheral工程为例,介绍如何使用S...

【二】CC2541 阿莫BLE开发板 与 BTool软件的连接 以及 读写UUID

版权声明: 本文档转载自: 博主:甜甜的大香瓜 CC2541连接BTool教程 一、简介 本篇介绍如何基于Smart RF(主芯片CC2541)、Smart RF(主芯...
  • aniywn
  • aniywn
  • 2017年03月22日 14:04
  • 336
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CC2541、CC2640 SNV Flash 读写
举报原因:
原因补充:

(最多只允许输入30个字)