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

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

3天内不再提示

embOS实时操作系统可应用于数十亿台设备中

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-15 14:13 次阅读

embOS是 SEGGER 的实时操作系统,SEGGER是ST 合作伙伴计划的成员,可在所有STM32 微控制器上运行,目前在数十亿台设备中,所有微架构组合在一起。除此之外,它特别高效,因为它的内核 ROM 大小约为 1,700 字节,其 RAM 大小仅为 71 字节,而上下文切换在 Cortex-M4 STM32F407IG上仅需要 320 个时钟周期。相比之下,罗马尼亚苏恰瓦大学学者的一篇论文据估计,在完全相同的 MCU 上,替代方案可能需要多达 1,340 个周期,而其基准测试中最快的替代方案最多可降至 462 个周期。embOS 也很受欢迎,因为它客观可靠,因为该公司提出了 IEC 61508 SIL 3 和 IEC 62304 C 类认证,使操作系统能够用于医疗、汽车或航空电子应用等。

与其他竞争解决方案不同,embOS 在最少的重写(如果有的话)后获得了这些认证,因为它从一开始就考虑到了稳健性和可靠性,这要归功于其非常模块化的方法。内核有两部分:通用组件和硬件相关方面。前者约占整个操作系统的 80%,并解释了为什么 embOS 可以在内存非常少的 8 位和 32 位 MCU 上运行,同时提供出色的性能。硬件相关部分通过利用特定架构的某些方面来进一步推动这些优化。SEGGER 还超越了其 RTOS,提供了可利用某些功能的附加工具。例如,它的emCrypt使用 STM32 硬件加速来优化加密操作。这些工具独立于 embOS 工作,但也有助于吸引更多开发人员加入 SEGGER 的生态系统。

embOS:超过 50 个 STM32 开发板和免费评估软件的软件包

STM32 微控制器用户开始试用 embOS 的最佳方式是前往SEGGER 的选择器页面,在那里他们将能够下载 RTOS 和与其 ST 开发板相关的工具。我们与 SEGGER 密切合作的原因之一是他们为我们的组件提供的解决方案可以免费用于评估和教育目的,没有任何技术限制。任何人都可以安装 embOS 和其他“em”产品并将它们用于非商业目的,使其成为一个很好的原型平台,同时评估特定项目的需求。

STM32 用户可以相信,SEGGER 中的绝大多数测试过程都在 STM8 和 STM32 微控制器上运行,这使得我们与该公司的合作独一无二,因为它的团队依赖于使他们与竞争对手区分开来的优化。多年来,我们一直与 SEGGER 密切合作,以确保他们能够在我们的平台上提供最佳解决方案。因此,他们在 ST 合作伙伴计划中的出现在他们的选择器页面上大放异彩,以确保我们的社区享受我们合作的成果,轻松访问可靠和强大的软件。

Tickless 支持:使用 STM32 定时器实现节能

poYBAGKAv6WAWGZVAACZaca35IU114.png

embOS中tickless支持的示例实现

开发人员经常错过但关键地突出了 embOS 中存在的优化的一项功能是它的无滴答支持。Cortex-M 架构包括一个 24 位系统定时器 (SysTick),它以计数器的形式递减并在每个滴答时引发中断。不幸的是,当试图让微控制器进入深度睡眠时,这个系统远非最佳,因为它有很多中断。通过提供无滴答支持,SEGGER 可以完全绕过 SysTick 并使用 STM32 MCU 上可用的硬件定时器 TIM2 来显着减少中断数量,从而使组件保持更长时间处于深度低功耗模式,从而提供更显着的节能效果。

很简单,开发人员需要更改OS_Idle()函数以使用无滴答模式并设置其 STM32 硬件定时器提供的最大计数时间。应用程序将查看低功耗模式的持续时间,并且仅在 TIM2 达到其最大计数时间时才引发中断,而不是在每个滴答声中发送一个中断。例如,在SEGGER 的应用笔记中,一个程序将低功耗模式设置为 200 个空闲滴答,由于 STM32F103 的硬件定时器提供的最大计数时间为 58 个滴答,因此使用无滴答模式意味着系统只会抛出 4 个中断(一个在 58 个滴答声之后)在达到 200 之前。如果开发人员使用 SysTick,他们会收到 200 次中断,这极大地限制了在这种深度睡眠模式下可能实现的节能。

embOS:更高效的 RTOS 意味着更多资源可用于应用程序

Tickless 支持是 embOS 可以为产品带来优势的一个很好的例子。它还解释了为什么越来越多的公司正在远离 Linux 并采用实时操作系统来满足其计算要求高的应用程序。下图显示了 embOS 与 Linux 和其他 RTOS 相比的内存占用。当我们将这些收益与诸如无滴答支持等优化结合起来时,我们看到开发人员正在迁移到这些系统,因为他们可以享受以前无法获得的额外资源,同时由于内核的硬件依赖模块或 SEGGER 的独立模块而促进高级功能的使用工具。

审核编辑:郭婷

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

    关注

    87

    文章

    10990

    浏览量

    206730
  • 操作系统
    +关注

    关注

    37

    文章

    6284

    浏览量

    121874
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112034
收藏 人收藏

    评论

    相关推荐

    带你认识实时操作系统(rtos)

    实时操作系统(RTOS)是为嵌入式系统实时应用提供一个稳定、可预测和高效运行环境的操作系统实时
    的头像 发表于 04-16 16:30 122次阅读
    带你认识<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>(rtos)

    详解实时操作系统和非实时操作系统

    实时操作系统,当外界事件和数据产生时,系统能以足够快的速度予以处理,其处理结果能在规定的时间内控制生产结果或对系统做出响应,并控制所有实时
    的头像 发表于 12-26 09:54 1873次阅读
    详解<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>和非<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>

    单片机操作系统有哪些

    。 FreeRTOS: FreeRTOS是一种基于优先级的实时操作系统,广泛应用于嵌入式系统中。它具有小巧、高效、可移植的特点,并且支持多任务。FreeRTOS包含了任务管理、时间管理
    的头像 发表于 12-08 16:18 1769次阅读

    什么是实时操作系统(RTOS)

    实时操作系统(RTOS)是一种专为实时应用程序设计的操作系统实时应用程序需要在特定时间内做出预测的响应,因此 RTOS 专注于提供对时间约
    的头像 发表于 11-23 17:14 1648次阅读

    实时操作系统的滴答Tick设置多少才合适?

    实时操作系统的滴答Tick设置多少才合适? 介绍实时操作系统中Tick的设置。 在实时操作系统
    的头像 发表于 10-29 16:33 529次阅读

    到底啥是实时操作系统呢?它到底实时实时呢?

    到底啥是实时操作系统呢?它到底实时实时呢? 实时操作系统(Real Time Operatin
    的头像 发表于 10-29 16:33 723次阅读

    如何判断自己的应用需要上实时操作系统

    无线,WIFI无线。主要是数据采集,多种通信规约转换。 请问怎么判断自己的设备需要上实时操作系统实时操作系统
    发表于 10-28 08:12

    嵌入式操作系统IJLC/OS一Ⅱ在通信电源监控应用

    的在系统可编程nash,4 kByte的SRAM和EEPROM。同时带有8路10位A/D转换器及1个可用于程序下载的SPI串行口.并且已应用于中兴的第三代组合电源ZXDU300A(3.0)
    发表于 09-20 06:46

    FreeRTOS实时操作系统简述

    FreeRTOS是一个为嵌入式系统设计的开源实时操作系统。它提供了一个多任务内核和一系列组件功能,适合在资源受限的设备上管理实时任务和应用程
    发表于 09-19 12:37 682次阅读
    FreeRTOS<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>简述

    操作系统的发展历程和未来展望

    Linux作为一种强大的操作系统内核,因其稳定性、安全性和灵活性等优点,被广泛应用在数十亿设备和各种各样的场景中,并拥有强大的开发者社区支持。
    发表于 09-08 09:54 913次阅读
    <b class='flag-5'>操作系统</b>的发展历程和未来展望

    多个任务程序如何在RTX实时操作系统运行

    应用程序: 演示多个任务程序如何在 RTX(实时eXective) 实时操作系统运行 。 BSP 版本: NUC230/240 Series BSP v3.01.002 硬件: N
    发表于 08-22 08:18

    linux是实时系统还是分时操作系统

    大家平时玩单片机基本上对于µC/OS、FreeRTOS、ThreadX这些操作系统非常熟悉了,他们都属于实时操作系统(RTOS),在工业领域比较广泛;
    的头像 发表于 08-18 09:48 1307次阅读

    C166设备实时操作系统

    Keil PK166专业开发人员套件支持C166架构,支持两种实时操作系统: ·RTX166 Tiny包含在封装,它是为代码大小是最重要因素的单芯片应用而设计的。 ·ARTX-166可单独购买,提供多任务处理,并增加了闪存文件
    发表于 08-11 07:35

    物联网设备操作系统有哪些?如何选择物联网操作系统

    物联网(IoT)设备操作系统是指安装在物联网设备上的软件系统用于管理和控制设备的硬件资源、执
    的头像 发表于 08-05 16:25 1164次阅读
    物联网<b class='flag-5'>设备</b><b class='flag-5'>操作系统</b>有哪些?如何选择物联网<b class='flag-5'>操作系统</b>

    FreeRTOS:一个迷你的实时操作系统内核

    、协程等,可基本满足较小系统的需要。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时
    的头像 发表于 06-29 17:15 517次阅读
    FreeRTOS:一个迷你的<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>内核