本文章是在开发一个使用dialog的DA14695芯片的产品中遇到的一些问题,给以后的自己以及看到的各位一些参考.

 

问题一:在工程中添加BLE部分后会导致程序在开始运行以后进入断言(ASSERT_ERROR),断言的原因是FreeRTOS的Stack OverFlow检测,出现Stack OverFlow的任务名叫bleM.


ASSERT_ERROR 错误
出错的任务为bleM

解决过程为:

查找对应的bleM任务的创建代码,发现位于ble_mgr.c文件中的ble_mgr_init函数内.

创建bleM任务的代码

查找对应的定义任务的Stack Size的宏定义为mainBLE_MGR_STACK_SIZE,进一步查找该宏定义的源头也在这个文件的顶部.

mainBLE_MGR_STACK_SIZE 宏定义

最终发现是因为我这边使用了NVMS adapter,但是未定义这个CONFIG_BLE_STORAGE,所以我这边Stack Size不对,才导致的S
tack OverFlow