2024-01-05 12:40 PM
I was going to turn on USB VCP support into my latest research project on a Nucleo-H563ZI, and noticed that the normal middleware for USB devices doesn't seem to be there. (I've been using F4s and F7s for years, wrote articles on how to get started using them and basically been an ST fanboy and STM32 proponent for a while).
Anyway, unless I missed something, it looks like the USB middleware assumes ThreadX/Azure RTOS, as do the examples. Now I typically don't care for much that Microsoft puts their grubby mitts on, but if ThreadX is going to be the supported RTOS path for ST and Cube, so be it. I guess it's time to throw another RTOS into the pool. So far I've used uC/OS-II/III, RTEMS, and FreeRTOS, and have seen others pop up as the next-great-RTOS and fade away.
So, is ST planning on continuing with FreeRTOS? Move to ThreadX? Follow Nordic in using Zephyr? Writing their own?
It would be nice to know where you're heading because I do this sort of stuff for a living and have to support stuff that we've recommended and built. But if the middleware for future processors is only going to be on X RTOS, please let us know what that is going to be so we don't have to do a rewrite.
Andrei from The Great White North
Solved! Go to Solution.
2024-01-12 08:47 AM - edited 2024-01-12 08:48 AM
The primary objective for ST is to provide STM32 developers with tools, software bricks and examples and enable them accelerating their application development. ST aims to ensure that the software is optimized, leverages properly the STM32 hardware features, and is portable across the STM32 portfolio.
Continuity and support is also expected by developers.
The integration of Azure RTOS in STM32Cube has brought a consistent free-of-charge and mature solution for USB, file system and network stack, with associated support from ST.
This has been ported and deployed on various STM32 devices during last 3 years, as a professional alternative to ST USB, FatFS and lwIP (referred as Classic Core MW).
With the move of Azure RTOS to an open-source project, users will benefit in future from the MIT license for Azure RTOS software components (that will be renamed as Eclipse ThreadX).
ST is committed to continue the maintenance and the support of Azure RTOS, and later Eclipse ThreadX, within the STM32Cube framework.
If you are looking for FreeRTOS and/or Classic core MW for latest STM32 series (STM32U5, STM32H5, STM32WBA, STM32C0):
2024-01-05 01:14 PM
Pretty sure there's already support for Zephyr internally. @Erwan Gouriou
>>Now I typically don't care for much that Microsoft puts their grubby mitts on..
Lot of my own bad experiences there. #PlaysForSh*t
2024-01-05 04:07 PM - edited 2024-01-05 04:09 PM
Doing more research, Microsoft has handed off Thread-X/Azure RTOS to the Eclipse foundation as open source. The first release of Eclipse Thread-X will be 2024 (like right about now). So Azure RTOS is gone (grubby mitt prints rubbed off), but the chief architect of the project seems to have left and made his own company, PX5, to produce yet another RTOS (and perhaps provide support for Thread-X) and rumours have it that a bunch of the staff went with him.
Ongoing support and development for Eclipse Thread-X falls to a group of industry large companies (AMD, ST, NXP...) to get their house in order and support the thing or ... not, which should be happening right about now.
I believe this leaves ST in a weird situation, they seem to have gone all-in in adopting the Thread-X RTOS to support the middleware for networking, USB, and file system, instead of the previous players FatFS and LwIP and their support code. And then Microsoft appears to remove the foundation (money and staff).
The offerings in Thread-X look interesting, MISRA compliance, IEC 61508 compliance, IPV4&6, wear levelling on a FLASH file system, but what does the future hold?
So, is Thread-X going forward or getting backed out?
2024-01-06 11:58 AM - edited 2024-01-06 12:03 PM
Yes the face value of ThreadX is that it comes with a good company, NetX, UsbX, LevelX - which means at least some production quality drivers from ST or Microsoft. The question is, how much you'll pay for support (when you know, something does not work and there's a deadline). FreeRTOS has three tiers of support and is at least honest with this.
2024-01-09 06:05 AM
Hi @Andrei Chichak ,
6 months ago, we delivered the STM32H5 Classic Core Middleware (CoreMW) MCU Firmware Package (as already done for STM32U5).
I assume that this will help you to go ahead with your search project on STM32H5.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-01-09 10:46 AM
Yes, thank you, that solution will get around my current situation.
Going forward, is it ST's intent to move to the Thread-X libraries?
Will firmware be delivered via git generally? How does one discover when something is released?
Thanks for your input.
Andrei
2024-01-12 08:47 AM - edited 2024-01-12 08:48 AM
The primary objective for ST is to provide STM32 developers with tools, software bricks and examples and enable them accelerating their application development. ST aims to ensure that the software is optimized, leverages properly the STM32 hardware features, and is portable across the STM32 portfolio.
Continuity and support is also expected by developers.
The integration of Azure RTOS in STM32Cube has brought a consistent free-of-charge and mature solution for USB, file system and network stack, with associated support from ST.
This has been ported and deployed on various STM32 devices during last 3 years, as a professional alternative to ST USB, FatFS and lwIP (referred as Classic Core MW).
With the move of Azure RTOS to an open-source project, users will benefit in future from the MIT license for Azure RTOS software components (that will be renamed as Eclipse ThreadX).
ST is committed to continue the maintenance and the support of Azure RTOS, and later Eclipse ThreadX, within the STM32Cube framework.
If you are looking for FreeRTOS and/or Classic core MW for latest STM32 series (STM32U5, STM32H5, STM32WBA, STM32C0):
2024-01-12 12:01 PM
Merci Loic. This is the information that I was looking for.