中国主流嵌入式实时操作系统(RTOS)

一、嵌入式Linux系统 VS RTOS

1、嵌入式Linux
    一提到嵌入式的操作系统,自然绕不开嵌入式Linux操作系统。嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行。它性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,所以在不同行业,尤其是消费类电子产品中广泛使用。然而即便如此,嵌入式Linux操作系统也有其难以弥补的缺陷:
1.1、Linux操作系统有庞大的内核,对任何中断指令的响应都需要一个复杂的处理过程,对一些需要快速响应的场合显得有些力不从心;
1.2、 软硬件成本较高,需要功能强劲的MCU和外部资源,不适用于低成本的产品;
1.3、相对而言,配备嵌入式Linux会导致功耗较高,不适用于功耗要求严格应用场合;

    因为上述提及的一些缺陷,所以在对实时性要求比较高,成本控制比较严格或者低功耗应用等场合,常常会使用实时操作系统RTOS。(注:原生Linux系统是分时操作系统,一些衍生的嵌入式Linux进行了优化和改进,也能做到很高的实时性,也可以认为是RTOS)

2、RTOS
    简单来说,实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系 统作出快速响应,并控制所有实时任务协调一致运行的操作系统。主要特点如下:
2.1、高精度计时系统
    计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

2.2、多级中断机制
    一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。

2.3实时调度机制
    实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。

二、RTOS使用现状(中国主流RTOS)

    一起来看一份某调查机构关于嵌入式操作系统的调研结果。(摘自2015全球嵌入式市场分析报告)

调查用户分布

 

操作系统占有率

 

下一年度考虑使用的操作系统比例

    从调查结果可以看到市场占用率前两名分别为uc/OS(II + III 27%)和FreeRTOS(22%)。这两款RTOS即便在国内用的比较多。除此之外,从我了解的情况来说,国内也有不少人士使用Keil RTX,TI的DSP/BIOS。另外由国内人士自己开发的RT-Thread近几年也越来越多人使用。

1、uC/OS

    俗话说得好,早起的鸟儿有虫吃。uc/OS能够在国内普及的很大一个原因是因为uc/OS比较早被介绍到中国,早在七八年前小编上大学期间,就有uc/OS的课程,教材用的是邵贝贝教授翻译的《嵌入式实时操作系统uC/OS-II》。这本书也让许多行业人士入了RTOS的门。另外uc/OS教材案例丰富,官网也有提供基于不同嵌入式芯片移植好的demo,交流论坛也有不少,大大降低了使用门槛。详细介绍就不贴上,相信大家再熟悉不过了。然而商业上使用uc/OS是需要付版权费的,而且费用不菲。所以虽然国内用的人很少,但是真正向Micrium公司购买版权的公司全中国估计不超过10个(至少2012年的时候,只有两家公司有购买版权)。官网链接:https://www.micrium.com/

2、FreeRTOS

    FreeRTOS欧美用得比较多,以前的公司有个与欧美同事合作项目,人家点名要求使用FreeRTOS。国内目前用得并不算太多,但是发展趋势不错。
    同uc/OS类似,FreeRTOS也是一个轻量级的实时操作系统内核,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。官网的移植demo和教程现在也非常全面了,基本上的嵌入式芯片都已经覆盖,可以前往官网下载。相比uc/OS,FreeRTOS的主要优势在于:

2.1、内核文件占用RAM,ROM的要求少一些(其实差异不大,但是对于片内资源较少的MCU也算是一种优势);

2.2、 支持协程,可以共享stack,进一步降低RAM的消耗;

2.3、支持有同等优先级的任务,可以使用时间片轮转的方式进行调度;

2.4、当然,最终要的是商业使用是免费的。

3、TI DSP/BIOS

    DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台(貌似现在已经支持更多TI的芯片)所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,具有实时操作系统的诸多功能,如任务的调度管理、任务间的同步和通信、内存管理、实时时钟管理、中断服务管理、外设驱动程序管理等。如果你有使用上述DSP芯片,建议你使用这款RTOS。之前使用过一段时间,我觉得它最大的优势在于TI已经将DSP/BIOS集成到了CCS开发环境中了,你可以通过可视化界面去配置任务,中断,时钟,资源分配等,简单易上手。

 

4、VxWorks
  VxWorks是美国WindRiver公司的产品,是目前嵌入式系统领域中应用很广泛,市场占有率比较高的嵌入式操作系统。VxWorks实时操作系统由400多个相对独立、短小精悍的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接口)规范的内存管理,以及多处理器控制程序;并且具有简明易懂的用户接口,在核心方面甚至町以微缩到8 KB。
  它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
  VxWorks的特点:高可靠性;高实时性;可裁剪。它是美国军方和美国太空总署(NASA)的“最爱”,也是嵌入式实时操作系统的“高富帅”。

5、RT-Thread

  RT-Thread是一款来自中国的开源嵌入式实时操作系统,由国内一些专业开发人员从2006年开始开发、维护,除了类似FreeRTOS和UCOS的实时操作系统内核外,也包括一系列应用组件和驱动框架,如TCP/IP协议栈,虚拟文件系统,POSIX接口,图形用户界面,FreeModbus主从协议栈,CAN框架,动态模块等,因为系统稳定,功能丰富的特性被广泛用于新能源,电网,风机等高可靠性行业和设备上,已经被验证是一款高可靠的实时操作系统。
  RT-Thread实时操作系统遵循GPLv2+许可证,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用源码,没有任何潜在商业风险。这款RTOS只在若干年前关注过,一直没亲自体验过,希望这款国人自己开发的RTOS能越走越远,真正开启下一代操作系统演化。官网链接:http://www.rt-thread.org/

 

本期就这样了。觉得写得不错的话,欢迎关注本公众号。

 

  • 12
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
uc/os是一种嵌入式实时操作系统RTOS),广泛应用于各种嵌入式系统中。uc/os提供了一个轻量级的操作系统内核,可以高效地管理硬件资源,实现实时任务的调度和运行。uc/os的设计目标是高性能、低成本和可裁剪性。 uc/os的主要特点之一是可裁剪性,用户可以根据系统需求选择需要的功能,从而使系统更精简、更高效。uc/os提供了丰富的功能模块,如任务管理、事件管理、内存管理、中断管理等,用户可以根据需求选择性地使用这些功能。此外,uc/os还提供了一套完整的API接口,方便用户进行开发和调试。 uc/os的另一个特点是实时性。uc/os采用了优先级抢占式调度算法,可以满足实时任务对响应时间的要求。任务可以根据其优先级进行动态的抢占,从而保证最高优先级任务的及时执行。同时,uc/os还提供了一些实时通信机制,如消息队列和信号量等,方便任务之间的数据交换和同步。 此外,uc/os还具有灵活的内存管理机制。uc/os可以根据任务的需要,动态分配和释放内存资源。这可以有效地管理系统的内存使用,提高系统的效率和可靠性。 总结起来,uc/os是一种高性能、低成本、可裁剪的嵌入式实时操作系统。它的设计目标是满足实时任务的调度和运行需求。uc/os提供了丰富的功能模块和API接口,方便用户进行开发和调试。同时,uc/os还具有灵活的内存管理机制和实时通信机制,提高系统的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值