微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > CC2541的Flash读写功能

CC2541的Flash读写功能

时间:10-02 整理:3721RD 点击:

CC2541的Flash读写功能


在 CC2541 的 OSAL 系统里面,有 SNV 这个功能,就是 Flash 读写功能,main 函数中的  osal_snv_init(); 就是该功能的初始化函数。
[html] view plain copy 在CODE上查看代码片派生到我的代码片
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;
osalSnvLen_t len 是数据长度;
void *pBuf 是数据内容;
要先写入数据才能读,否则出错。
也可以看一下:
http://e2e.ti.com/support/wirele ... 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。

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

网站地图

Top