赞
踩
上篇写到uCOSIII的移植,由于移植的是教程写好的文件到开发板,没发现到一些问题。今天移植到另一个开发板的时候出现系统卡死在OSStartHighRdy()函数的问题。现在就再次分析一下移植过程。
我们将RCT6开发板上的uCOSIII移植到C8T6的板子上时,会发现系统一直没有启动,LED没用闪烁。通过单步调试,我们可以发现系统卡在OSStartHighRdy()函数里。
通过分析,猜测是SysTick_Handler没有启动,导致任务优先级切换失败。
通过查阅资料,发现移植uCOSIII过程中,我们需要将启动文件的函数名修改,以关联uCOS内核文件的函数,这是关键。
然后,我们把对应的启动文件搜索PendSV_Handler和SysTick_Handler,并将它们对应修改为OS_CPU_PendSVHandler和OS_CPU_SysTickHandler即可。
到这里,就完成了启动文件和内核文件的函数关联。
这就解决了系统卡死在OSStartHighRdy()函数的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。