当前位置:   article > 正文

uCOSIII移植补充_osstarthighrdy卡住

osstarthighrdy卡住

前言

上篇写到uCOSIII的移植,由于移植的是教程写好的文件到开发板,没发现到一些问题。今天移植到另一个开发板的时候出现系统卡死在OSStartHighRdy()函数的问题。现在就再次分析一下移植过程。

实验分析

(一)现象分析

我们将RCT6开发板上的uCOSIII移植到C8T6的板子上时,会发现系统一直没有启动,LED没用闪烁。通过单步调试,我们可以发现系统卡在OSStartHighRdy()函数里。

通过分析,猜测是SysTick_Handler没有启动,导致任务优先级切换失败。

(二)源码分析

通过查阅资料,发现移植uCOSIII过程中,我们需要将启动文件的函数名修改,以关联uCOS内核文件的函数,这是关键。

然后,我们把对应的启动文件搜索PendSV_Handler和SysTick_Handler,并将它们对应修改为OS_CPU_PendSVHandler和OS_CPU_SysTickHandler即可。

到这里,就完成了启动文件和内核文件的函数关联。

结果验证

  • 修改完后下载验证,LED正常闪烁。

总结

这就解决了系统卡死在OSStartHighRdy()函数的问题。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/406312
推荐阅读
相关标签
  

闽ICP备14008679号