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

        所谓移植,就是使选用的实时内核能在某个特定的微处理器上运行。为了方便移植,大部分的实时操作系统代码是用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。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值