嵌入式操作系统三问:what?when?how?

嵌入式ARM 2022-12-21 12:00

在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性


本文我们对嵌入式实时操作系统进行经典三问:what?when?how?


因此,以下是嵌入式设计需要RTOS解决方案的时间和原因。但在此之前,RTOS到底是什么,尤其是与裸机解决方案相比?


一、什么是嵌入式实时操作系统?


嵌入式实时操作系统(RTOS)是一种操作系统,旨在管理嵌入式系统的硬件资源;它创建了多个软件执行线程和一个调度程序来管理这些线程。另一种说法是一个调度内核,它创建了一个多任务和确定性的运行时环境。




RTOS与无操作系统的“前后台”设计的最本质区别是任务调度器的设计,调度器可以为正在运行的任务分配精确且可重复的时间段的能力。


二、什么时候需要用RTOS?


当有更多中断源、更多功能和更多通信接口时,通常使用RTOS。简而言之,应用程序的复杂性在很大程度上决定了为MCU定制的RTO的使用。



刚开始学单片机,基本都是从裸机开始,经典的“项目”就是流水灯,也是你学习单片机的开始。但是随着学习的不断深入,裸机所暴露的问题就越来越多,这里我给大家总结下吧:
1、并发性:程序并发工作效率低在写裸机软件时,不可避免的在主程序中会有一个超级大的 while(1) 循环,这里面几乎包含整个项目的所有业务逻辑。

因为每个业务逻辑里面基本都会有 delay 这样的循环等待函数,这样导致了所有的业务逻辑几乎都是串行起来工作的。

这个时候 CPU 就会有很多时间都浪费在了延时函数里,一直在空转,导致软件的并发效率非常差。


2、模块化:高内聚,低耦合的原则从软件工程的角度,我们在做软件开发时,都会强调高内聚、低耦合的原则。而裸机的模块化开发难度非常大,模块间的耦合较重,这也导致了无法在大型项目使用裸机来开发。

还是刚才 main 函数中大 while(1) 的例子,可以想象到那么多功能都紧紧的挤在一个函数里,不可拆分,模块化开发的困难重重。举一个非常贴切的例子,在一些使用看门狗的项目中,如果使用 delay 延时函数,那得注意点,万一延时过长,主函数来不及喂狗,看门狗就被触发了。

最后会产生这样一种感觉,一个简简单单的 delay 还得考虑喂狗功能,裸机开发时操的心太多了,自然无法应用在大型项目中。

3、生态:很多高级软件组件,必须依赖于操作系统来实现比如说,前些年一个基于 FreeModbus 的 Modbus 主机协议栈,因为要考虑各个平台适配问题,原本计划支持各种各样的操作系统,甚至是裸机平台。在各个操作系统上的适配都非常容易,但再去尝试着适配裸机时,发现难度重重,有一些函数在裸机上实现起来非常复杂,而且针对于不同的裸机环境,几乎没有通用性可言,太耗费精力了。所以我最终就放弃了裸机适配,一直到现在,在裸机上都没用这个 Modbus 主机协议栈。还有一些软件无法运行在裸机上,比如:乐鑫,Realtek、 ti 和 联发科 提供的 WIFi SOC SDK ,一些蓝牙 SOC 的 SDK 也都是只支持操作系统。

所以,如果你不了解、不会使用操作系统,这些芯片也就玩不转了。

4、实时性:功能复杂的情况下,实时性无法保证软件的实时性在一些领域会有一定的要求,软件的每个步骤必须在指定的时间被触发。
工控领域就是最常见到的场景,如果实时性无法保证,机械设备可能就无法按照指定时序要求去动作,以至于发生机械事故,甚至会威胁到人的生命。

回过来接着看裸机软件,如果软件变得庞大以后,可以想象到,主程序中那么大的一个 while(1) 循环,代码耦合严重,到处都是 delay 延时,要保证实时性几乎是不可能的。

5、可重用性:软件可重用性差,总是重复造轮子可重用性与模块化程度有直接的关系。相信大家每个人在工作中都不想做很多重复性的工作,同样在写代码时,也想着尽可能少写一些功能相似的代码。

但在这个嵌入式碎片化极其严重的时代,各式各样的芯片,想要让同样的代码,在裸机环境下同时适配不同的硬件,难度非常大。这样也就导致了裸机的代码会过多的依赖于底层硬件,重复造轮子的过程也就不可避免。


三、选择RTOS需要考虑的因素


现在开源或不开源的RTOS非常多,当我们选择具体使用哪个RTOS时主要需要考虑哪些因素呢?


响应性:RTOS调度算法、中断延迟和上下文切换时间将显著定义系统的响应性和确定性。最重要的考虑是需要什么类型的响应——是否需要硬实时响应?这意味着有精确定义的最后期限,如果不满足,将导致系统失败。或者,非确定性的软实时响应是否合适?在这种情况下,无法保证每项任务何时完成。


可用系统资源:微内核使用最少的系统资源,并提供有限但必不可少的任务调度功能。微内核通常提供硬实时响应,广泛用于RAM/ROM容量有限的嵌入式微处理器,但也适用于较大的嵌入式处理器系统。


或者,可以使用Linux或WinCE等功能齐全的操作系统。它们提供了功能丰富的操作系统环境,通常随驱动程序、GUI和中间件组件一起提供。与微内核相比,功能齐全的操作系统通常响应速度较慢,需要更多的内存和处理能力,主要用于系统资源丰富的强大嵌入式处理器上。


开源或专业许可:有广泛使用的、免费的开源RTOS可用,在GPL或修改的GPL许可下分发。然而,这些许可证可能包含保留拷贝的限制,提供的保护很少。专业授权的RTOS产品取消了版权限制,提供完整的知识产权侵权赔偿和担保。此外,只有一家公司提供支持,并对产品质量负责。


质量:RTOS供应商在其组织内对质量的重视程度如何?质量不仅仅是编码标准。是否有正确的程序来保证未来产品和支持的质量?管理良好、重视质量的公司往往通过ISO 9001认证。


安全认证:预认证和可认证RTO可用于需要按照国际设计标准(如DO-178C和IEC 61508)认证的应用。这些RTO提供了关键的安全特性,以及认证机构要求的设计证据,以确认用于开发RTO的过程符合相关设计标准。


许可证:它不仅是您需要考虑的RTOS功能和特性,而且是对您的项目预算和公司的“投资回报”最有效的许可模式。


RTOS供应商:RTOS背后的公司与选择正确的RTOS本身一样重要。理想情况下,您希望与供应商建立关系,不仅支持您当前的产品,而且支持您未来的产品。要做到这一点,你需要选择一个具有良好声誉的积极主动的供应商,与领先的硅制造商合作,确保他们能够支持最新的处理器和工具。


信任、产品质量和支持质量是一切。


END

来源:玩转单片机与嵌入式

版权归原作者所有,如有侵权,请联系删除。

推荐阅读
我眼中的芯片公司FAE工作
干翻一切的王者语言到底是谁?
从零开始,教你写单片机的结构体

→点关注,不迷路←

       

嵌入式ARM 关注这个时代最火的嵌入式ARM,你想知道的都在这里。
评论 (0)
  • 在全球供应链紧张和国产替代需求推动下,国产存储芯片产业快速发展,形成设计到封测一体化的完整生态。北京君正、兆易创新、紫光国芯、东芯股份、普冉股份和佰维存储等六大上市公司在NOR/NAND Flash、DRAM、嵌入式存储等领域布局各具特色,推动国产替代提速。贞光科技代理的品牌紫光国芯,专注DRAM技术,覆盖嵌入式存储与模组解决方案,为多领域客户提供高可靠性产品。随着AI、5G等新兴应用兴起,国产存储厂商有望迎来新一轮增长。存储芯片分类与应用易失性与非易失性存储芯片易失性存储芯片(Volatile
    贞光科技 2025-05-12 16:05 80浏览
  •         信创产业含义的“信息技术应用创新”一词,最早公开信息见于2019年3月26日,在江苏南京召开的信息技术应用创新研讨会。本次大会主办单位为江苏省工业和信息化厅和中国电子工业标准化技术协会安全可靠工作委员会。        2019年5月16日,美国将华为列入实体清单,在未获得美国商务部许可的情况下,美国企业将无法向华为供应产品。       2019年6
    天涯书生 2025-05-11 10:41 164浏览
  •   电磁数据展示系统平台解析   北京华盛恒辉电磁数据展示系统平台是实现电磁数据高效展示、分析与管理的综合性软件体系,以下从核心功能、技术特性、应用场景及发展趋势展开解读:   应用案例   目前,已有多个电磁数据展示系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁数据展示系统。这些成功案例为电磁数据展示系统的推广和应用提供了有力支持。   一、核心功能模块   数据采集与预处理   智能分析处理   集成频谱分析、时频变换等信号处理算法,自动提取时域频域特征;
    华盛恒辉l58ll334744 2025-05-13 10:20 42浏览
  •   基于 2025 年行业权威性与时效性,以下梳理国内知名软件定制开发企业,涵盖综合型、垂直领域及特色技术服务商:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   五木恒润科技有限公司:是一家专业的部队信
    华盛恒辉l58ll334744 2025-05-12 16:13 177浏览
  • 【拆解】+CamFi卡菲单反无线传输器拆解 对于单反爱好者,想要通过远程控制自拍怎么办呢。一个远程连接,远程控制相机拍摄的工具再合适不过了。今天给大伙介绍的是CamFi卡菲单反无线传输器。 CamFi 是专为数码单反相机打造的无线传输控制器,自带的 WiFi 功能(无需手机流量),不但可通过手机、平板、电脑等设备远程连接操作单反相机进行拍摄,而且还可实时传输相机拍摄的照片到 iPad 和电视等大屏设备进行查看和分享。 CamFi 支持大部分佳能和尼康单反相机,内置可充电锂离子电池,无需相机供电。
    zhusx123 2025-05-11 14:14 200浏览
  •   电磁数据管理系统深度解析   北京华盛恒辉电磁数据管理系统作为专业的数据处理平台,旨在提升电磁数据的处理效率、安全性与可靠性。以下从功能架构、核心特性、应用场景及技术实现展开分析:   应用案例   目前,已有多个电磁数据管理系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁数据管理系统。这些成功案例为电磁数据管理系统的推广和应用提供了有力支持。   一、核心功能模块   数据采集与接入:实时接收天线、频谱仪等设备数据,兼容多协议接口,确保数据采集的全面性与实时性
    华盛恒辉l58ll334744 2025-05-13 10:59 38浏览
  • 在印度与巴基斯坦的军事对峙情境下,歼10C的出色表现如同一颗投入平静湖面的巨石,激起层层涟漪,深刻印证了“质量大于数量”这一铁律。军事领域,技术优势就是决定胜负的关键钥匙。歼10C凭借先进的航电系统、强大的武器挂载能力以及卓越的机动性能,在战场上大放异彩。它能够精准捕捉目标,迅速发动攻击,以一敌多却毫不逊色。与之形成鲜明对比的是,单纯依靠数量堆砌的军事力量,在面对先进技术装备时,往往显得力不从心。这一现象绝非局限于军事范畴,在当今社会的各个领域,“质量大于数量”都已成为不可逆转的趋势。在科技行业
    curton 2025-05-11 19:09 193浏览
  •   定制软件开发公司推荐清单   在企业数字化转型加速的2025年,定制软件开发需求愈发多元复杂。不同行业、技术偏好与服务模式的企业,对开发公司的要求大相径庭。以下从技术赛道、服务模式及行业场景出发,为您提供适配的定制软件开发公司推荐及选择建议。   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转
    华盛恒辉l58ll334744 2025-05-12 15:55 220浏览
  • 在 AI 浪潮席卷下,厨电行业正经历着深刻变革。AWE 2025期间,万得厨对外首次发布了wan AiOS 1.0组织体超智能系统——通过AI技术能够帮助全球家庭实现从健康检测、膳食推荐,到食材即时配送,再到一步烹饪、营养总结的个性化健康膳食管理。这一创新之举并非偶然的个案,而是整个厨电行业大步迈向智能化、数字化转型浪潮的一个关键注脚,折射出全行业对 AI 赋能的热切渴求。前有标兵后有追兵,万得厨面临着高昂的研发成本与技术迭代压力,稍有懈怠便可能被后来者赶
    用户1742991715177 2025-05-11 22:44 119浏览
  • ‌磁光克尔效应(Magneto-Optic Kerr Effect, MOKE)‌ 是指当线偏振光入射到磁性材料表面并反射后,其偏振状态(偏振面旋转角度和椭偏率)因材料的磁化强度或方向发生改变的现象。具体表现为:1、‌偏振面旋转‌:反射光的偏振方向相对于入射光发生偏转(克尔旋转角 θK)。2、‌椭偏率变化‌:反射光由线偏振变为椭圆偏振(克尔椭偏率 εK)。这一效应直接关联材料的磁化状态,是表征磁性材料(如铁磁体、反铁磁体)磁学性质的重要非接触式光学探测手段,广泛用于
    锦正茂科技 2025-05-12 11:02 189浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦