To improve the accessibility of our content, please find the audio version of this blog post.
Microsoft and ST recently announced a pivotal collaboration around Azure RTOS and most of its components to make them an important part of the STM32Cube ecosystem, our set of tools and software bricks that facilitate developments. Put simply, Microsoft worked with us to ensure that their operating software would efficiently take advantage of our STM32 microcontrollers, while we aim to allow developers to quickly enjoy the OS and many of its middleware and stacks. STM32 will obviously remain a platform open to all RTOSes, meaning that users wishing to use FreeRTOS, Zephyr, Mbed, or any of the other OSes for embedded systems will still be able to do so. However, the fruits of our collaboration with Microsoft enhance our current solution to offer a comprehensive set of features that will allow teams to quickly meet certain industry certifications.
What Is STM32Cube?
ST introduced STM32Cube in 2014. It comprises software libraries and development tools to offer a complete toolbox that accompanies project developers through each major step of their journey. STM32Cube utilities and packages are free to use and available in a very business-friendly license. In the vast majority of cases, the libraries come with their source code and developers not only see how we implemented certain functionalities but can reuse them in their application to simplify their work and reduce their time to market. The ST Blog often relates stories of companies that used our STM32Cube software to alleviate the complexity inherent to programming on embedded systems, such as Nytec Inc. and their Connected X.0 or German Autolabs and their Chris, to only name two.
What Will Be the Azure RTOS Experience on STM32?
Azure RTOS is the only free OS for embedded systems that comes with that many certifications, both for safety (IEC 61508 SIL 4, ISO 26262 ASIL D, IEC 62304 Medical Class C), and security (EAL4+, FIPS 140-2). Users looking to penetrate the industrial, automotive, or medical markets, among others, can thus turn to Microsoft, a member of the ST Partner Program, to benefit from these standards and offer greater guarantees to their customers. Moreover, we will also work with Microsoft to ensure that Azure RTOS takes advantage of key IPs present in STM32 MCUs, such as our hardware crypto core. Hence, teams won’t only benefit from an RTOS that meets stringent security standards but they will also enjoy hardware optimizations that will enable them to secure their system and protect their users more efficiently.
Another thing to consider is that moving from proof-of-concept to a final product can be a daunting task. Hence, to reduce the time to market, all our STM32 MCUs will receive a free evaluation and production Azure RTOS license. Thanks to our collaboration with Microsoft, developers will be able to modify the source code and distribute it. Additionally, ST will also update or release new STM32Cube embedded software packages and tools to take advantage of the Azure RTOS middleware and stacks.
What Will Azure RTOS Bring to STM32Cube?
At the core of Azure RTOS, we find ThreadX RTOS, which stands out for its powerful scheduling capabilities, among other things. In a white paper on Preemption-Threshold Scheduling, the software company explains how, traditionally, an RTOS allows any thread with a higher priority to preempt, meaning take over, a currently running thread with a lower priority. ThreadX provides a lot more granularity and enables developers to set thresholds to prevent preemptions and reduce context switching, thus vastly optimizing performances. Similarly, it also offers event-chaining, which enables a specific action when an event occurs. As a result, threads waiting for an event can start automatically, which facilitates developments and reduces the resources necessary.
Offering Azure RTOS as one of our STM32Cube middleware means our users will more easily benefit from Azure RTOS while still enjoying the best our development platform has to offer. For instance, Azure RTOS also comes with FileX, a filesystem offering advanced features on NAND and NOR Flash memories like fault tolerance, or wear leveling. NetX, and NetX Duo, are network stacks that offer TCP/IP, IPv4, and IPv6, as well as many upper-level protocols used in IoT like MQTT or COAP. There’s also USBX that facilitates the use of a USB interface, both as a host or as a device, with a complete set of supported USB classes.
What Will Remain the Same?
Since our TouchGFX framework makes embedded GUIs very accessible and serves as a significant reference in the industry, we will not be using the GUIX component of Azure RTOS. Customers have the assurance that our investments in our existing tools and solutions are unwavering. Similarly, we will continue to support, use, and work on our new STM32CubeMonitor instead of using TraceX from Microsoft. Hence, this collaboration is highly beneficial for engineers and industry leaders who gain more features without losing the utilities and environments they depend on.