↳ FreeRTOS 任务卡死怎么排查?
推荐从系统层面定位:1. 开`configUSE_IDLE_HOOK`,在空闲钩子里翻转一个GPIO,用示波器看心跳,如果还跳说明系统没死,是某个任务忙等。2. 用`xTaskGetCurrentTaskHandle()`配合调试器观察当前TCB的`pcTaskName`,直接看到卡在哪。3. 查内存碎片:频繁创建删除任务会导致堆耗尽,任务创建失败但未处理,表现为“卡死”。4. 查中断里是否调用了`portYIELD_FROM_ISR`导致调度异常,确保ISR返回前切换没问题。
2026-08-14