如果您使用过STM32CubeMX(或者STM32CubeIDE)来开发STM32,那么您应该知道它们支持一键生成包含FreeRTOS操作系统的代码,从而省去了繁琐的移植过程。
在早期,由于FreeRTOS是免费开源的,许多嵌入式软件工程师都采用了FreeRTOS,而STM32官方也不例外,在他们的STM32CubeMX工具中集成了FreeRTOS操作系统。
但是,您可能会发现,近年来他们开始支持Azure RTOS了…
关于Azure RTOS
之前已经多次分享过Azure RTOS的内容,这里再简要地描述一下Azure RTOS。
官方的描述:
Azure RTOS 是一个嵌入式开发套件,其中包括小型但功能强大的操作系统,可为资源受限设备提供可靠、超高速的性能。它易于使用且经过市场验证,已部署在全球超过 100 亿的设备上。Azure RTOS 支持最常用的 32 位微控制器和嵌入式开发工具,因此你可以充分利用团队现有的技能。
官方网址:
https://azure.microsoft.com/zh-cn/services/rtos
在上个月的文章《微软杀入嵌入式IDE》有描述 Azure RTOS 近几年的发展:
2019年,微软重金收购 ThreadX 嵌入式实时操作系统,然后,紧接着在 2020 年,开源了Azure RTOS ThreadX。
2021年12月,微软发布了基于 VS 2022 的支持嵌入式RTOS、MCU软件开发的IDE。
2022年3月,微软发布了基于 VS Code(去年是VS 2022)的插件Embedded Tools嵌入式开发工具,支持Azure RTOS、FreeRTOS操作系统。
STM32为啥会拥抱Azure RTOS?
为啥会拥抱Azure RTOS?
我这里简单总结了几点原因:
1.开源免费
2.组件更丰富
3.后台很强大
1.开源免费
不得不说,开源免费真香,早期FreeRTOS就是凭借开源免费获得了一大批用户。
随着,Azure RTOS开源免费,逐渐被众多嵌入式软件工程师知道并了解。因此,Azure RTOS也成了众多工程师备选的一款RTOS。
当然,这里的说明一下开源免费不等于没有任何限制,也是需要遵循有一定的开源协议,这里可以阅读我之前分享的文章:µC/OS、FreeRTOS、RT-Thread、ThreadX开源协议的具体内容。
2.组件更丰富
这里是相对FreeRTOS而言,Azure RTOS组件更丰富。
虽然FreeRTOS被亚马逊收购之后,丰富了其中的组件,但和Azure RTOS相比,还是缺少很多组件。
Azure RTOS的组件几乎涵盖了嵌入式RTOS常规的组件:
-
Azure RTOS ThreadX -
Azure RTOS NetX -
Azure RTOS NetX Duo -
Azure RTOS FileX -
Azure RTOS GUIX -
Azure RTOS GUIX Studio -
Azure RTOS USBX -
Azure RTOS TraceX -
······
这里可以参看官网:
https://azure.microsoft.com/zh-cn/services/rtos
以及官网代码仓库:
https://github.com/azure-rtos
3.后台很强大
虽然FreeRTOS被亚马逊收购了,其后台也很强大,但要论软件,我觉得还是微软牛逼一点。(当然,这里可能有争论,欢迎大家讨论)
STM32会放弃FreeRTOS吗?
可能有很多工程师看到STM32这两年在拥抱Azure RTOS,就会觉得STM32会放弃FreeRTOS。
我个人认为短时间(近几年)不会放弃FreeRTOS,为啥?
1.FreeRTOS在STM32生态中很多年了,积累了很大一批用户。
2.FreeRTOS算是一款老牌RTOS,用户已经习惯了基于FreeRTOS开发应用程序。
3.基于 FreeRTOS 的解决方案更多,或者基于 FreeRTOS 常见bug解决方法更多。
好了,本文就分享到这里,以上内容,欢迎大家留言讨论。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !