0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择合适的嵌入式操作系统

星星科技指导员 来源:嵌入式计算设计 作者:嵌入式计算设计 2022-06-28 15:13 次阅读

随着嵌入式设备的复杂性不断增加,软件开发任务已成为典型项目预算的最大组成部分。图形界面、网络协议和数据安全只是设计团队在其定制应用软件之上添加的一些新要求。随着软件负担的增加以及客户对更快响应时间和即时数据访问的需求,操作系统已成为组织和优先考虑软件和硬件交互例程的基本要素。与只有少数操作系统的桌面环境不同,嵌入式设计人员有数百种选择,正确的选择取决于每个项目的特殊需求和要求。

操作系统的基本功能是管理系统的外围设备和调度软件任务,以确保每个程序获得一些处理器时间。文件系统也是标准操作系统的一部分,用于存储软件模块和引导指令。操作系统的另一大好处是为常见的硬件外围设备提供网络软件和驱动程序,从而消除不断的重新发明。然而,嵌入式操作系统与其桌面操作系统完全不同。桌面系统假设有键盘、鼠标、显示器、硬盘和大量内存。但是,嵌入式产品没有这样的标准化。一个嵌入式系统可能没有硬盘和有限的内存,而另一个根本没有用户 I/O。嵌入式操作系统也必须是模块化的,QNX的Neutrino 实时操作系统(见图 1)。在确定操作系统之前,设计人员应该了解调度算法、内存要求、延迟、工具支持和定价模型。

图 1: QNX Neutrino RTOS 采用模块化框架,使设计人员能够为各种处理器架构创建优化的操作软件。

poYBAGK6qjqAffbeAAapIt4oLoE789.png

硬或软

当设计师将每个新项目的要求拼凑在一起时,实时性能是早期考虑的因素之一。操作系统供应商使用“硬”和“软”等术语来描述其系统的实时操作。硬实时系统被安排,因此任务保证在外部事件的精确时间长度内开始。硬实时系统是确定性的。软实时系统一般会列出启动例程的平均时间长度,但有一个小概率是最大时间可以长得多。任务关键型应用程序必须是确定性的。例如,工业执行器、安全气囊控制器,甚至街机游戏都必须在已知时间内做出反应。软实时应用程序通常会在几秒钟内做出响应,但偶尔的缓慢响应并不重要。

实时操作系统的基本架构包括程序接口、内核、设备驱动程序和可选的服务模块。内核是操作系统的核心,提供中断处理程序、任务调度程序、资源共享标志和内存管理。内核的服务是通过调用其应用程序接口 (API) 来请求的。内核在实时操作过程中一直处于活动状态,并且必须保持内存驻留。内核的主要功能之一是处理由外部或内部事件引起的中断。当中断发生时,处理器将控制权转移到中断服务程序,该程序登录中断,向调度程序发送消息,然后返回活动代码。调度程序设置单个任务的执行顺序,以确保较高优先级的任务可以抢占较低优先级的任务以维持确定性响应。最流行的调度技术是抢占式优先调度,其中任务可以中断较低优先级的任务并继续执行直到完成或直到被较高优先级的任务抢占。

开发工具链是选择操作系统的另一个大问题。开发人员将把大部分软件设计和调试工作用于与集成开发环境 (IDE) 交互,以便快速访问编辑器、编译器、链接器、下载器和运行时工具。大多数供应商提供完整的 IDE,包括源代码编辑器、代码管理器、指向编译器和链接器的链接、将代码下载到目标平台的软件,以及一个或多个调试器。软件供应商还提供软件性能分析工具来帮助开发人员分析和可视化软件中的实时活动。其中许多分析工具是可选的,会增加整体工具成本。Green Hills Software提供MULTI 集成开发环境(IDE) 以支持各种操作系统。IDE 软件工具在单个包中包含多个 C 编译器选项、编辑器、配置管理器、代码浏览器和调试器。MULTI 还具有DoubleCheck,这是一个集成的静态分析器,可以隔离由可能不在同一源文件中的代码段之间的复杂交互引起的错误。

节约成本

成本显然是选择嵌入式操作系统时的主要决定因素。由于使用软件基本上没有商品成本,因此供应商可以调整其定价模型以从各种来源产生收入。供应商可以收取初始许可费、每位工程师的开发席位、开发工具、每单位版税、持续支持或重大升级。为了公平地比较价格,必须为所考虑的每个操作系统计算总体拥有成本。计算必须包括计划在产品生命周期内交付的单位数量。尽管商业操作系统可能很昂贵,但节省成本是购买现成产品的重要原因。如果您可以购买并因此消除软件最复杂部分的编码、调试和文档,你应该仔细考虑。供应商将产品技术支持视为商业操作系统的主要优势。他们能够通过将成本分摊给所有客户来为软件的操作系统部分提供持续的支持。

在生命周期分析和与商业操作系统成本相关的“贴纸冲击”之后,设计人员通常还会考虑“免费”开源操作系统。尽管开源软件消除了一些初始成本问题,但仍然存在必须解决的重大问题。潜在的开源用户提出的一个问题是缺乏中央资源来提供类似于商业软件供应商的支持。开发人员通常可以通过 Internet 找到他们问题的答案,但没有人愿意研究和回答特定问题。开源产品被普遍化以适应最广泛的用户,并且可以迫使设计人员修改硬件配置,从而导致嵌入式设备的重复成本更高。还,开源软件不属于公共领域,用户必须遵守个人许可中规定的特定规则,这些规则可能会迫使设计者向专有软件公开源代码。即使存在这些障碍,开源操作系统仍广泛用于嵌入式设计。

占地面积小

选择操作系统时的一个额外考虑因素是在所需的初始硬件占用空间和在需要更新时添加功能的能力之间进行权衡。操作系统必须是可扩展的,以便用户可以选择他们需要的软件系统的那些部分或功能。随着不断变化的需求和嵌入式技术,设计人员希望能够下载新的软件模块以添加或修改功能以供将来更新。Mentor Graphics的Nucleus 实时操作系统可降低嵌入式设备的物料清单成本允许开发人员在多种处理器硬件上部署小至 2k 的内核。借助模块化结构,设计人员可以通过选择可用功能的子集以及支持系统的 ROMRAM 的数量来降低操作系统的初始成本。

嵌入式设计人员最喜欢的捷径之一是使用商用现货 (COTS) 模块启动项目,以消除大部分硬件开发和测试。通过为目标硬件选择带有板级支持包的操作系统,可以将同样的快捷方式扩展到软件。例如,LynuxWorks为其LynxOS实时操作系统提供150 多个 COTS 处理器板的板支持包。这些封装包括 ARM、PowerPC、x86、MicroBlaze 和 MIPS 处理器板。这种方法可以缩短整体开发进度,使设计团队能够专注于嵌入式项目的专有部分。

随着客户对通用连接、更快的响应时间、复杂的功能和即时数据访问的需求扩展到越来越多的设备,设计人员可以期待实时操作系统软件成为未来嵌入式产品的标准。幸运的是,实时供应商和开源集合提供了大量现成的、可立即运行的软件包,以适应大多数嵌入式配置。挑战将是分析您的要求,以使操作系统与具有足够增长空间的应用程序相匹配,同时最大限度地减少成本和开发工作。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9084

    浏览量

    367387
  • 嵌入式
    +关注

    关注

    5082

    文章

    19104

    浏览量

    304815
  • 操作系统
    +关注

    关注

    37

    文章

    6801

    浏览量

    123283
收藏 人收藏

    评论

    相关推荐

    新手怎么学嵌入式?

    基本的概念。嵌入式系统是一种将计算机技术嵌入到特定设备中的系统,它通常具有特定的功能和有限的资源。你需要学习一些计算机基础知识,如数据结构、操作系统
    发表于 12-12 10:51

    什么是嵌入式操作系统?

    什么是嵌入式操作系统? 想象一下,如果一个智能设备,比如你口袋里的智能手机,是一个有头脑的机器人,那么嵌入式操作系统(Embedded Operating System,简称EOS)就
    发表于 11-08 15:07

    嵌入式 Linux 操作系统配置

    随着物联网(IoT)和智能设备的快速发展,嵌入式系统在各个领域扮演着越来越重要的角色。Linux因其开源、灵活和稳定的特性,成为嵌入式系统的首选操作
    的头像 发表于 11-06 10:22 334次阅读

    嵌入式学习建议

    实际需要选择芯片开发实际产品。注意,不要把微处理器(MPU与微控制器(MCU)概念相混淆,微处理器只是微控制器的内核。 ⑧关于嵌入式操作系统选择。可以等到具有一定实践基础后,
    发表于 10-22 11:41

    新书发布——《RT-Thread嵌入式实时操作系统内核、驱动和应用开发技术》

    我们非常高兴地宣布,由郑苗秀、沈鸿飞和廖建尚编著的《RT-Thread嵌入式实时操作系统内核、驱动和应用开发技术》一书正式发布。本书的编写团队由多位在嵌入式和实时操作系统领域有着丰富经
    的头像 发表于 09-03 08:06 572次阅读
    新书发布——《RT-Thread<b class='flag-5'>嵌入式</b>实时<b class='flag-5'>操作系统</b>内核、驱动和应用开发技术》

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件
    的头像 发表于 09-02 09:11 479次阅读

    “第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束

    嵌入式系统是电子信息产业的基础,是智能系统的核心。大模型催生AI走入千家万户、唤醒端侧AI的需求爆发。以机器人、无人驾驶和智能制造为代表的智能嵌入式
    的头像 发表于 08-30 17:27 421次阅读
    “第六届国产<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系统</b>技术与产业发展论坛”圆满结束

    嵌入式系统中的实时操作系统

    嵌入式RTOS是嵌入式应用程序运行、相互交互和与外界通信的底层软件机制。在本节中,您将了解嵌入式软件开发人员使用哪些流行RTOS以及它们运行的嵌入式硬件平台。
    的头像 发表于 08-20 11:28 481次阅读

    RT-Thread出席第六届中国嵌入式技术大会,共话嵌入式操作系统与智能工业

    第六届中国嵌入式技术大会将于8月27-28日在深圳会展中心(福田)1号馆举行。本届大会以“AI与开源,开启嵌入式系统智能新时代”为主题,聚焦人工智能与嵌入式应用、
    的头像 发表于 08-03 08:35 397次阅读
    RT-Thread出席第六届中国<b class='flag-5'>嵌入式</b>技术大会,共话<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系统</b>与智能工业

    第六届国产嵌入式操作系统技术与产业发展论坛议程发布

    每年一度的国产嵌入式操作系统论坛即将在杭州滨江举办,今年是第六届了,又是中国嵌入式系统新朋老友相聚的时刻。大模型催生AI走人千家万户、唤醒端侧AI的需求爆发。以机器人、无人驾驶和智能制
    发表于 07-26 10:54

    如何根据需求选择合适的新加坡VPS操作系统?

    选择合适的新加坡VPS操作系统您需要考虑哪些因素,如何根据需求选择合适的新加坡VPS操作系统?r
    的头像 发表于 05-10 11:14 438次阅读
    如何根据需求<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的新加坡VPS<b class='flag-5'>操作系统</b>?

    嵌入式系统的外设器件选择

    作者:DigiKey Editor 嵌入式系统除了最重要的为处理器选择之外,配合的相关外设器件也是嵌入式系统的重要组成部分,包括内存、时钟(
    的头像 发表于 05-05 09:38 897次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>的外设器件<b class='flag-5'>选择</b>

    再谈嵌入式实时操作系统

    由于嵌入式处理器早期功能单一且运算能力不高,嵌入式应用已不能满足各个领域不断增长的需求。嵌入式操作系统应运而生,嵌入式
    的头像 发表于 04-09 17:27 787次阅读
    再谈<b class='flag-5'>嵌入式</b>实时<b class='flag-5'>操作系统</b>

    瑞萨CTSU程序在向嵌入式OS操作系统移植时的注意事项

    瑞萨CTSU程序在向嵌入式OS操作系统移植时的注意事项
    的头像 发表于 03-29 08:05 348次阅读
    瑞萨CTSU程序在向<b class='flag-5'>嵌入式</b>OS<b class='flag-5'>操作系统</b>移植时的注意事项

    请问ADuC7060能否移植uCOS II嵌入式操作系统

    我想问一下ADuC7060能否移植uCOS II嵌入式操作系统
    发表于 01-15 06:59