第7章 实时操作系统uCOS-Ⅱ
- 格式:ppt
- 大小:1.93 MB
- 文档页数:148


实时操作系统uC/OS一Ⅱ在ARM上的移植—软件仿真实时操作系统uC/OS一Ⅱ在ARM上的移植—软件仿真摘要:介绍了实时操作系统uC/OS—II的特点,讨论了其在LPC2106上移植的可能性,成功通过软件仿真地将uC/OS—II移植到LPC2106上,并通过例程验证了移植代码的正确性。
注:本文是引用期刊“实时操作系统uC/OS—II在ARM上的移植,作者:王晓鸣、王树新、张宏伟”结合了网上的程序实现了对系统移植的软件仿真。
0:引言目前嵌入式系统在家电、移动电话、PDA等各种领域的应用日益广泛,程序设计也越来越复杂,这就需要采用一个通用的嵌入式操作系统来对其进行管理和控制。
移植了操作系统的嵌入式系统开发,可大大减轻程序员的负担,操作系统提供了多任务的管理功能,只需专注于每个任务的管理。
对于不同的应用,可以按照相同的步骤完成系统设计。
如果更换硬件平台,则只需要对操作系统进行少量的移植工作,与硬件无关的应用代码完全无需修改,同时,可增强代码的可读性、可维护性和可扩展性。
uC/OS—II是一个可裁减的、源代码开放的、结构小巧、可剥夺型的实时多任务内核,它提供任务调度、任务间的通信与同步、任务管理、时间管理和内存管理等基本功能。
将uC/OS—II移植到嵌入式处理器上,对于提高产品质量、缩短开发周期和降低成本等方面有着重要的意义。
本文主要介绍uC/OS—II 在飞利浦的一款AR M7TDMI的嵌入式处理器LPC2106应用。
1 嵌入式操作系统uC/OS—II1.1 uC/OS—II简介uC/OS—II是一种性能优良源码公开且被广泛应用的免费嵌入式操作系统,它结构小巧、具有基于优先级的抢占式实时多任务内核,绝大部分代码是用ANSI C语言编写的,与硬件相关部分用汇编语言编写,使之可供不同构架的微处理器使用。
只要有标准的ANSI C交叉编译器,有汇编器、链接器等软件工具,就可以将uC/OS—II嵌入到开发的产品中。
uC/OS-II北京邮电大学计算机学院 邝 坚 2011年10月教材及参考文献《嵌入式实时操作系统 uC/OS-II(第2 版)》,Jean brosse, 邵贝贝, 北航出版 社, 2003年1月uC/OS-II的主要特点实时性可确定:绝大多数系统服务的执行时间具有可确定 性,不依赖于用户应用程序Task数目的多少。
多任务、独立栈:最多64个Task,基于优先级抢占调度方 式。
每个Task有自身独立的堆栈。
可裁减性:系统最小可裁减到几K到十几K,这种裁减还可 以做到基于函数级。
可移植性:与CPU体系结构相关部分用汇编编写,其他功 能组件CPU无关。
可靠、稳定性:由整个系统设计来保证,市场验证。
美国 联邦航空管理局(FAA)认证。
开源代码:内核约5500行C代码。
可固化:面向嵌入式应用。
系统功能实时内核 任务管理 时间管理 信号量、互斥信号量管理 事件标志组管理 消息邮箱管理 消息队列管理 内存管理 …Targets x86 68k PPC CPU32 i960 SPARC ARM MIPS XScale …Typical development configurationEthernetRS-232Development HostTargetTypical scenario:1. Boot target. 4. Download object module. 2. Attach target server. 5. Test & Debug. 3. Edit & compile. 6. Return to 3 or 1 as necessaryMulti-TaskingTask是代码运行的一个映像,从系统的角 度看,Task是竞争系统资源的最小运行单 元。
Task可以使用或者等待CPU、I/O设备 及内存空间等系统资源,并独立于其它的 Task,与它们一起并发运行。
Task OperationPriority-base preemptive scheduling(基 于优先级的抢占式调度)Task调度器上锁和开锁给调度器上锁函数OSSchedlock() 用于临 时禁止任务调度,直到任务完成后调用给 调度器开锁函数OSSchedUnlock()为止。