在STM32 MCU上集成Azure RTOS功能的应用

描述

  X-CUBE-AZRTOS是将 Azure RTOS 和 STM32 MCU 结合在一起的最新篇章。STM32Cube 扩展包现在支持目前销售的几乎所有 STM32 MCU。可在GitHub 上获得,这些软件包已经过测试版,并且与 STM32CubeMX 完全兼容。因此,工程师可以在 STM32CubeMX 的图形用户界面中配置中间件堆栈,从而进一步将 Azure RTOS 集成到 STM32 生态系统中,降低进入门槛。

  这些软件包也是独一无二的,因为它们包含的应用程序示例比开发人员传统上通过此类解决方案获得的应用程序示例多得多。例如,新的解决方案提供了围绕 FileX、NetXDuo、ThreadX 和 USBX 的应用程序。因此,它是业内最全面的 Azure RTOS 中间件集成之一。此外,这是一种帮助开发人员在几分钟内进行试验的方法。例如,X-CUBE-AZRTOS-H7 包含NUCLEO-H723ZG Nucleo-144 开发板、STM32H735G-DK或STM32H747I-DISCO探索套件以及STM32H743I-EVAL评估板的演示。

  Azure RTOS 和 STM32

  STM32 上的 Azure RTOS 体验如何?

  Azure RTOS 是唯一一款为嵌入式系统提供用户友好许可条款的免费操作系统,并附带如此广泛的认证列表,包括安全性(IEC 61508 SIL 4、ISO 26262 ASIL D、IEC 62304 Medical Class C)和安全性( EAL4+,FIPS 140-2)。因此,希望打入工业、汽车或医疗等市场的用户将从这些标准中受益,并为他们的客户提供更大的保证。此外,我们正在与 Microsoft ®合作,以确保 Azure RTOS 能够利用 STM32 MCU 中的关键 IP,例如我们的硬件加密内核。因此,团队还将享受硬件优化,以提高安全性和效率。

  另一件需要考虑的事情是,从概念验证到最终产品可能会令人生畏。因此,为了缩短上市时间,我们所有的 STM32 MCU 都会获得免费的评估和生产 Azure RTOS 许可证。由于我们与 Microsoft 的合作,开发人员可以修改源代码并进行分发。此外,ST 还将更新并继续发布新的 STM32Cube 嵌入式软件包和工具,以利用 Azure RTOS 中间件和堆栈。

  Azure RTOS 将为 STM32Cube 带来什么?

  Azure RTOS 的核心是 ThreadX RTOS,它以其强大的调度能力等而著称。在关于Preemption-Threshold Scheduling的白皮书中,该软件公司解释了传统上,RTOS 如何允许任何具有较高优先级的线程抢占,即接管当前正在运行的具有较低优先级的线程。ThreadX 提供了更多的粒度,使开发人员能够设置阈值以防止抢占并减少上下文切换,从而极大地优化性能。同样,它还提供事件链,当事件发生时启用特定操作。结果,等待事件的线程可以自动启动,从而方便了开发并减少了所需的资源。

  将Azure RTOS 作为我们的STM32Cube 中间件之一,意味着我们的用户将更轻松地从 Azure RTOS 中受益,同时仍能享受我们开发平台提供的最佳服务。例如,Azure RTOS 附带FileX,这是一个文件系统,可在 NAND 和 NOR 闪存上提供高级功能,如容错或磨损均衡。NetX和NetX Duo是提供 TCP/IP、IPv4 和 IPv6 以及物联网中使用的许多上层协议(如 MQTT 或 COAP)的网络堆栈。还有USBX便于使用 USB 接口,无论是作为主机还是作为设备,都具有一整套受支持的 USB 类。

  X-CUBE-AZRTOS 和开发者

  3 次单击运行演示应用程序

  探索 RTOS 的中间件并非易事,X-CUBE-AZRTOS 也不假装不这样。但是,它确实使开发人员能够如此快速地运行演示应用程序并如此轻松地研究源代码,从而可以大大改善工作流程。查看X-CUBE-AZRTOS-H7,只需单击三下即可运行 ST 的 Tx_FreeRTOS_Wrapper 演示。将STM32H735G-DK连接到 PC 后:

  在 STM32CubeIDE 中,选择 File -》 Import,然后Existing Projects into Workspace.

  在根目录下,选择文件夹x-cube-azrtos-h7-main/Projects/STM32H735G-DK/Applications/ThreadX/Tx\_FreeRTOS\_Wrapper/STM32CubeIDE,然后Finish

  最后一步包括右键单击项目资源管理器中出现的项目,然后选择 Debug As -》 STM32 Arm ® Cortex ® -MC/C++ Application。如果出现配置窗格,单击确定就足够了。

  STM32CubeIDE将构建项目并将其闪存到探索套件中。如果电路板背面的红灯突然在绿色和红色之间快速闪烁,则演示正在运行。

  X-CUBE-AZRTOS:学习如何从 FreeRTOS 迁移到

  Tx_FreeRTOS_Wrapper 演示教导如何在来自 FreeRTOS 时利用 ThreadX。ThreadX 减少了上下文切换并帮助管理线程优先级以优化性能。然而,只熟悉 FreeRTOS 的开发人员可能会觉得这个概念有点迷惑。因此,该演示公开了一个适配层,该层定义了由 ThreadX 处理的线程,并展示了如何使用它。

  因此,从 FreeRTOS 迁移到 Azure RTOS 的工程师可以从熟悉的概念中受益,并更有效地迁移到 Microsoft 的操作系统。该应用程序还证明了 ST 希望帮助开发人员过渡到 Microsoft 平台的愿望。

  X-CUBE-AZRTOS 软件包也可用作对象课程。演示运行后,main.c 文件会出现在 STM32CubeIDE 的调试窗口中,因此开发人员可以看到它正在运行。因此,它显示了应用程序如何在启动时调用文件中的tx\_application\_define()函数app_tx_freertos.c来创建LEDThread\_Entry线程。因此,X-CUBE-AZRTOS 代表了一种新的解决方案,适用于希望通过更快地获得生产就绪代码来缩短产品上市时间的团队。

  审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分