分类:
2009-11-17 23:09:06
uC/OS 的移植测试
原创文章,希望喜欢的朋友给在下宣传一下,涨涨人气
shichaog
1 调试思路
一般相对处理器内存而言操作系统都比较大,为了使原本就比较复杂的问题不更加难于解决,对移植的代码,首先不加任何应用代码,只测试内核自身的运行状况;如果产生问题就可确信为是移植的自身问题而不是应用程序的问题,解决内核代码问题后;剩下的任务就是给内核添加用户任务代码,调试并使之通过测试。而对uC/OS而言主要是验证OSTaskStkInit(),OSStartHighRdy(),OSIntCtxSw(),OSTickISR(),OSCtxSw()这几个函数。
2 确保C编译器、汇编编译器及链接器的正常工作
对于MCS-51处理器而言,我们用比较流行的集C编译器、汇编编译器及链接器于一身的Keil公司产品Keil uVision3 编译器,它是功能强大的集成开发环境(IDE),所以先要确保集成开发环境没有问题,具体可以自己先写一些简单的程序,测试一下,这一步完成之后,就要做一个最小的测试,如图一中的测试程序;
图一:测试程序
Fig1:testing program
因为程序员经常使用keil 编写和调试51系列单片机的应用程序,所以一般keil是不会有问题的。从图一的输出窗口信息可以看出没有错误,但是有14个警告,并且从截图中也可以看出有未调用的代码段,这是因为为了检验系统移植是否正确,注释掉了串口初始化和中断函数及创建任务函数等的缘故;对于单片机序而言,能通过编译并不意味着生成的目标代码就能按照用户期望在单片机上运行,必须注重输出窗口给的提示信息,尤