stm32 ucos/ii移植,程序执行到OSStart()内部的OSStartHighRdy()语句时跑飞问题解决办法之一
网络上的一些解决办法:
但并不适合我遇到的情况。
我的情况是已经能够正确的运行程序切换,然后增加一了个任务,并在任务中实现信号量的请求。同时在原有任务中增加信号量的发布,用来验证信号量功能。
增加信号量请求功能后,程序就不再正常,用调试方式单步运行时,程序总是崩溃在OSStartHighRdy汇编语言处,表现为程序进行了死循环,没有进入pend_sv中断;采用断点方式运行时,程序跑到OSSemPend()的结尾在返回时出现问题。
结合Keil5软件的调试功能报告:显示为总线异常-IMPERISERR,看到网上的资料和CM3核指南,判定为数据类型类问题。