首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

MC9S08移植uUOSII内核困扰

MC9S08移植uUOSII内核困扰

大家好,MC9S08好像没用太多移植好了的uUOSII内核,这两天一直在用HC08的内核修改,但发现好难,不知道现在有没用移植好了的MC9S08内核可供使用,另外:我采用的是一款新的MCU(MC9S08FL16).

很好移植的啊!

呵呵,已经成功移植了。原来是我所使用的CodeWarrior6.1和以前的板本不一样。

现象描述如下:

移植的时候,在OSStartHighRdy函数中得到的最高优先级指针OSTCBHighRdy始终错误,查找原因后发现在OSPrioHighRdy = OSFindHighPrio();这条指令中,OSFindHighPrio()的返回值放在A寄存器中,可OSPrioHighRdy 却从X中取值,一直郁闷不知道原因,甚至怀疑CodeWarrior6.1有Bug。

后来发现在编译时,CodeWarrior6有一些告警与函数OSFindHighPrio()有关,具体告警是:OSFindHighPrio()没用声明。后来在OS_HEAD.H中将所有没用声明的函数全部声明,调试后就OK了。

从此,得出一个结论:一是要仔细,二是对编译器的告警信号也不能掉以轻心,虽然没用报错,可以正常编译,但这些告警信号或许是对一些困扰的提示。

返回列表