嵌入式实时操作系统的移植~!

        所谓移植,就是使选用的实时内核能在某个特定的微处理器上运行。为了方便移植,大部分的实时操作系统代码是用C语言编写的,但仍需要用C和汇编语言编写一些与微处理器相关的代码,这是因为有一些操作只能通过汇编语言来实现。由于所有的实时操作系统在设计时就已经充分考虑了可移植性,所以移植相对来说是比较容易的。以UCOSII为例来说明移植的过程。

        要是UCOSII正常运行,为处理器必须满足如下要求:

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

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

      3.微处理器支持中断,并且能产生定时中断(通常为10-100HZ);

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

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

在所选用的微处理器和编译器能够满足所选的实时操作系统后,就可以动手编写移植代码了。

一般移植工作包括以下几个内容:

      1.用#define设置一个常量的值(OS_CPU.H);

      2.声明10个数据类型(OS_CPU.H);

       3.用#define声明3个宏(OS_CPU.H);

        4.用C语言编写6个简单的函数(OS_CPU_C.C);

         5.编写4个汇编语言函数(OS_CPU_A.ASM);

因此相关的编写文件有三个:OS_CPU.H,OS_CPU_C.C和OS_CPU_A.ASM。当使用编译器为ADS1.2时,将ASM改为S。

你可能感兴趣的:(C++,c,C#,OS,嵌入式)