基于Cortex-M3处理器的uC/OS-II移植方法的研究
2012-08-15王宜结
淮南师范学院学报 2012年5期
王宜结
(淮南师范学院 电气信息工程学院,安徽 淮南 232038)
1 引言
随着应用系统复杂程度的不断提高,程序编制也变得越来越难控制。解决复杂问题的最好办法就把它分解成一个个相对简单的问题,即一个个单独的任务,分而治之。UC/OS-II是一个实时多任务操作系统,因其短小精悍又源代码开放,在一些小型系统中得到了较广泛的应用。在MCU上加载uC/OS-II操作系统,再对每个问题编写相应的任务代码,就可以实现复杂的控制和应用。
2 UC/OS-II简介
uC/OS-II是基于优先级的抢占式实时多任务操作系统,最多可管理64个任务,可固化,可剪裁,具体高稳定性和可靠性。它包含了实时内核、任务管理 、时间管理、任务间通信同步(信号量 ,邮箱,消息队列)和内存管理等功能。绝大部分代码用C语言写成,与硬件相关部分用汇编语言编写,最鲜明的特点是源代码是公开免费的,便于移植和维护。uC/OS-II是面向中小型嵌入式系统的,包含全部功能模块的内核大约为10KB,如果经过裁减只保留核心代码,则可压缩到3KB左右。RAM的占用量与系统中的任务数及堆栈空间大小有关,堆栈的大小取决于任务的局部变量、缓冲区大小及可能的中断嵌套层数。应用程序的时间精度由系统时钟节拍决定,uC/OS-II需要用户提供周期性的时钟信号源,用于实现时间延时和确认超时,一般时钟节拍在10到100Hz之间,因为uC/OS-II在每一个节拍都要检查有没有更高优先级的就绪任务在等待执行 ,若有 ,就要进行任务切换。所以时钟节拍率越高,系统的额外负荷就越重。……
登录APP查看全文
