终于将uC/OS在ADuC845单片机上移植成功,回顾整个移植过程有不少体会.首先要完整了解你所有处理器的资源和寄存器的配置.在对整个硬件资源了解清楚后再根据uC/OS所需要的单片机资源进行分配(其实现在网上大部分的程序都或多或少需要进行修改才能运行在自己的硬件系统中.)在完成这部分后,应该开始了解uC/OS了,在移植过程中,需要处理的文件有:
A.与处理器无关的文件:
OS_CORE.C
OS_FLAG.C
OS_MBOX.C
OS_MEM.C
OS_MUTEX.C
OS_Q.C
OS_SEM.C
OS_TASK.C
OS_TIME.C
uCOS_II.C
uCOS_II.H
这些文件在c51的移植过程中,只需要给函数加上重入属性即可。
B.与应用相关的文件:
INCLUDES.H:包含C51的标准库头文件;对”pdata”等c51关键字的重定义
OS_CFG.H:“OS_TICKS_PER_SEC”。“ OS_FLAGS”注意可能需要修改。
C.与处理器相关的文件:
OS_CPU.H:数据类型。关中断方法。任务堆栈方向。任务切换的宏定义都需要修改。
OS_CPU_A.ASM: OSStartHighRdy().OSCtxSw().OSIntCtxSw()这几个函数的编写,是整个移植的关键。
OS_CPU_C.C:OSTickISR().OSTaskStkInit()函数的编写。
START_AD.ASM:对XDATA寄存器和堆栈等根据实际的系统进行设置。
在完成这些后基本上移植就成功了70%,剩下的就是编写一个简单的任务和232通讯程序来查看系统的运行.
文章评论(0条评论)
登录后参与讨论