作者 | strongerHuang
公众号 | strongerHuang
用过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解决方法更多。
好了,本文就分享到这里,以上内容,欢迎大家留言讨论。