uCOSIII移植补充

前言

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

实验分析

(一)现象分析

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

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

(二)源码分析

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

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

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

结果验证

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

总结

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

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值