FreeRTOS任务卡死在prvTaskExitError

FreeRTOS任务卡死在prvTaskExitError

问题现象是测试FreeRTOS的闪灯任务没有运行

之后在keil 中Debug过程中,发现在Call Stack + Local框中发现程序卡死在prvTaskExitError ,任务没有发生调度

第一个原因是FreeRTOS要求每个任务不允许退出,所以每个任务最起码有一个无限循环,查找每个任务发现有多个任务只是写了函数并没有写死循环,导致函数退出,发生问题

第二个需要注意的是,观察测试效果的程序的优先级问题,发现测试任务的优先级为2,但是另外几个死循环的任务为3,所以测试任务一直没有机会运行,从而测试任务被饿死

在调试过程中发现使用Call Stack + Local的帮助非常大,具体可以参考以下链接[keil调试技巧](KIEL 调试那些事儿之窗口展示——变量(二)_wx5d217eb5a181e的技术博客_51CTO博客)

posted @ 2025-12-11 20:01  Linux驱动开发  阅读(35)  评论(0)    收藏  举报