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

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

3天内不再提示

如何选择嵌入式系统操作系统:选择指南

eeDesign 来源:物联网评论 作者:物联网评论 2022-09-07 11:51 次阅读

在上一篇文章“如何选择嵌入式系统操作系统:操作系统特征”中,我们讨论了团队在选择操作系统时权衡的系统特征。我们看到产品的生命周期成本、物理特性、实时性能、库集成和安全性等特征发挥了作用(仅举几例)。今天的帖子将精确地探讨何时何地使用裸机,RTOSLinux是有意义的。请记住,这些是一般准则,因行业而异,甚至因产品而异。

何时使用裸机(无操作系统)

当您查看有关连接性,物联网机器学习和其他前沿主题的营销标题时,您可能会认为每个嵌入式系统都需要操作系统。不幸的是,这种印象与事实相去甚远!虽然许多尖端技术可能受益于操作系统,但对于相当多的应用程序,您可以在没有RTOS或Linux的情况下生存。如果您查看2019年嵌入式市场调查,您会发现约50%的项目是裸机的!

在几种情况下,不使用操作系统会很有意义。首先,如果您使用的是 8 位或 16 位微控制器,您几乎总是希望使用裸机或使用轻量级协作调度程序。许多操作系统开发人员不会将他们的软件移植到较小的架构中,因为这些系统已经受到处理器和资源限制。添加操作系统通常会消耗太多的时钟周期,并使系统效率低下。

接下来,裸机解决方案在微控制器引脚数较少且可用的闪存和SRAM有限的应用中非常有意义。在资源受限的环境中工作时,每个字节和每个时钟周期都会对产品是否可用产生影响。如果微控制器受到资源限制,最有效的解决方案可能是没有操作系统。

最后,如果您正在处理一个没有任何连接或高性能处理需求的“简单”控制应用程序,则裸机可能对您的应用程序有意义。当今在嵌入式系统中使用操作系统的重要驱动因素之一是需要支持基础设施代码。例如,连接到互联网的传感器必须连接到云,管理安全分区,执行安全更新,运行DSP算法等。操作系统可以帮助管理所有这些活动的时间和资源,但是如果您没有所有这些内容,则可能不需要操作系统。

何时使用实时操作系统

当微控制器的板载资源达到40 MHz的最低时钟速度,具有至少64千字节的闪存和8千字节的RAM时,使用操作系统的大门就开始了。如果做得更少,您将花费更多时间与RTOS的需求而不是应用程序的需求作斗争。例如,当您使用 RTOS 时,每个任务都有自己的堆栈。堆栈至少需要 512 – 1024 字节的 SRAM。如果你的设计需要六个任务,你很快就会耗尽内存。你可能需要更多的闪存和RAM来构建一个合适的系统。

当我决定是使用RTOS还是裸机时,我问自己几个问题:

添加实时操作系统是否会简化软件架构?

添加实时操作系统会提高软件的可维护性吗?

应用程序的实时性能是否会得到改善?

RTOS是一种工具,应该为应用程序和整个软件开发生命周期提供价值。如果RTOS是一个障碍,那么就不应该仅仅因为我想使用它而使用它。

在一些特定的应用中,使用RTOS是立即有意义的。例如,如果我正在开发物联网产品,我几乎总是使用RTOS。这是因为RTOS提供了工具和机制,可以轻松管理低级资源并将应用程序分解为半独立的程序。当应用程序很复杂时,将应用程序分解为任务是非常有意义的。例如,物联网产品通常需要几个任务来管理连接,更不用说最终应用了。另一个例子是具有显示器的设备,尽管有时这些应用程序最适合多核处理器。

何时使用 Linux

近年来,在嵌入式系统中使用Linux已成为一种流行的选择。Linux受欢迎的部分原因是它提供了一个功能齐全的操作系统,其中包含随之而来的所有花里胡哨的东西。Linux带有大量的库和功能。开发人员可以利用多任务处理,甚至是内核的实时补丁。此外,运行Linux的硬件成本在过去五年中急剧下降,使其成为特定应用程序的令人兴奋的解决方案。

在考虑一个项目是否可以使用嵌入式Linux时,我会考虑以下几点。首先,产品必须能够支持硬件的财务成本。我最近有一个客户,我第三次帮助重新设计他们的产品,因为前两位设计师无法满足制造价格目标。该产品的目标受众愿意为该产品支付约40美元。最初的设计师使用Linux构建了一个系统,材料清单成本超过100美元!使用微控制器和操作系统的RTOS重新设计产品,我能够将BOM降低到11美元左右。这就是拥有一家可持续发展的公司和一家不存在的公司之间的区别。

使用 Linux 时要考虑的第二点是产品的卷。如果你有一个小批量的产品,用户可能已经支付了更多的金额。当您查看非经常性工程成本和产品成本之间的权衡时,您可能会发现使用Linux可以大大减少NRE和上市时间。如果客户对价格不敏感,Linux可能更具商业意义。

最后,我们不能忘记Linux为我们提供了强大的抽象,服务和库,可以简化工程。如果我们的产品非常复杂,我们可以利用Linux来简化我们与硬件的交互方式。我们可以使用更现代的编程语言,如Python。如果需要,我们可以自定义内核。Linux非常适用于许多嵌入式应用程序。如果您需要灵活性和利用现有库的能力,Linux可能是您应用程序的绝佳选择。

结论

选择用于嵌入式产品的操作系统可能会成就或破坏项目。过于轻量级会导致开发团队花费更多的精力和时间来使事情正常工作。另一方面,过重会导致更高的物料清单成本。正如我们所看到的,为您的应用程序选择正确的操作系统归结为权衡对您的团队和用户最重要的东西。

审核编辑 黄昊宇

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

    关注

    40

    文章

    3426

    浏览量

    128204
  • 操作系统
    +关注

    关注

    37

    文章

    6273

    浏览量

    121859
收藏 人收藏

    评论

    相关推荐

    达人教你如何选择嵌入式操作系统 (转帖)

    DIY内核的配置,添加应用和驱动程序也是不标准的和复杂的,这是嵌入式系统的特殊性所在。   第二是选择一个商业化的嵌入式Linux操作系统
    发表于 01-10 13:35

    嵌入式操作系统怎么实现网络加载?

    在复杂的应用系统中通常都需要嵌入式操作系统的支持,这样嵌入式操作系统镜像文件的尺寸往往就会变得比较大。可以
    发表于 03-18 08:20

    嵌入式操作系统怎么选择

    嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发展到以arm CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的
    发表于 04-07 07:13

    如何去选择嵌入式操作系统

    mC/OS-II嵌入式实时内核mCLinux操作系统嵌入式Linux操作系统
    发表于 04-25 07:46

    选择嵌入式操作系统时要遵循哪些原则?

    嵌入式系统的分类有哪几种?在选择嵌入式操作系统时要遵循哪些原则?
    发表于 04-25 09:05

    如何选择ARM CPU的操作系统

    ARM CPU上广泛采用的嵌入式操作系统有哪几种?使用嵌入式Linux系统有哪几种途径?如何选择ARM CPU的
    发表于 04-26 06:39

    什么是嵌入式操作系统? 

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系统 嵌入式操作系统是一种支持嵌入式
    发表于 10-28 07:35

    嵌入式Linux操作系统

      嵌入式Linux在新兴的嵌入式操作系统领域内也获得了飞速发展和广泛应用。而对于那些希望尽快进入嵌入式行业从事产品研发的朋友们,选择
    发表于 11-05 08:47

    基于Linux的嵌入式操作系统

    嵌入式操作系统一、嵌入式操作系统概述1.1 嵌入式操作系统的特点1.2
    发表于 11-08 09:05

    如何选择嵌入式最小系统的主要芯片及操作系统

    Cortex-A9微处理器搭载Android操作系统的通用型嵌入式最小系统。本文主要的研究内容有:根据现有工业领域嵌入式控制设备的功能需求,对通用型
    发表于 11-09 07:07

    什么是嵌入式操作系统嵌入式操作系统有何功能

    什么是嵌入式操作系统?常见的嵌入式操作系统有哪几种?嵌入式操作系统有何功能?
    发表于 12-24 07:07

    嵌入式操作系统如何选择

    支持ARM的操作系统有哪些呢?嵌入式操作系统如何选择呢?
    发表于 03-04 13:13

    一文告诉你!如何选择合适的嵌入操作系统

    当我们在设计信息电器、数字医疗设备等嵌入式产品时,嵌入式操作系统选择至关重要。一般而言,在选择嵌入式
    发表于 05-17 15:10 1214次阅读

    该如何正确选择嵌入式操作系统

    嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发 展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统
    发表于 07-01 16:53 2577次阅读

    如何选择您的嵌入式系统操作系统选择指南

    When and where it makes sense to use bare-metal, an RTOS, and Linux. 在上一篇文章“如何选择您的嵌入式系统操作系统
    的头像 发表于 07-14 08:17 709次阅读