新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式实时操作系统μC/OS-Ⅱ的移植实例

嵌入式实时操作系统μC/OS-Ⅱ的移植实例

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

3.3.2 OSCtxSw()函数
此函数用以实现任务级的切换,实现由低优先级任务向高优先级任务切换。此函数被任务调度函数OS_Sched()调用,实现任务切换,其代码如下:
i.JPG
3.3.3 OSIntCtxSw()函数
该函数的作用是在时钟中断服务例程中发现有高优先级任务等待的时钟信号到来时,则在中断退出后并不返回被中断任务,而是直接调度就绪的高优先级任务执行,这样做能够尽快地让高优先级的任务得到响应,保证系统的性能。
OSIntCtxSw()函数中大部分代码同OSCtxSw()函数是一样的,区别只是,需要保存中断模式下的堆栈,在切换到用户模式下运行新任务。
3.3.4 OSTickISR()函数
OSTickISR()是μC/Ⅱ的时钟节拍函数,主要实现任务的切换,其代码如下:
j.JPG
k.JPG

4 测试代码
上述的工作是最基本的内容,除此之外,还要加上硬件初始化和相应的配置文件。
为了验证μC/成功,需要测试移植代码。首先不加任何应用代码来测试移植好的μC/Ⅱ,也就是说先测试内核自身的运行情况是否良好。
内核运行良好时,通过以下4个步骤测试移植代码的运行:
(1)确保C编译器、汇编编译器和连接器的正常工作;
(2)验证OSTaskStkInit()和OSStartHighRdy()函数的正确运行;
(3)验证OSCtxSw()函数;
(4)验证OSIntCtxSw()和OSTickIsr()函数的正确运行。
若全部能够正常运行,那就是移植的μC/OS-Ⅱ已经能够正常的工作了,可以添加应用任务了。

5 结语
μC/OS-Ⅱ的使用使得程序的可读性、可靠性、可扩展性有很大的改善。本文从实际出发,给出源代码开放μC/OS-Ⅱ在微处理器LH79520上的移植方案,移植后的顺利经过测试,运行稳定,并达到了实时系统的要求。

本文引用地址:http://www.eepw.com.cn/article/149287.htm
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭