Introduction to Azure RTOS with STM32

Revision as of 17:43, 10 February 2021 by Registered User



1. What is STM32CoreMW ?

ST offers a complete, proven, and reliable MCU software solution for developers. It covers low layers, middleware, and applicative sides, as well as configuration, programming, monitoring and debugging tools.


Core Middleware Components

The basic Middleware stacks that are commonly needed for applications are: RTOS, File System, USB, TCP/IP, Bootloader, JPEG and TLS. ST offers a comprehensive set of stacks and applications covering these topics. This set of Middleware stacks is called STM32 Core Middleware (STM32CoreMW for short).

STM32CoreMW solution is constructed around Microsoft Azure RTOS Middleware and other in-house (ST USB, OpenBL) and open source stacks (FreeRTOS, FatFS, LwIP, embTLS, LibJPEG). All integrated and customized for STM32 MCU devices and enriched with corresponding application examples based on STM32 evaluation boards.

Core Middleware Components

2. STM32 Azure RTOS

Azure RTOS is a professional grade, highly reliable and market proven Middleware suite:

  • Integrated and full featured RTOS. Learn more about ThreadX.
  • Industrial grade networking stack: optimized for performance coming with many IoT protocols. Learn more about NetXDuo.
  • Advanced FS/FTL: fully featured to support NAND/NOR Flash memories. Learn more about FileX and LevelX
  • USB Host and Device stacks coming with many classes. Learn more about USBX.
  • Safety pre-certifications (from MSFT): IEC 61508 SIL4, IEC 62304 Class C and ISO 26262 ASIL D
  • Security pre-certifications (from MSFT): EAL4+ for TLS/DTLS, FIPS 140-2 for SW crypto lib
  • STM32 granted production license

In order to implement FileX, LevelX, NetXDuo or USBX, an integrated RTOS is required (ThreadX). A “bare-metal” implementation is planned in the future for USBX.

AzureRTOS MW stacks are also interdependent. In fact, some USBX Host classes are using the FileX API, while other USBX device classes require the NetXDuo API. LevelX is used by FileX to support file system on NAND and NOR memories.

Azure RTOS Interdependencies

2.1. Azure RTOS Integration

ST offers integrated and ready to use environment to allow effortless implementation of user projects based on Azure RTOS and other CoreMW stacks.

  • Ability to use Azure RTOS and other CoreMW stacks with a level of configurability directly from STM32CubeMX
  • Addition of multiple application examples for standard ST evaluation boards: STM32Nucleo, Discovery Kits and Eval boards.
  • Addition of material helping with migration efforts
  • Addition of training material and documentation

The AzureRTOS API are HW agnostic, they run seamlessly on all supported HW and IPs. Each MW has its own low-level driver to support a specific HW IPs. These drivers are implemented using the HAL/BSP drivers to ensure portability among different STM32 MCU and boards.

Azure RTOS Interactions

2.2. Azure RTOS Applications

Multiple functional applications are provided in STM32 CubeFW package for Azure RTOS stacks. Please visit the page dedicated for each Azure RTOS stack for more details about available applications.

2.3. Azure RTOS License

Component License Copyright
CMSIS Apache License 2.0 Copyright (c) 2009-2017 ARM Limited. All rights reserved.
CMSIS Device Apache License 2.0 ARM Limited - STMicroelectronics
STM32H7 HAL BSD-3-Clause STMicroelectronics
BSP STM32H7xx_Nucleo BSD-3-Clause STMicroelectronics
BSP STM32H735G-DK BSD-3-Clause STMicroelectronics
BSP Components BSD-3-Clause STMicroelectronics
Application Projects ST SLA0044 STMicroelectronics
STM32 Utilities BSD-3-Clause STMicroelectronics
Azure RTOS ThreadX Microsoft Software License for Azure RTOS Microsoft
Azure RTOS NetXDuo Microsoft Software License for Azure RTOS Microsoft
Azure RTOS FileX Microsoft Software License for Azure RTOS Microsoft
Azure RTOS LevelX Microsoft Software License for Azure RTOS Microsoft
Azure RTOS USBX Microsoft Software License for Azure RTOS Microsoft