在CC2640里,osal_snv_write的API函数是基于ICall层来操作的。
因此,需要把flash操作和simplepherial的task绑定。
在上述task初始化时,增加
FlashOperationMessage_RegisterAppCBs(&user_flashOperationMessageCBs);
在变量设初始值时,设定
static flashOperationMessageCBs_t user_flashOperationMessageCBs =
{
user_flashOperationMessageCB
};
static void user_flashOperationMessageCB(const uint8_t action)
{
SimpleBLEPeripheral_enqueueMsg(SBP_FLASH_OPERATION_EVT, Flash_Protection);
}并且把flash的写动作设置成simple任务的一个event来执行。
这样操作的原因是因为,实测直接操作osal_snv_write是无效的。必须通过icall层操作。而icall注册在了simple任务中。
最后
以上就是无语冰淇淋最近收集整理的关于CC2640的Flash操作的全部内容,更多相关CC2640内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复