8.1移植规划
8.1.1编译器的选择
(1)最好使用ADS编译器
8.1.2ARM7工作模式的选择
(1)ARM7处理器内核有用户,系统,管理,中止,未定义,中断,快中断7中模式。其中管理,中止,未定义,中断,快中断与异常相关。
8.2移植
8.2.1文件OS_CPU.H的编写
(1)不依赖于编译的数据类型
(2)利用软中断实现底层接口:为了调用uc/os-2接口不受限制。
(3)OS_STK_GROWTH 1。
8.2.2文件OS_CPU_C.C的编写
(1)任务堆栈的初始化函数:OSTaskStkInit()
(2)OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
(3)处理器模式转换函数ChangeToSYSMode()和ChangeToUSRMode()
(4)设置任务的初始化指令集函数TaskIsARM()和askIsTHUMB()
(5)软件中断服务程序的C语言部分
(6)OSStartHighRdy()
(7)钩子函数
8.2.3文件OS_CPU_A.H
(1)软件中断服务程序的汇编语言部分
(2)OS_TASK_SW() 和 OSInitCtxSw()
(3)启动最高优先级就绪任务函数OSStartHighRdy()
8.2.4关于中断及时钟节拍
8.3移植uc/os-2到LPC2000
8.3.1挂接SWI软件中断
8.3.2中断及时钟节拍中断
(1)增加汇编语言的接口
(2)初始化向量中断控制器
8.3.3基于uc/os-2和ARM的应用实例