触发任务调度异常xPortPendSVHandler
后r14(LR)不为0xfffffffd
- 这种情况出现在直接在PendSV_Handler里面调用
xPortPendSVHandler
。当PendSVC触发时,PendSV_Handler
调用xPortPendSVHandler
,此时LR寄存器所指向即为PendSV_Handler
(出现这种情况后LR寄存器为上一个调用这个函数的值)只需要将中断的C文件中原来的PendSV_Handler
删除并重新定义宏即可(原因未知)1
2
3
4
5// void PendSV_Handler(void)
// {
// xPortPendSVHandler();
// } - 或者直接修改中断向量表所指向的Handler为FreeRTOS的即可
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Jamie793’ S Blog!
评论