TI中文支持网
TI专业的中文技术问题咨询交流网站

CC2652R: 如何查看任务运行情况?

Part Number:CC2652ROther Parts Discussed in Thread:CC1352P

TI达人:

        我在project_zero任务重中增加一个新任务Sensors_taskFxn,中间屏蔽掉了所有传感器的service,使用一个软定时来运行 profile_readSensor(),内容是ADCBuf_convert转换,发现运行10分钟后Sensors_taskFxn该任务运行异常,但是问题在哪里无从下手!使用LOG 查看运行到这个函数Util_enqueueMsg(Queue_Handle msgQueue,Event_Handle event,uint8_t *pMsg)后面就卡死,消息队列和事件发布是否成功就不知了!但是ProjectZero_taskFxn任务运行一直正常。后面直接在profile_readSensor()打印一条LOG还是卡住。

     ProjectZero_taskFxn 任务优先级为2 ,Sensors_taskFxn任务优先级为1,两个任务的消息队列事件 PZ_READ_RPA_EVT和SC_DEFERRED_EVT已经修改不存在冲突,这两个任务的阻塞 事件都使用的是 Event_Id_30,这里也是参考 multi_sensor这个例程。                

    events = Event_pend(syncEvent, Event_Id_NONE, SC_ALL_EVENTS, ICALL_TIMEOUT_FOREVER);      #define SC_ALL_EVENTS  Event_Id_30

     期待你们的回复!谢谢!

Kevin Qiu1:

任务运行分析参考里面提到的ROV和Execution graph:https://dev.ti.com/tirex/content/simplelink_academy_cc13xx_cc26xxsdk_6_10_01_00/modules/rtos/tirtos_basics/tirtos_basics.html

,

user4849938:

谢谢!如果任务运行过程中出现发生内存分配错误,运行 Sensors_enqueueMsg(SC_DEFERRED_EVT, pData)返回bleMemAllocError,这该如何处理,一点思路都没有?这个和我们自己做的板子有关系吗?

,

Kevin Qiu1:

bleMemAllocError是内存没有及时释放引起的错误

上面的ROV调试测试了吗,它会显示具体的内存使用情况

例程中pData 在 ProjectZero_processApplicationMessage(pzMsg_t *pMsg) 结束时被释放

,

user4849938:

非常感谢!我已经将所有的任务TASK_STACK_SIZE翻倍,project_zero_app.cfg中 Program.stack = 2048; Task.idleTaskStackSize = 1600;  截图显示只占40%,问题依旧。后面移植到官方CC1352P的开发板上,也是出现这个问题,我打算放弃Sensors_taskFxn这个任务了,直接在project_zero任务中调度。

,

Kevin Qiu1:

好的,一般如果不直接和stack通信,则不需要新创建Util_enqueueMsg队列任务

赞(0)
未经允许不得转载:TI中文支持网 » CC2652R: 如何查看任务运行情况?
分享到: 更多 (0)

© 2022 TI中文支持网   网站地图 鲁ICP备2022002796号-1