Round-Robin和优先抢占式Preemptive三种
不同的 RTOS 可能支持其中的一种或几种,其中优先抢占式对实时性的支持最好。
2任务切换 RTOS 管理
下的系统 CPU 和系统资源的时间是同时分配给不同任务的,这样看起来就象许多任务在同时执行,但实际上每个时刻只有一个任务在执行,也就是
当前任务。
任务的切换有两种原因。
当
一个任务正常地结束操作时,它就把 CPU控制权交给 RTOS,RTOS 则检查任务队列中的
所有任务,
判断下面那个任务的优先级
最高,
需要先执行。
另一种情况是在一个任务执行时,一个优先级更高的任务
发生了中断,这时 RTOS 就将当前任务的上下文保存起来,切换到中断任务。
RTOS经常性地
整理任务队列,删除结束的任务,增加新的要执行任务,并将其按照优先级从大到小的顺序排列起来,这样可以
合理地在各个任务
之间分配系统资源。
3消息和邮箱 消息Message和邮箱Mailbox是 RTOS 中任务之间数据传递的载体和渠道,一个任务
可以有多个邮箱。
通过邮箱,各个任务之间可以异步地传递信息,
没有占 4 μC/OS-II 系统剪裁移植与应用用 CPU 时间的
查询和等待。
当 RTOS 包含片上
总线接口驱动功能时,各个单片机之间的通信也通过邮箱的方式来进行,
用户并不需要了解更深的
关于硬件的
内容。
4旗语 旗语Semaphore相当于
一种标志Flag,通过预置一个
事件的发生可以
改变旗语。
一个任务可以通过监测旗语的
变化来决定其行动,在
监测旗语变
化的时候不消耗 CPU 时间,旗语对任务的触发是由 RTOS 来完成的。
通过使用旗语,一个任务在等待事件变化的时候就可以不必不断查询,而把 CPU 时间出让给其它任务。
5
存储区分配 RTOS 对系统存储区进行统一分配,分配的方式可以是动态的或静态的,每个任务在需要存储区时都要向 RTOS 内核申请。
RTOS 通过使用存储分配类核心
对象管理数据存储器,在
动态分配时能够防止存储区的零碎化。
6中断和资源管理 RTOS 提供了一种通用的设计用于中断管理,
有效率而灵活,这样可以实现最小的中断潜伏时间和最大的中断响应度。
RTOS 内核中的资源对象类则实现了对系统
实体资源或虚拟资源的独占式访问,一个任务可以取得对资源的唯一
访问权,其它任务在资源释放以前无法访问,这样可以避免资源
冲突。
设计
完善的 RTOS 具有
检查可能导致系统死锁的资源调用
设计1.2 嵌入式系统的发展
前景 信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场
展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统
的几大发展趋势: 1.嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬
件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。
目前很多厂商已经充分考虑到这
一点,在主推系统的同时,将开发环境也作为
重点推广。
比如三星在
推广 Arm7,Arm9 芯片的同时还提供开发板和版及支持包(
BSP),而
WindowCE 在主推系统时也提供 Embedded
VC++作为开发
工具,还有 Vxworks 的 Tonado 开发环境,DeltaOS 的 Limda 编译环境等等都是这一趋势的
典型体现。
当然,这也是
市场竞争的结果。
5 μC/OS-II 系统剪裁移植与应用 2.网络化、
信息化的要求随着因特网技
术的成熟、带宽的提高日益提高,使得以往单一功能的设备如
电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。
这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如 32 位、64 位 RISC 芯片或信号处理器 DSP
增强处理能力,同时增加功能
接口, USB, 如 扩展总线
类型, CAN BUS, 如
加强对多媒体、图形等的处理,逐步
实施片上系统(
SOC)的概念。
软件方面采用实时多任务编程
技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、
保障软件质量和缩短开发周期。
如 HP 3.
网络互联成为必然趋势。
未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。
传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经
开始内嵌网络接口,除了支持 TCP/IP 协议,还有的支持 IEEE1394、
USB、CAN、Bluetooth或 IrDA
通信接口
中的一种或者几种,同时也需要提供相应的通信组网协议软件和
物理层
驱动软件。
软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web
浏览器,真正实现随时随地用各种设备上网。
4.精简系统内核、算法,降低功耗和软硬件成本。
未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密
相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的
编程模型和不断改进
算法,
优化编译器
性能。
因此,既要软件
人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如
Java、Web 和 WAP 等。
5.提供友好的多媒体人机界面 嵌入式设备能与用户亲密接触,最重要的
因素就是它能提供
非常友好的用户界面。
图像
界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老
朋友。
这方面的要求使得嵌入式软件设计者要在
图形界面,多媒体技术上痛下苦功。
手写
文字输入、语音拨号上网、收
发电子
邮件以及彩色图形、图像都会使使用者获得
自由的感受。
目前一些
先进的
PDA 在
显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。
6 μC/OS-II 系统剪裁移植与应用1.3 本文的研究工作及
意义 本文主要是研究嵌入式系统中的μC/OS-II 的移植及应用。
μC/OS-II 是一种可裁减、结构小巧的实时多任务操作系统可被广泛地移植到多种不同构架的微处理器上。
现在它的应用已经覆盖了
医疗器械、音响设备等诸多
领域,如在电能质量
监控器人机交互中的应用,在
智能车自动控制中的应用,在触摸屏驱动中的应用,在无人机飞控系统软件设计中的应用等等。
它的应用非常广泛,其中 2.52 版本通过了
美国航空管理局
的安全
认证,
证明了它的稳
定性和可用性。
虽然在应用中它与其他系统相比也有缺点,但有很多优点,他仅仅是一个有
源码的实时内核,没有提供用户接口等,且它与硬件无关
不能单独形成
完整的应用。
这篇文章主要就是对μC/OS-II 的特点等进行分析,以实时内核为基础对其进行
改进,并移植到具体的硬件平台上,如 MC9SDG128 上,
形成一个嵌入式系统应用。
综上所述,设计开发基于μC/OS-II 的嵌入式实时应用系统的意义有以下
几点: 1.开发基于μC/OS-II 的实时应用系统在实时领域具有一定的应用前景,同时对于以后利用
开源代码开发嵌入式实时操作系统具有参考价值。
因为相对于
Linux具有良好的实时性能,μC/OS-II 的
商业价值得到了认可,一些基于μC/OS-II
的商业软件也可以买到,如
TCP/IP 协议栈、蓝牙通信软件、红外通信软件等 2.不受无内核源代码的困扰,可在现有代码的基础上进行二次甚至多次开发应用于特定环境,并且可以借助网上免费的内核演进版本,且永远不受
知识产权的困扰 3.同时可用于
实践。
虽然现在商用的嵌入式实时系统软件已经十分成熟,并为用户提供了强有力
的开发工具和调试工具,但是商用嵌入式实时操作系统
价格昂贵,对于
国内中小型系统的开发并不划算,因此采用
免费软件和开发代码不失为一种选择。
7 μC/OS-II 系统剪裁.