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

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

3天内不再提示

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

eeDesigner 来源:物联网评论 作者:物联网评论 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可能是您应用程序的绝佳选择。

结论

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

审核编辑 黄昊宇

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

    关注

    41

    文章

    3555

    浏览量

    129159
  • 操作系统
    +关注

    关注

    37

    文章

    6707

    浏览量

    123163
收藏 人收藏

    评论

    相关推荐

    如何选择嵌入式系统操作系统操作系统特征

    嵌入式系统开发人员目前拥有广泛的操作系统。当然,最直接的操作系统就是没有操作系统!但是,当今的许多系统
    的头像 发表于 09-07 11:51 1925次阅读

    嵌入式操作系统怎么选择

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

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

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

    嵌入式操作系统如何选择

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

    嵌入式操作系统的内核研究

    嵌入式操作系统嵌入式系统应用的核心。而内核完成操作系统最核心的功能,本文通过对两种嵌入式
    发表于 07-30 14:55 22次下载

    嵌入式实时操作系统COS一Ⅱ与VxWORKs

    本文通过tLC/OS—II与VxWORKs两种嵌入式操作系统的对比,介绍了嵌入式操作系统的特征,以及在项目实施时如何选择合适的
    发表于 12-11 16:11 31次下载

    嵌入式操作系统的网络加载实现

      在复杂的应用系统中通常都需要嵌入式操作系统的支持,这样嵌入式操作系统镜像文件的尺寸往往就会变得比较大。可以
    发表于 08-25 14:02 1252次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系统</b>的网络加载实现

    关于怎样选择嵌入式操作系统的浅析

    嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发 展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统
    发表于 10-18 17:02 0次下载

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

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

    如何为嵌入式应用程序选择操作系统

    在台式计算机上,操作系统(OS)的选择很大程度上取决于口味-Windows,Apple,Linux。选择相对较少。对于嵌入式系统,问题要复杂
    发表于 05-13 10:17 1041次阅读

    嵌入式操作系统如何应用_嵌入式操作系统的组成

    本文首先介绍了入操作系统的特点,其次阐述了嵌入式操作系统的应用,最后介绍了嵌入式操作系统的组成
    发表于 09-01 16:36 3569次阅读

    嵌入式操作系统

    嵌入式操作系统一、嵌入式操作系统概述1.1 嵌入式操作系统的特点1.2
    发表于 11-03 18:36 46次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系统</b>

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

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

    如何选择您的嵌入式系统操作系统操作系统特性

    libraries, security, and maintainability also play an essential role. 嵌入式系统开发人员如今可以使用范围广泛的操作系统。当然
    的头像 发表于 07-14 08:17 826次阅读

    什么是嵌入式操作系统

    嵌入式操作系统是一种专门的操作系统(OS),旨在为非计算机的设备执行特定任务。嵌入式操作系统的主要工作是运行允许设备完成其工作的代码。
    的头像 发表于 12-23 15:33 7644次阅读
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系统</b>?