微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2640中的FLASH可以用来保存配置信息吗

CC2640中的FLASH可以用来保存配置信息吗

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

各位好,

         我又来问问题了。

        用于项目需要,需要保存一些配置参数,我看到文档中提到了CCA区,但是我的参数并不是CCFG中的参数,

         Q1:请问:有没有一块FLASH区域用于保存我的参数呢?

         Q2:关于CCFG的参数,我看到了ccfg.c,有没有相关的说明性的文档。

Frank Mei ,

Q1. 有的。但不是CCFG, 是SNV。在你的SDK安装目录下面,docs目录下找到 SWRU393_CC2640_BLE_Software_Developer's_Guide.pdf,里面的“3.10.3 Using Simple NV for Flash Storage”就是你要的。

Q2. 在TRM文档第9.1章:http://www.ti.com/lit/ug/swcu117f/swcu117f.pdf   “9.1 Customer Configuration (CCFG)  ”

Hi  Y,

谢谢你,你的指点很关键。可以使用了。

顺便问一句,只给用户留下16Byte的空间么?

ccfg映射到flash最后的几十字节。

Frank Mei,

总共最大有2个page,8KB的flash用来存放数据,能用的是4KB,另外4KB是用来做flash swap的。刨去bonding manager之类要用掉的大概521B,你能存放数据的空间就是4KB-512B。

用4K还是8K你可以自己配置,你可以看一下 development guide里面的 3.10.3 Using Simple NV for Flash Storage。

Hi Y,

您好!文档我看到了。我的疑问是这样的:

程序中对FLASH的读写是基于NV ID,目前 custom‘s NV IDs定义了16个(0x80~0x8F),

每个NV ID 可读写的空间是多少?难道是 (4K-512B)/16 吗?

Frank Mei,

不是的。这个有点抽象了。

ID只是ID,并没有一定和某个flash的地址绑定在一起。每个ID对应的flash长度可以是不一样的。当然,NV的起始地址是定好的,这个osal_snv_的函数都已经给你做好了,调用osal_snv_的函数是不会去其他flash地址操作的。你可以认为每一个ID的开始的flash空间,会写一个header(NV item header),这个header里面就保存着一些信息,包括ID和这个ID后面对应的长度。

你只要记住用法就行。

Hi Y,

谢谢你的解答啦!我明白了,记住用法就好了。

Hi   Y:    

在SimpleBLEMulti工程中看到OSAL_SNV=0,被禁用了,我想在该工程中存入很少的数据有什么办法吗?

xiaxiaofei,

很不幸,目前的芯片版本可能做不到,multi role需要较大flash,所以只能牺牲SNV。

请问,除了使用Flash中的SNV,不能自己定义一个或者几个Flash Page来存储用户数据吗?

上一篇:cc2564 BT4.1的问题
下一篇:CC2650外部时钟

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

网站地图

Top