Ucos II 的移植之一

来源:互联网 发布:淘宝贝高瞻幼儿园健达 编辑:程序博客网 时间:2024/05/16 18:48

                            Ucos II 的移植之一

 

要使μC/OS-Ⅱ正常运行,处理器必须满足以下要求:

1.  处理器的C编译器能产生可重入代码。

2.       C语言就可以打开和关闭中断。

3.       处理器支持中断,并且能产生定时中断(通常在10100Hz之间)

4.       处理器支持能够容纳一定量数据(可能是几千字节)的硬件堆栈

5.       处理器有将堆栈指针和其它CPU寄存器读出和存储到堆栈或内存中的指令。

百度一下“可重入代码”。可重入代码(Reentry code)也叫纯代码(Pure code)是一种允许多个进程同时访问的代码。

Ucos II 是一个可抢占式内核,有这样的要求也是可以理解的。要不这个任务调用了这段代码,它是完整的,等到下一个任务调用它的时候,它就变成残缺的了,下一任务还怎么办?写到这里,不禁想起了少女的第一次.

看上面的要求蛮多的,其实实际应用中是很少有不兼容UCos II 的微处理器的。所以大家可以放心地,大胆地,使劲地,尽情地,淫荡地使用UCos II.

 

总得来说,移植ucos II 到一个芯片上,只需要修改下面三个文件:OS_CPU.HOS_CPU_C.COS_CPU_A.ASM

   具体来说,移植主要包括以下几项内容

   (1).OS_CPU.H :用#define设置一些常量的值,声明10个数据类型,用#define声明三个宏。

   (2).OS_CPU_C.C : C语言编写六个简单的函数。

   (3).OS_CPU_A.ASM : 编写四个汇编语言函数。

乍看起来,移植ucos II的工作量及难度都非常小。但对一个初学者来说,这也不是件轻松的事。它要求对微处理器,汇编和UCoS II 都非常熟悉。

   Mcu21同学的项目里,Mcu21同学极好地发扬了拿来主义精神,直接参照了周立功提供的模板。