u COS-II 移值过程实例讲解 我将u COS-II 移植到了EPONS 的C33209 的平台上,接下来我就基于我移植好的代码讲解如何将u COS-II 从一种MCU 移植到另一种MCU
首先介绍u COS-II 的文件,如下表: u cos_ii
h os_cfg
h os_cpu
h os_core
c os_dbg_r
c os_flag
c os_mbox
c os_mem
c os_mu tex
c os_q
c os_sem
c os_task
c os_time
c u cos_ii
c os_cpu _c
c os_cpu _a
asm 其中我们和硬件平台相关的文件的文件名被加粗了,也就是说若要将u COS-II移植到新的平台上只要关心以上四个文件就行了
当然你也可以根据需要再添加你自己的和平台相关的文件,事实上我也是这么做的
在我移植的例子中就添加了四个和平台相关的文件,文件如下表: crt0
c drv _rtc
c v ector
c ex t
s crt0
c 是用来初始化系统的比如说MCU 的一些特殊寄存器、设置外围的总线接口,等
drv _rtc
c 是用来初始化系统中的一个RTC 的,这个RTC 可以为内核提供必要的基于时间片调度的时基
同时提供了对RTC 开始和停止的操作函数
在我的例子中RTC 会每秒产生 32 次中断
v ector
c 顾名思义,它是系统上电后为系统提供矢量入口表的文件,当然也包括中断向量表
s 是为 u c/OS-II提供 OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()函数的具体实现以及在用户程序的中断函数出入时要调用的状态保护和状态恢复函数 OS_SAVEALL ()和OS_RESTOREALL ()
前面两个函数的功能是:OS_ENTER_CRITICAL()屏