新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 实时操作系统µC/OS-II在ARM7上的移植

实时操作系统µC/OS-II在ARM7上的移植

作者:时间:2012-04-10来源:网络收藏

5 测试代码

在EmbestIDE编译器上编译基于S3C44B0X的;代码。编译结果表明,裁剪后的;的代码占用的空间少,代码通过了编译。为了验证基于S3C44B0X的;的是否成功,本文创建了两个测试任务来验证其合理性。

创建的2个测试任务及源码如下:

OSTaskCreate (TestTransplantA, (void *) 0, TestTransplantAStk[StackSize-1], 2);
OSTaskCreate (TestTransplantB, (void *) 0, TestTransplantBStk[StackSize-1], 3);
void TestTransplantA (void *pdata)
{ pdata=pdata;
while(1) {
uart_printf(TaskA );
OSTimeDly (400);
}
}
Void TestTransplantB (void *pdata) {
pdata=pdata;
while(1) {
uart_printf(TaskB );
OSTimeDly(200);
}
}

多任务调度开始后,通过超级终端接收的UART0的数据为:taskA taskB taskB taskA taskB taskB taskA taskB taskB taskA taskB taskB taskA taskB taskB taskA taskB taskB ……。高优先级的任务TestTransplantA()首先被调度运行,说明OSTaskStkInit()和OSStartHighRdy()函数是正确的。任务TestTransplantA()和任务TestTransplantB()由时钟节拍驱动而周期地被调用,说明OSCtxSw、 OSIntCtxSw()、OSTickISR()也是正确的。通过以上两点可以认为结果是正确的。

6 结束语

在µC/OS-II平台下开发程序,首先要掌握内核。通过上述移植过程,能够对任务堆栈,任务调度有深刻理解。作为一种开放源代码的操作系统,以其优越的性能在嵌入式系统应用领域占据了非常广泛的发展空间。移植结果表明,经过裁剪的µC/OS-II在S3C44B0X上的移植是成功的。

参考文献
[1] S3C44BOX MICROPROCESSOR Datasheet.Samsung Electronics,2001.
[2] 田 泽. 嵌入式系统开发与应用教程[M]. 北京:北京航空航天大学出版社,2005.
[3] 任 哲. 嵌入式操作系统µC/OS-II原理及应用[M]. 北京:北京航空航天大学出版社, 2005.
[4] 张春雷 王东兴. µC/OS-II在C8051F020单片机上的移植[J]. 微计算机信息, 2006, (22): 95-97.
[5] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社, 1999, 106-141.

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭