Stm32cube Ecosystem Overview
Stm32cube Ecosystem Overview
overview
Making STM32
development easier
Inside the STM32Cube ecosystem
Middlewares
+ Azure RTOS
Drivers
Programming
Azure RTOS NetX/NetX Duo
TCP/IP stacks
Expansions
Monitor
Azure RTOS USBX
USB stack, host and device
2
Production License for any STM32
STM32Cube Ecosystem: User benefits
Easily getting the most out of STM32 MCUs for a drastically reduced
customer development cycle and time-to-market
Expandable
TCP 802.15.4
/IP
Arm ® Cortex ® -M
5
STM32Cube MCU packages
Dedicated to each STM32 Series
www.st.com/stm32cubemcupackage 7
One-stop-shop SW packages
Peripheral drivers
HAL API
Hardware Abstraction Layer, highly portable and
easy to use
LL APIs
Low-Layer APIs, light weight and highly optimized
for runtime efficiency
STM32Cube Middleware
Generic MW Dedicated MW
• FreeRTOS • ST Bluetooth 5 stack • LoRaWAN stack • TF-M
• FatFS file system • OpenThread stack • Sigfox stack • ST USB Host & Device stacks
• LwIP TCP/IP stack • ST 802.15.4 MAC • Sub-GHz phy • STM32 Touch Sensing library
• mbedTLS and mbedCrypto • Zigbee 3 stack • ST Key Management • STemWin graphics stack
• Open Bootloader • STM32 WPAN Services (KMS)
www.st.com/stm32cubemcupackage 8
Detailed content and organization
STM32Cube MCU
Package
BSP
STM32_
FreeRTOS Applications Applications examples
Audio
using Middleware (ex: USB virtual com port)
STM32_USB_
LibJPEG Examples
Simple examples
Device_Library
for STM32 Peripherals (ex: GPIO, USART, …)
STM32_USB_
Host_Library LwIP Templates
Empty template projects
Prepared for user modification and pre-
configured for several IDEs
TouchGFX mBedTLS Templates_LL
9
Middleware tailored for each series
USB
LL HAL USB LwIP Touch USB BLE OpenThread Zigbee
Family FreeRTOS FatFS STemWin OpenAMP LoRaWAN Sigfox TF-M
API API Device mBedTLS Sense PD Stack Stack 3
Host
STM32CubeF0 ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF1 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF2 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF3 ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF4 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeH7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeG0 ✓ ✓ ✓ ✓ ✓
STM32CubeG4 ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL0 ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL1 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL4 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeWB ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeWL ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeMP1 ✓ ✓ ✓ ✓
STM32Cube expansion packages
X-CUBE / I-CUBE / Function Pack (FP)
Function Pack (FP)
X-CUBE packages
From ST
I-CUBE packages
From 3rd parties
Complementing and expanding the STM32Cube MCU Packages with middleware alternatives
or straightforward implementations of real applicative use cases
12
www.st.com/x-cube
Expansions with middleware
Azure RTOS
X-CUBE
Enhanced for
X-CUBE-AZRTOS-H7 STM32 Toolset
13
Expansions with middleware
14
Expansions for various applications
Audio Crypto Sub-1G
X-CUBE X-CUBE X-CUBE
X-CUBE-AUDIO X-CUBE-CRYPTOLIB X-CUBE-SUBG1
X-CUBE-VS4A
X-CUBE-USB-AUDIO BLE
USB
X-CUBE
Bootloader/Secure Boot X-CUBE Enhanced for
X-CUBE-BLE1 STM32 Toolset
X-CUBE-USB-PD
X-CUBE X-CUBE-BLE2 Enhanced for
STM32 Toolset
X-CUBE-IAP-USART
X-CUBE-IAP-SD SigFox NFC
X-CUBE-SBSFU
X-CUBE
X-CUBE
X-CUBE-SFOX Enhanced for
Safety X-CUBE-NFC42 STM32 Toolset
X-CUBE
X-CUBE-CLASSB
LoRa GRAPHICS
X-CUBE-STL1 I-CUBE X-CUBE
Enhanced for
I-CUBE-LRWAN X-CUBE-TOUCHGFX STM32 Toolset
Cloud Motion AI
X-CUBE X-CUBE X-CUBE
Enhanced for
X-CUBE-CLD-GEN1 X-CUBE-6180XA1 X-CUBE-AI STM32 toolset
X-CUBE-AWS X-CUBE-IKA02A1
X-CUBE-AZURE X-CUBE-MEMS-XT1
Enhanced for
X-CUBE-WATSON X-CUBE-MEMS1 STM32 Toolset
X-CUBE-GCP X-CUBE-MEMS1-V4
FP FP FP
FP-CLD-AWS1 FP-SNS-6LPNODE1 FP-AI-SENSING1
FP-CLD-AZURE1 FP-SNS-ALLMEMS1 FP-AI-VISION1
FP-CLD-WASTON1 FP-SNS-FLIGHT1
FP-SNS-MOTENV1
16
Expansions for motor control
X-CUBE X-CUBE
X-CUBE-MCSDK X-CUBE-SPN1
STM32 Motor Control SDK (MCSDK) Stepper bipolar motor driver software expansion for STM32Cube
X-CUBE-MCSDK-FUL X-CUBE-SPN2
Two axes stepper motor driver software expansion for STM32Cube
STM32 Motor Control SDK (MCSDK) –
FULL source code –
Registration/approbation needed for
download
X-CUBE-SPN3
High-power stepper motor driver software expansion for STM32Cube
X-CUBE-SPN4
Dual-brush DC motor driver software expansion for STM32Cube
X-CUBE-SPN7 X-CUBE-SPN5
Three-phase brushless DC motor driver Stepper bipolar motor driver software expansion for STM32Cube
17
Expansions enhanced for STM32 Toolset
I-CUBE-EMBOS
I-CUBE-UNISON
I-CUBE-WOLFSSL
X-CUBE-AI
X-CUBE-ALGOBUILD
X-CUBE-BLE1
X-CUBE-BLE2
X-CUBE-EEPRMA1
X-CUBE-GNSS1
X-CUBE-MEMS1
X-CUBE-NFC4
X-CUBE-SUBG2
X-CUBE-SFXS2LP1
X-CUBE-TOUCHGFX
Get you up and running faster on your own STM32 board prototype 18
STM32Cube expansions on ST website
stm32cube expansion
19
STM32Cube software
Development tools
A complete Software Development Tools offer
Customers Applications
STM32Cube Software Development Tools
STM32Cube Expansions
STM32Cube ST Tools STM32Cube Partners Tools
Applications tools
Connect Secure Process Move/Actuate Sense Convert Power-up
Arm ® Cortex ® -M
21
STM32CubeMX
What’s STM32CubeMX?
23
STM32CubeMX key steps
Power Consumption
MCU / board / Example Selector
Calculator
Peripherals Configuration
MCU / MPU
SELECTOR
BOARD
SELECTOR
EXAMPLE
SELECTOR
25
MCU/MPU selector
MCU / MPU BOARD EXAMPLE
SELECTOR SELECTOR SELECTOR
DESCRIPTION
&
INFORMATION
DEDICATED
FILTERS
PRODUCT
LIST
26
Pinout configuration
27
Clock-tree configuration
28
Peripheral parameters
29
Middleware and software components parameters
30
Add Expansion Middleware and build your own
or
32
Power consumption calculator
33
STM32CubeMX repository
After pressing “GENERATE CODE”:
STM32CubeMX IDE
Repository Project
34
MCU/MPU selection for AI application
35
STM32CubeIDE
Background of STM32CubeIDE
History
37
One tool for all your STM32 development
38
Free multi-platform development tool
FREE
39
Project management
Importer IOC Editor
TrueSTUDIO
Project
SW4STM32
Project
40
Code editor – navigation
Symbol Hyperlink Include Browser Call Hierarchy
Ctrl
41
Code editor – navigation (2/2)
Outline View Powerful Search Open Resource
42
Code editor – writing
Highlight Inactive Code Auto-Complete Syntax Highlight
43
01110 Build tools
Build Analyzer Static Stack Analyzer Headless Build
Jenkins Hudson
Continuous Integration
44
Debug
Debugger Live expressions SWV
USB
ThreadX Microsoft Azure
JTAG/SWD
45
STM32CubeProgrammer
From ST-LINK Utility to STM32CubeProgrammer
ST-Link Utility STM32CubeProgrammer
47
All-in-one programming software tool
Multi-platform
Intuitive GUI
(Windows, Linux, macOS)
48
From ST-Link V2 to STLink-V3
ST-Link V2 STLink-V3
STLINK-V3MINI
ST-LINK/V2
STLINK-V3MODS
ST-LINK/V2-ISOL
STLINK-V3SET
ST-LINK/V2-1
49
STLink-V3 debugger / programmer
Easier/Faster/Affordable
50
STM32CubeMonitor
STM32CubeMonitor overview
Monitoring application variables during runtime
• Non-intrusive tool to follow application behavior without
interruption.
• Real-time analysis to finetune application configuration.
52
Graphical custom data visualization
Design mode to create Dashboard mode to visualize
Build and edit the logical data flow and graphical Use the monitoring UI built previously and
rendering of the custom monitoring UI. visualize locally or remotely.
53
Remote monitoring
User
SWD USB
Application
54
STM32CubeMonitor-Power
STM32CubeMonitor-Power
STM32CubeMonPwr X-NUCLEO-LPM01A
Target
56
STM32 power profiling
Ultra-Low-Power Consumption Measurements
• Supply target board from 1.8V to 3.3V
• Dynamic current from 100 nA to 50 mA (100 dB)
• Static current from 1 nA to 200 mA
• Accuracy approximately 2%
57
STM32CubeMonitor-RF
STM32CubeMonitor-RF
A software tool allowing to test the radio performances of STM32WB MCUs for
BLE and 802.15.4 technologies
59
STM32CubeMonitor-UCPD
STM32CubeMonitor-UCPD
61
Key takeaways
Iterative development process
63
64
Find out more at www.st.com/STM32Cube