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

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

3天内不再提示

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

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-12 09:28 次阅读

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 代表了一种新的解决方案,适用于希望通过更快地获得生产就绪代码来缩短产品上市时间的团队。

审核编辑:郭婷

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

    关注

    5059

    文章

    18972

    浏览量

    301922
  • STM32
    +关注

    关注

    2264

    文章

    10854

    浏览量

    354249
收藏 人收藏

    评论

    相关推荐

    意法半导体STM32全系产品部署Microsoft® Azure RTOS开发包

    微控制器 (MCU)。   用户可以利用Azure RTOS的特质、STM32Cube的便利性,以及STM32系列优化微控制器特性的灵活性,
    的头像 发表于 06-08 18:49 2914次阅读
    意法半导体<b class='flag-5'>STM32</b>全系产品部署Microsoft® <b class='flag-5'>Azure</b> <b class='flag-5'>RTOS</b>开发包

    Azure RTOS ThreadX的抢占任务应用实现与调试

    高级计划、通信、同步、计时器、内存管理和中断管理功能。此外,Azure RTOS ThreadX 具有许多高级功能,包括 picokernel 体系结构、preemption-thre
    发表于 07-12 11:17 2388次阅读

    使用MM32F3270基于Azure RTOS定时器组的应用

    高级计划、通信、同步、计时器、内存管理和中断管理功能。此外,Azure RTOS ThreadX 具有许多高级功能,包括 picokernel 体系结构、preemption-thre
    的头像 发表于 12-29 17:26 1615次阅读

    适用于DB4560_STM32F4系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-F4(Azure® RTOS STM32Cube 扩展包)为 STM32F4 系列微控制器
    发表于 11-25 06:29

    适用于DB4595_STM32L5系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-L5(Azure® RTOS STM32Cube 扩展包)为 STM32L5 系列微控制器
    发表于 11-25 06:34

    适用于DB4596_STM32G4系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-G4(Azure® RTOS STM32Cube 扩展包)为 STM32G4 系列微控制器
    发表于 11-25 06:42

    适用于DB4412_STM32H7系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-H7(Azure® RTOS STM32Cube 扩展包)为 STM32H7 系列微控制器
    发表于 11-25 07:43

    瑞萨电子主流32位MCU扩展Microsoft Azure RTOS嵌入式开发套件

    Package(SSP)2.0版集成Azure RTOS并可开箱即用。瑞萨电子通过e2 studio集成开发环境为RX MCU提供
    的头像 发表于 06-18 14:46 2123次阅读

    STM32Cube工具和扩展包为MCU提供专用Azure RTOS高质量中间件

    STM32Cube工具和扩展包为从入门级到高性能的MCU提供专用Azure RTOS高质量中间件
    发表于 06-14 14:25 1094次阅读

    DB4594_STM32F7 系列用于 STM32Cube 的 Azure® RTOS 软件扩展

    DB4594_STM32F7 系列用于 STM32Cube 的 Azure® RTOS 软件扩展
    发表于 11-23 08:30 0次下载
    DB4594_<b class='flag-5'>STM32</b>F7 系列用于 <b class='flag-5'>STM32</b>Cube 的 <b class='flag-5'>Azure</b>® <b class='flag-5'>RTOS</b> 软件扩展

    DB4560_STM32F4 系列用于 STM32Cube 的 Azure® RTOS 软件扩展

    DB4560_STM32F4 系列用于 STM32Cube 的 Azure® RTOS 软件扩展
    发表于 11-23 08:30 0次下载
    DB4560_<b class='flag-5'>STM32</b>F4 系列用于 <b class='flag-5'>STM32</b>Cube 的 <b class='flag-5'>Azure</b>® <b class='flag-5'>RTOS</b> 软件扩展

    DB4595_STM32L5 系列用于 STM32Cube 的 Azure® RTOS 软件扩展

    DB4595_STM32L5 系列用于 STM32Cube 的 Azure® RTOS 软件扩展
    发表于 11-23 08:30 0次下载
    DB4595_<b class='flag-5'>STM32</b>L5 系列用于 <b class='flag-5'>STM32</b>Cube 的 <b class='flag-5'>Azure</b>® <b class='flag-5'>RTOS</b> 软件扩展

    DB4596_STM32G4 系列用于 STM32Cube 的 Azure® RTOS 软件扩展

    DB4596_STM32G4 系列用于 STM32Cube 的 Azure® RTOS 软件扩展
    发表于 11-23 08:30 0次下载
    DB4596_<b class='flag-5'>STM32</b>G4 系列用于 <b class='flag-5'>STM32</b>Cube 的 <b class='flag-5'>Azure</b>® <b class='flag-5'>RTOS</b> 软件扩展

    DB4412_STM32H7 系列用于 STM32Cube 的 Azure® RTOS 软件扩展

    DB4412_STM32H7 系列用于 STM32Cube 的 Azure® RTOS 软件扩展
    发表于 11-23 08:31 0次下载
    DB4412_<b class='flag-5'>STM32</b>H7 系列用于 <b class='flag-5'>STM32</b>Cube 的 <b class='flag-5'>Azure</b>® <b class='flag-5'>RTOS</b> 软件扩展

    SITARA MCU器件上集成MbedTLS

    电子发烧友网站提供《SITARA MCU器件上集成MbedTLS.pdf》资料免费下载
    发表于 08-27 10:44 0次下载
    <b class='flag-5'>在</b>SITARA <b class='flag-5'>MCU</b>器件<b class='flag-5'>上集成</b>MbedTLS