实验?/p>
UC-OS
移植实验
一、实验目?/p>
在内核移植了
uCOS-II
的处理器上创建任务?/p>
二、实验内?/p>
1
.运行实验十,在超级终端上观察四个任务的切换?/p>
2.
任务
1~3
?/p>
每个控制
“红?/p>
?/p>
?/p>
绿?/p>
?/p>
?/p>
蓝?/p>
一种颜色的显示?/p>
适当增加
OSTimeDly()
的时间,且优先级高的任务延时时间加长,以便看清三种颜色?/p>
3.
引入一个全局变量
BOOLEAN ac_key
,解决完整刷屏问题?/p>
#define RdURXH0
()
当键盘有输入时在超级终端上显示相应的字符?/p>
三、实验设?/p>
硬件?/p>
ARM
嵌入式开发平台?/p>
用于
ARM920T
?/p>
JTAG
仿真器?/p>
PC
?/p>
Pentium100
以上?/p>
软件?/p>
PC
机操作系?/p>
Win2000
?/p>
WinXP
?/p>
ARM ADS1.2
集成开发环境、仿真器
驱动程序、超级终端通讯程序?/p>
四、实验原?/p>
所谓移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行?/p>
虽然
uCOS-II
的大部分源代码是?/p>
C
语言写成的,仍需要用
C
语言和汇编语言
完成一些与处理器相关的代码?/p>
比如
:uCOS-II
在读写处理器?/p>
寄存器时只能通过
汇编语言来实现?/p>
因为
uCOS-II
在设计的时候就己经充分考虑了可移植性,
所以,
uCOS-II
的移植还是比较容易的?/p>
要使
uCOS
一工工可以正常工作,处理器必须满足以下要求
:
1
)处理器?/p>
C
编译器能产生可重入代码?/p>
2
)在程序中可以打开或者关闭中断?/p>
3
)处理器支持中断,并
A
能产生定时中?/p>
(
通常?/p>
10Hz}1000Hz
之间
)
?/p>
4
)处理器支持能够容纳一定量数据的硬件堆栈?/p>
5
?/p>
处理器有将堆栈指针和其它
CPU
寄存器存储和读出到堆?/p>
(
或者内?/p>
)
的指
令?/p>