新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > μC/OS-II在51单片机上的移植

μC/OS-II在51单片机上的移植

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

摘要:针对在51实时操作系统μC/的目的,以μC/工作原理为基础,结合51机堆栈空间少的情况,采用改变堆栈指针到不同任务寄存器组的方法,通过改变堆栈指针的实验,得出在堆栈空间较少的情况下,也能够实现μC/在51的运行的结论。
关键词:μC/OS;单片机;实时操作系统;堆栈

μC/OS-II是一种公开源代码、结构小巧、具有可剥夺实时内核的嵌入式开发系统,代码简短、条理清晰、实时性及安全性能很高,绝大部分代码用C编写,现已被到多种处理器的构架中。随着51单片机片内资源的日益丰富,在51单片μC/OS-II已成为可能,植入系统后,由系统来管理软件与硬件资源,简化应用程序的设计,并且使应用系统功能更加完善。因此在51单片机上移植μC/OS-II具有十分重要的意义。

1 μC/OS实时操作系统概述
μC/OS-II实时操作系统是一种可移植、可固化、可裁剪即可剥夺型的多任务实时内核,适用于各种微处理器和微控制器。μC/OS-II主要包括任务调度、时间管理、内存管理、事件管理(信号量、邮箱、消息队列)4大部分。它的移植与4个文件相关:汇编文件(OS_CPU_A.A SM)、处理器相关C文件(OS_CPU.H、OS_CPU_C.C)和配置文件(OS_CFG.H)。有64个优先级,系统占用8个,用户可创建56任务,不支持时间片轮转。
它的基本思路就是“近似地每时每刻总是让优先级最高的就绪任务处于运行状态”。为了保证这一点,它在调用系统函数、中断结束、定时中断结束时总是执行调度算法。原作者通过事先计算好数据,简化了运算量,通过精心设计就绪表结构,使得延时可预知。任务的切换是通过模拟一次中断实现的。

2 任务调度的实现原理
任务调度是μC/OS-II的重要部分,和具体的微处理器关系紧密。必须移植的5个函数有4个都和任务有关。任务调度就是保存当前任务的寄存器和PC指针(即当前任务的断点),然后把将要执行的任务的寄存器值返回给寄存器并把PC指向将要执行任务的断点。这些的实现要借助于堆栈和中断,为了简便起见,先看函数调用时堆栈的使用情况。在函数调用时,堆栈的一个重要功能就是保存被调函数的断点地址。若有4个函数,Fun1调用Fun2,Fun2调用Fun3,Fun3调用Fun4,Fun4为叶子程序(无子程序调用)。
a.JPG


上一页 1 2 3 下一页

关键词: 移植 机上 单片 OS-II

评论


相关推荐

技术专区

关闭