stm32duino / Arduino_Core_STM32

STM32 core support for Arduino
https://github.com/stm32duino/Arduino_Core_STM32/wiki
Other
2.76k stars 960 forks source link

Azure RTOS software expansion #1646

Closed rtek1000 closed 2 years ago

rtek1000 commented 2 years ago

Hello,

I would like to know if there is any prediction of using this RTOS on the Arduino platform.

I believe that ST is still adapting the tools to generate the code natively, as already mentioned, quoting the text: _

New STM32 series introduced starting from 2021 benefit from a direct integration of Azure® RTOS embedded software components within the matching STM32Cube MCU Package.

_

This RTOS option looks very interesting and I hope it will be put to good use by embedded device developers. Many are still (myself included) underusing the potential of an ARM microcontroller, as if these were 8-bit RISC microcontrollers.

Here's a quote I found about it, in case anyone wants to start learning about it:

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

  • Integrated and full featured RTOS. Learn more about ThreadX[1].
  • Industrial grade networking stack: optimized for performance coming with many IoT protocols. Learn more about NetX Duo[2].
  • Advanced Flash file system (FS) / Flash translation layer (FTL): fully featured to support NAND/NOR Flash memories. Learn more about FileX[3] and LevelX[4]
  • USB Host and Device stacks coming with many classes. Learn more about USBX[5].
  • 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 software cryptographic library
  • With Azure® RTOS complementing the extensive STM32Cube ecosystem providing free development tools, software bricks, and software Expansion Packages, STM32 users can also leverage the rich services of Azure® RTOS, which meet the needs of tiny, smart, connected devices.

For currently public STM32 series (introduced up to 2020), Azure® RTOS integration is planned as a software STM32Cube Expansion Package enhanced for the STM32 Toolset (such as X-CUBE-AZRTOS-H7[6] for the STM32H7 Series[7]). The expansion is built on STM32Cube software technology to make the portability across different STM32 microcontrollers easy and to allow the user to benefit from STM32CubeMX[8] or STM32CubeIDE[9] software tools native features alongside the Azure® RTOS applications. New STM32 series introduced starting from 2021 benefit from a direct integration of Azure® RTOS embedded software components within the matching STM32Cube MCU Package. For instance, for the STM32U5 Series, the matching STM32Cube MCU Package named STM32CubeU5 features Azure® RTOS directly.

Once integrated within STM32Cube, whether in an STM32Cube Expansion or MCU Package, Azure® RTOS benefits from many additions done by STMicroelectronics:

  • Ability to use Azure® RTOS MW with some level of configurability directly within STM32CubeMX
  • Addition of many examples for standard evaluation boards from STMicroelectronics: STM32 Nucleo, Discovery kits and Eval boards, thus, reducing the learning curve and ensuring a smooth application development experience with Azure® RTOS and STM32 MCUs.
  • Addition of material helping with migration effort
  • Addition of training material

https://wiki.st.com/stm32mcu/wiki/STM32CoreMW_overview

Thank you.

rtek1000 commented 2 years ago

I found this:

Azure RTOS ThreadX Library for Arduino Bring Azure RTOS to Arduino for maker. Refer to https://github.com/azure-rtos/threadx for official release from Microsoft.

This library is compatible with the samd, stm32 architectures so you should be able to use it on the following Arduino boards:

Arduino MKR FOX 1200 Arduino MKR GSM 1400 Arduino MKR NB 1500 Arduino MKR VIDOR 4000 Arduino MKR WAN 1300 (LoRa connectivity) Arduino MKR WAN 1310 Arduino MKR WiFi 1010 Arduino MKR ZERO (I2S bus & SD for sound, music & digital audio data) Arduino MKR1000 WIFI Arduino Nano 33 IoT Arduino Zero

https://www.arduino.cc/reference/en/libraries/azure-rtos-threadx/