本章教程为大家介绍嵌入式实时操作系统基础知识,当前流行的小型嵌入式系统,STM32嵌入式实时操作系统解决方案以及基于时间触发的嵌入式系统。
2.1 嵌入式系统
2.2 基于时间触发的嵌入式系统
2.3 总结
2.1 嵌入式系统
一般嵌入式系统方面的书籍开头部分都会做很多概念性的介绍。关于概念性的东西,大家需要有个了解。这里为大家推荐两个,讲解都非常好,推荐大家看:
u 邵贝贝老师翻译的《嵌入式实时操作系统uCOS-II》书籍,第2章:实时系统概念。
u embOS用户手册的第2章:Basic concepts。
2
|
|
|
|
2.1.1 定义
关于嵌入式系统,至今没有确切的定义,下面给出三个比较常用的定义:
l 系统定义
当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
注:在工业控制、 军事设备、 航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。我们常常说的嵌入式操作系统都是嵌入式实时操作系统。比如μCOS-III,eCOS和Linux、HOPEN OS。故对嵌入式实时操作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。
l IEEE定义
嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(Devices used to control, monitor, orassist the operation of equipment, machinery or plants)。
l 一般定义
以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
其实还有一种通俗的理解:嵌入式操作系统是为了区别于通用的计算机系统,人们把嵌入到对象体系中,为实现对象体系智能化控制的计算机系统,称作嵌入式计算机系统,简称嵌入式系统。
2.1.2 嵌入式操作系统分类
按对外部事件的响应能力来分类,嵌入式操作系统有分时操作系统和实时操作系统。如果操作系统能使计算机系统及时的响应外部事件请求,并能控制所有实时设备和实时任务协调运行,且能在一个规定的时间内完成对事件的处理,那么这种系统就称为实时操作系统(RTOS)。
按时间的正确程度来分,实时操作系统又分为硬件的实时操作系统和软件的实时操作系统。系统必须在及其严格的时间内完成的任务叫做硬件的实时操作系统,要是不是很严格的话就是软件的实时操作系统。
分时操作系统就是按时间片轮转完成各个任务。
|
|
|
|
|
2.1.3 当前流行的嵌入实时操作系统
(说明:2013,2014和2015年度的嵌入式市场分析报告可以在这里查看:
http://bbs.armfly.com/read.php?tid=15616,这里以2013年度为例进行说明)。
在过去的2013年里,由UBM Tech Electronics做的2013年嵌入式市场报告分析了当前比较流行的嵌入式实时操作系统,为了说明这个报告的权威性,下图2.1是主办方的信息:
图2.1 Embedded Market Study
根据EETimes上面所说的测试者主要来自欧洲和北美(2015年度的调查已经是全球范围):
|
|
|
|
|
这里我们主要关心的是小型的嵌入式RTOS,这个也是我们本章教程讨论的重点,下面我就把相关的信息帖出来,这样大家也好有个了解。图2.2 当前正在使用的系统调查 图2.3 未来12个月将使用的系统调查
图2.2和图2.3的含义解释:
1. 图2.2是当前正在使用的系统使用调查,图2.3以后的12个月里将要使用的系统。
2. 对于图2.2,只有使用超过%2的才会在上面显示。对于图2.3,只有使用超过%3的才会在上面显示。
3. 从图2.2可以看出,Micrium(μCOS-III,II)Net,从2012年的%10下降到2013年的%6。
4. FreeRTOS是小型嵌入式RTOS里面最受欢迎的。
5. RTX(由KEIL公司设计,现在KEIL已经被并入ARM公司旗下)也是榜上有名,RTX设计的也非常强劲,将基于Cortex-M3/M4架构的ARM芯片性能发挥到极致,比如那个零延迟中断特性。而且在任务切换等性能测试方面完爆其它RTOS,在第3章中会给大家提供详细的测试数据。
6. embOS也非常的不错,只是没有上榜,可能大家对这款RTOS了解的比较少,说起emWin大家应该比较熟悉了,和emWin一样都是出自Segger公司。
|
|
|
|
|
2.1.4 STM32嵌入式实时操作系统解决方案
ST公司有一个手册是专门讲嵌入式解决方案的,这里就把RTOS相关的粘贴出来。
|
|
|
|
|
一般情况下是这样的,芯片厂商推出一款新的处理器芯片后,都会做一个评估板,很多RTOS厂商都会在这个评估板的基础上做一些相关的DEMO,比如Micrium公司为ST出的评估板配套的例子。
图2.4 Micrium为ST评估板配套的例子
|
|
|
|
|
下图2.5是RTX为ST的评估板配套例子(部分截图):图2.5 RTX及其中间件为ST评估板配套的例子
|
|
|
|
|
2.2 基于时间触发的嵌入式系统
这里把基于时间触发的嵌入式系统单独的作为一小节独立出来是因为时间触发方式在嵌入式领域也很重要,这种方式简单可靠,有很好的可预测性,在一些安全关键的领域也得到了广泛的应用。
有一本时间触发嵌入式系统设计模式(patterns for time-triggered embedded systems)的书,作者是Michael J. Pont,他在这个领域深有研究,而且有很多相关的论文发表,有兴趣的可以搜索一些他的文章进行深入的了解。作为入门,大家可以看一下时间触发嵌入式系统这本书的第11页,1.7 Time-triggered systems(建议必读)对时间触发做了入门性的介绍,讲的非常好。如果读英文有点吃力的话,可以选择读中文版。
另外我们安富莱电子做的uCOS-III教程中有对基于时间触合作式调度和混合式调度的讲解。
|
|
|
|
|
2.3 总结
本章节是一些入门性质的介绍, 从下一章节开始讲解RTX操作系统。此外,在2.1小节中推荐的两个实时操作系统概念的资料读一下,这个会给后面RTX的学习带来事半功倍的效果。
|
|
|
|
|