μC/OS-Ⅱ的移植

 μC/OS-Ⅱ的大部分代码是用ANSIC写成的,在对μC/OS-Ⅱ进行移植到不同处理器平台时,需要解决的主要问题有:数据类型的重定义、堆栈结构的设计和任务切换时的状态保存与恢复。在μC/OS-Ⅱ移植过程中涉及以上三个问题的代码都有包含在文件OS_CPU.H、OS_CPU_C.C、OS_CPU_A.S中。下面以μC /OS-Ⅱ在LPC2104上的移植为例进行探讨,介绍移植过程中的主要步骤和需要修改的部分。

OS_CPU.H
主要包括了数据类型、堆栈单位、堆栈增长方向、关中断和开中断的宏以及进行任务切换的等宏定义。

OS_CPU_C.C
在OS_CPU_C.C文件中需要用C语言编写6个与操作系统相关的函数:
OSTaskStklnit();
OSSTaskCreateHook();
OSTaskDelHook();
OSTaskSwHook();
OSTaskStatHook();
OSTimeTickHook()。
其中OSTaskStkInit()务堆栈初始化函数,后5个函数称为功能扩展函数。

OS_CPU_A.S
这部分需要对处理器的寄存器进行操作,所以必须用汇编语言来编写,在该文件中用ARM指令编写了和3个与处理器相关的函数:
OSStartHighRdy()最高优先级任务调用函数;
OSCtxsw()任务切换函数;
OSIntCtxSw()中断任务切换函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值