微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 实时操作系统μC/OS-II在AT89S52上的移植

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

时间:10-08 来源:互联网 点击:

OSTIcKISR()μC/OS-Ⅱ中的时钟节拍中断服务程序。μC/OS-Ⅱ需要用户提供周期性信号源,用于实现时间延时和确认超时。μC/OS-Ⅱ中的时钟节拍服务是通过在中断服务子程序OSTIcklSR()中调用OSTimeTick()来实现的。OSTIcklSR()的程序清单如下:

OSCtxSw()用在任务级的切换场合。当需要从低优先级的任务切换到高优先级的任务时或当前任务自动放弃CPU时,先保存处理器的内容到当前任务的任务堆栈。再调用钩子函数OSTaskSwHook。然后从要开始任务的任务堆栈里恢复所有寄存器和PC的值,最后执行中断返回指令开始运行新的任务。

OSIntCtxSw()用于中断级的任务切换。在μC/OS-Ⅱ中,中断发生后,有时会激活优先级比被中断的任务更高的任务,此时就需要任务切换,将调用OSIntCtxSw()。OSIntCtxSw()是在OSIntExit()中被调用的。

4 结 语

在移植过程中有几个地方必须注意:由于AT89852单片机的程序存储器和数据存储器容量有限,所以必须扩展片外ROM和RAM,必须把系统和用户程序对ROM和RAM的需求量都考虑在内,并留有一定的余量。为了更好地利用系统功能,还必须对OS CFG.H中的常量进行相关的设置。随着嵌入式技术的不断发展,相信μC/OS-Ⅱ将有更加广泛的应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top