很好移植的啊!
呵呵,已经成功移植了。原来是我所使用的CodeWarrior6.1和以前的板本不一样。
现象描述如下:
移植的时候,在OSStartHighRdy函数中得到的最高优先级指针OSTCBHighRdy始终错误,查找原因后发现在OSPrioHighRdy = OSFindHighPrio();这条指令中,OSFindHighPrio()的返回值放在A寄存器中,可OSPrioHighRdy 却从X中取值,一直郁闷不知道原因,甚至怀疑CodeWarrior6.1有Bug。
后来发现在编译时,CodeWarrior6有一些告警与函数OSFindHighPrio()有关,具体告警是:OSFindHighPrio()没用声明。后来在OS_HEAD.H中将所有没用声明的函数全部声明,调试后就OK了。
从此,得出一个结论:一是要仔细,二是对编译器的告警信号也不能掉以轻心,虽然没用报错,可以正常编译,但这些告警信号或许是对一些困扰的提示。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |