TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 SNV写入造成程序丢失

TI技术大神,请教一下,我用SNV写入数据,是否会造成程序部分丢失?要如何处理SNV写入数据?是否有相关例程?

我发现启动了SNV导致要重新烧录程序后芯片才正常工作。谢谢!

da qin zheng sheng:

操作flash首先需要保证电源电压可靠的。

user4032685:

回复 da qin zheng sheng:

电源是稳定的,外接电源,并用用LDO转3.3V供电。看到论坛上也有其它帖子说存在这个问题,但是都没有最终的结论,到底问题出在哪里。就是是个例的异常还是1.4.2中协议栈中的漏洞?

YiKai Chen:

回复 user4032685:

請說明一下你是怎樣使用CC2541SNV写入?

user4032685:

回复 YiKai Chen:

char sBuf[6] = {0};
//gValidValue是在改变的数值,改变的频率不高,平均一天改变几次。
sBuf[0] = gValidValue;
sBuf[1] = (gValidValue>>8);
sBuf[2] = (gValidValue>>16);
sBuf[3] = (gValidValue>>24);
osal_snv_write(BLE_NVID_CUST_START,4,sBuf);
//直接调用osal_snv_write写入

YiKai Chen:

回复 user4032685:

試試osal_snv_write写入前作個電壓偵測,要是電壓低於2.3V建議不要作写入

user4032685:

回复 YiKai Chen:

OK,我试一下,这个发生的概率太低了,很难复现。只要协议栈没有问题就好。谢谢!

Viki Shi:

正确操作的话不会丢好似数据的,你出现数据丢失的情况的吗?
可以参考OSAL API中的11. Simple Non-Volatile Memory API一节

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 SNV写入造成程序丢失
分享到: 更多 (0)