硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5631|回复: 4
收起左侧

[μCOS-III] 【uCOS-III教程】第1章  嵌入式实时操作系统介绍

[复制链接]

740

主题

1326

回帖

3546

积分

管理员

春暖花开

Rank: 9Rank: 9Rank: 9

积分
3546
QQ
发表于 2014-12-9 18:24:51 | 显示全部楼层 |阅读模式
第1章  嵌入式实时操作系统介绍

        本期教程开始带领大家学习μCOS-III的源码分析和使用,在讲这个前需要做几期嵌入式实时操作系统基础知识和基于时间触发的嵌入式系统使用方法。这么做主要是方面没有OS基础的同学也可以直接学习μCOS-III,本期教程就从嵌入式实时操作系统基本概念开始,这一期内容比较容易,初学者有个了解就行。
1.1 嵌入式系统
1.2 基于时间触发的嵌入式系统
1.3 总结
1.1  嵌入式系统
        一般嵌入式系统方面的书籍开头部分都会做很多概念性的介绍。关于概念性的东西,大家读读就可以了,有个了解就行。我这里也简单整理了些,后面加入一些个人的理解。
1.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  一般定义
        以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统
其实还有一种通俗的理解:嵌入式操作系统是为了区别于通用的计算机系统,人们把嵌入到对象体系中,为实现对象体系智能化控制的计算机系统,称作嵌入式计算机系统,简称嵌入式系统。

1.1.2      嵌入式操作系统分类
        按对外部事件的响应能力来分类,嵌入式操作系统有分时操作系统和实时操作系统。如果操作系统能使计算机系统及时的响应外部事件请求,并能控制所有实时设备和实时任务协调运行,且能在一个规定的时间内完成对事件的处理,那么这种系统就称为实时操作系统(RTOS)。
        按时间的正确程度来分,实时操作系统又分为硬件的实时操作系统和软件的实时操作系统。系统必须在及其严格的时间内完成的任务叫做硬件的实时操作系统,要是不是很严格的话就是软件的实时操作系统。
        分时操作系统就是按时间片轮转完成各个任务。

1.1.3      当前流行的嵌入实时操作系统
        在过去的2013年里,由UBM Tech Electronics做的2013年嵌入式市场报告分析了当前比较流行的嵌入式实时操作系统,为了说明这个报告的权威性,下面是主办方的信息:
1.1.jpg


        根据EETimes上面所说的测试者主要来自欧洲和北美:http://www.eetimes.com/document.asp?doc_id=1263083
        这里我们主要关心的是小型的嵌入式RTOS,这个也是我们本期教程讨论的重点,下面我就把相关的信息帖出来,这样大家也好有个了解。
1.2.jpg
1.3.jpg

        上面两个图表的含义解释:
        1.    第一个图标是当前正在使用的系统使用调查,第二个是以后的12个月里将要使用的系统。
        2.    对于第一个图表,只有使用超过%2的才会在上面显示。对于第一个图表,只有使用超过%3的才会在上面显示。
        3.    因为咱们第一期RTOS的教程做的就是μCOS-III,所以重点看一下Micrium(μCOS-III,II)Net,从2012年的%10下降到2013年的%6。下滑有点大。
        4.    FreeRTOS在小型嵌入式RTOS里面是当之无愧的老大,之所以这么火都是有原因的,后面跟大家简单分析下。
        5.    RTX(由KEIL公司设计,现在已经被并入ARM公司旗下)也是榜上有名,这个OS设计的也非常强劲,将基于Cortex-M3/M4架构的ARM芯片性能发挥到极致,比如那个零延迟中断。而且在任务切换等性能测试方面完爆其它RTOS,后面跟大家提供一组数据。
        6.    embOS也非常的不错,只是没有上榜,可能大家对这款RTOS了解的比较少,说起emWin大家应该记比较熟悉了,和emWin一样都是出自Segger公司。
下面讨论几个大家关心的问题:
l  为什么FreeRTOS这么火?
下面说一下我个人的理解:
Ø  开源免费的,而且官方在这款RTOS升级上面做的也很积极,而且官方有完善的函数使用手册以及相关的例子,使用起来很容易上手。
1.4.jpg

1.5.jpg



Ø  既然FreeRTOS这么火,这里简单的做点介绍:FreeRTOS一共有三个版本,其它两个是SafeRTOS,OpenRTOS。
1.    FreeRTOS和OpenRTOS的关系
        FreeRTOS和OpenRTOS的共享相同的源码,只是 OpenRTOS 为 FreeRTOS 披上commercial and legal wrapper。用户从FreeRTOS更新到OpenRTOS主要有两个原因:
u  为了克服FreeRTOS修改版的GPL许可证限制。
u  为了获得额外的服务,如专业的技术支持,高质量的中间件,培训,咨询和相应的工具。
2.    FreeRTOS有GPL(修正版)许可证限制
        修改版的GPL许可证有如下几个缺陷(There are several reasons whydevelopers may find the FreeRTOS modified GPL licence restrictive.)
u  公司可能有一个全面禁止在他们的项目中使用GPL授权的软件。
u  他们可能需要IP赔偿。
u  他们可能更愿意在他们的产品中,避免FreeRTOS的许可证要求承认他们使用FreeRTOS的。
前面说的OpenRTOS许可证删除GPL(修改版)的限制,提供知识产权保障,并允许开发者保持匿名。
3.    FreeRTOS和SafeRTOS的关系
        SafeRTOS也是基于FreeRTOS的,但是和FreeRTOS不同,被安全方面的专家做了重新设计,下面是SafeRTOS获得的安全认证(这些认证非常重要)。

Industrial
IEC 61508 (2010)

Railway

EN 50128

Medical

IEC 62304/FDA 510K

Nuclear

IEC 61513, IEC 62138, ASMENQA-1 2008

Process

IEC 61511

Automotive

ISO 26262

Aerospace

DO178B

l  既然FreeRTOS是当前最火的,为什么不先做FreeRTOS的教程?
Ø  一方面是因为很多人已经有μCOS-II的经验,学习μCOS-III也相对比较容易,而且国内铺天盖地的μCOS-II资料。
Ø  这个原因比较重要,就是μCOS-III的源码可读性比较强,相比RTX和FreeRTOS都要好很多,代码写的非常规范,是学习研究的好资料。
l  关于RTX的一些简单说明
        KEIL公司被ARM公司并购后,ARM公司在RTX的基础上正式推出CMSIS-RTOS,相对于RTX,主要是重新进行了一层封装,并加入了一些新的特性,这里就不做过多的介绍了,下面贴一组我测试的数据,主要是说明RTX强劲的性能。
        测试条件:STM32F103VET6,Cortex-M3内核,72Mhz,
        软件用的MDK4.54,  1级优化。
        测试10000次,2ms测试一次,然后求平均。
RTOS
版本
测试周期个数

RTX

V4.5

252

μCOS-II

V2.92.07

354

μCOS-III

V3.03.01

576

embOS

V3.86

389

FreeRTOS

V7.4.2

514(另一种测试是374)

[table=100%][/table]


1.1.4      STM32嵌入式实时操作系统解决方案
        ST公司有一个手册是专门讲嵌入式解决方案的,这里就把RTOS相关的粘贴出来。
1.6.jpg

1.7.jpg




        一般情况下是这样的,芯片厂商推出一款新的处理器芯片后,都会做一个评估板,很多RTOS厂商都会在这个评估板的基础上做一些相关的DEMO,比如Micrium公司为ST出的评估板配套的例子。
1.8.jpg


像SEGGER(embOS),KEIL(RTX)等都会为其配套例子的。
1.2  基于时间触发的嵌入式系统
        这里把基于时间触发的嵌入式系统单独的作为一小节独立了出来,是因为时间触发方式在嵌入式领域也很重要,这种方式简单可靠,有很好的可预测性,在一些安全关键的领域也得到了广泛的应用。
       有一本时间触发嵌入式系统设计模(patterns for time-triggered embedded systems)的书,作者是Michael J. Pont,他在这个领域深有研究,而且有很多相关的论文发表,有兴趣的可以搜索一些他的文章进行深入的了解。作为入门,大家可以看一下时间触发嵌入式系统这本书的第11页,1.7 Time-triggered systems(一定要读)对时间触发做了入门性的介绍,讲的非常好。如果读英文有点吃力的话,可以选择读中文版。
       后面两期会跟大家做两期时间触发的教程,让大家学会如何使用这种程序设计架构。


1.3      总结

本期教程是一些入门性质的介绍,有兴趣的可以查阅一下相关的资料进行深入的了解。
参考资料:
1.    百度百科
2.    Patterns fortime-triggered embedded systems英文版和中文版
5.    2013嵌入式市场报告
6.    stm32-stm8_embedded_software_solutions
努力打造安富莱高质量微信公众号:点击扫描图片关注
回复

使用道具 举报

6

主题

90

回帖

108

积分

初级会员

积分
108
QQ
发表于 2014-12-12 08:35:59 | 显示全部楼层
沙发是我的的
回复

使用道具 举报

740

主题

1326

回帖

3546

积分

管理员

春暖花开

Rank: 9Rank: 9Rank: 9

积分
3546
QQ
 楼主| 发表于 2014-12-12 13:12:12 | 显示全部楼层

回 第九度 的帖子

第九度:沙发是我的的 (2014-12-12 08:35) 
还有很多沙发等你坐啊[s:149]
努力打造安富莱高质量微信公众号:点击扫描图片关注
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2014-12-26 22:41:00 | 显示全部楼层
感谢LZ,学习。
回复

使用道具 举报

740

主题

1326

回帖

3546

积分

管理员

春暖花开

Rank: 9Rank: 9Rank: 9

积分
3546
QQ
 楼主| 发表于 2014-12-27 00:04:59 | 显示全部楼层

回 zhou__mi 的帖子

zhou__mi:感谢LZ,学习。 (2014-12-26 22:41) 
完整的pdf文档,你可以在这里下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=1788
努力打造安富莱高质量微信公众号:点击扫描图片关注
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-30 04:48 , Processed in 0.182892 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表