“Thread: SysBIOS”中讨论的其它部件
我们的CC2640 BLE应用程序已经启动并运行了一段时间,我们已经准备好发货,但我们偶尔会遇到东西冻结的情况,唯一的等待是通过拉动电池循环供电。 我们的(外围设备)应用程序通过BLE持续传输简单消息,速度约为40 /秒,并且可以保持较长一段时间,然后才能受到冻结的影响。
我花了很多时间使用CCS调试器,当我们挂起所有任务时,包括iCall,显示为已阻止,因此我想知道BLE堆栈是否由于某些不幸的原因而被阻止。 CCS没有给我很好的堆栈跟踪,因此我看不到BLE堆栈可能在等待的位置。 我尝试跟随帧指针,它导致了一个包含所有"20 20 20 ..."说明的RAM区域,这对我来说毫无意义。
我还研究了堆栈大小,BIOS扫描错误,堆内存,Hwi等,没有任何东西会对我造成问题。 我尝试禁用节能功能,添加了各种断言以检查我们是否错误调用BLE堆栈,添加了错误检查等,但没有什么绝对麻烦。 查看BIOS "Scan for errors...(扫描错误...)",我收到一些消息"Error fetching Hwi stack info!(获取Hwi堆栈信息时出错!)",但当事情正常运行时,也会出现相同的消息。
我尝试设置BIOS.assertsEnabled,Task.initStackFlag和Task.checkStackFlag,但无法执行,因为RTOS正在PROM中运行。
我开始没有想法了。 是否有人对解决此问题有任何建议? 谢谢!