0% found this document useful (0 votes)
193 views

Stm32cube Ecosystem Overview

Uploaded by

icache2010
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views

Stm32cube Ecosystem Overview

Uploaded by

icache2010
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

STM32Cube ecosystem

overview
Making STM32
development easier
Inside the STM32Cube ecosystem

Software Tools Embedded Software Complemented with Microsoft Azure RTOS

Azure RTOS ThreadX


Real-time operating system
Configuration Packages

Azure RTOS FileX


FAT file system, fault tolerant
Development User application

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

Fits many developer profiles


from beginners to experts Easy and fast learning curve
• Exhaustive software for a competitive advantage
development framework Easy to • Reduced time-to-market
Accessible Use
• Free ST IDE (GCC) and • Allows focusing on applicative
professional IDE partners
• Free of charge and business- differentiation
friendly license terms

Expandable

Fits many customer use cases


• Complemented by many solutions from official ST partners
• Production-ready 3
STM32Cube embedded software
A flexible, scalable and consistent MCU offer
Customers Applications
STM32Cube Embedded Software
STM32Cube
STM32Cube Expansions
Expansion Packages STM32Cube Expansion Packages
from ST from Partners
Connect Secure Process Move/Actuate Sense Convert Power-up

STM32Cube MCU & MPU Packages


STM32Cube MCU Middleware

TCP 802.15.4
/IP

STM32Cube HAL & LL drivers

Arm ® Cortex ® -M

5
STM32Cube MCU packages
Dedicated to each STM32 Series

Mainstream High Performance MPU Ultra-Low Power Wireless


MCU MCU MCU MCU

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

Drivers Middleware Projects Documents Utilities

STM32xxx- STM32xxx- STM32xxx-


CMSIS ST Third Party Nucleo EVAL
Discovery

STM32xxx_ STemWin FatFS Demonstrations Demonstrations


HAL_Driver
Factory demoes of the STM32 boards

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)

Advanced applicative projects and libraries

X-CUBE packages
From ST

Ex: X-CUBE-AZRTOS-H7, X-CUBE-AI,


X-CUBE-TOUCHGFX, X-CUBE-SBSFU,
X-CUBE-CRYPTO, …

I-CUBE packages
From 3rd parties

Ex: I-CUBE-EMBOS, I-CUBE-UNISON,


I-CUBE-CANOPEN…

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

Azure RTOS ThreadX Azure RTOS NetX/NetX Duo


Real-time operating system TCP/IP stacks

Azure RTOS FileX Azure RTOS USBX


FAT file system, fault tolerant USB stack, host and device

13
Expansions with middleware

UNISON WolfSSL CANopen embOS


I-CUBE I-CUBE I-CUBE I-CUBE

I-CUBE-UNISON I-CUBE-WOLFSSL I-CUBE-CANOPEN I-CUBE-EMBOS


Enhanced for Enhanced for Enhanced for
STM32 Toolset STM32 Toolset STM32 Toolset

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

(1) Contact STMicroelectronics local representative


(2) Non-exhaustive list, please refer to st.com 15
Expansions with Function Packs

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

Motor - PMSM Motor - Stepper

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?

Graphical Configuration IDE Project Generation Multi-platform


(Pinout/Peripherals/Middleware/Clock-Tree) (IAR™, Keil™ and GCC compilers) (Windows, Linux, macOS)

23
STM32CubeMX key steps

Power Consumption
MCU / board / Example Selector
Calculator

Code Generation Pinout Configuration

Software Components Clock Tree Initialization


Parameters

Peripherals Configuration

I2C SPI UART


CAN 24
MCU / MPU selection

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

Download and install Build your own Expansion Package


existing Expansion Package… with STM32PackCreator

…and select components to add to your project


31
Code generation

32
Power consumption calculator

33
STM32CubeMX repository
After pressing “GENERATE CODE”:

1. STM32CubeMX grabs necessary peripheral drivers


based on your pinout/peripheral configuration from
STM32Cube MCU Package in STM32CubeMX
Repository

2. STM32CubeMX grabs necessary middleware based on


your middleware configuration from STM32Cube MCU
Package in STM32CubeMX repository

3. Generate IDE project

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

Chipset / Board Code Validation


Configuration Development Debug

38
Free multi-platform development tool
FREE

Eclipse/GCC Based Free for Commercial Development Multi-OS Support

39
Project management
Importer IOC Editor

TrueSTUDIO
Project

SW4STM32
Project

40
Code editor – navigation
Symbol Hyperlink Include Browser Call Hierarchy

Ctrl

Brace Navigation Macro Expansion Browser Type Hierarchy

41
Code editor – navigation (2/2)
Outline View Powerful Search Open Resource

Task Tags Bookmark Minimap

42
Code editor – writing
Highlight Inactive Code Auto-Complete Syntax Highlight

File Diff/Compare Block Select Code Style

43
01110 Build tools
Build Analyzer Static Stack Analyzer Headless Build

Jenkins Hudson

Continuous Integration

• Build project without opening IDE

No GUI shown but build system


becomes active

• Supported for makefile and


managed projects

44
Debug
Debugger Live expressions SWV

Integrated UART Terminal Remote Debug RTOS aware Debug


TCP/IP
ST-LINK
GDB Server
FreeRTOS

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)

STLink Direct Support


Automatic Mode
(JTAG, SWD)

Option Bytes Bootloader Interface Support


Program & Upload (USB, UART, SPI, I2C, CAN)

Internal/External API DLL


Flash Services for Custom Integration

Command Line Interface Trusted Package Creator


for Scripting (secure programming)

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

Stand-alone and scalable (V3SET)

Multi-path Bridge (I²C/SPI/CAN/UART/USB)

Drag&Drop Flash Programming

Compact (V3MINI) or On-board (V3MODS)

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.

Drag & drop creation of dashboard UI


• Large choice of graphical components (gauges, bar graphs,
plots...)
• Customize settings. No need for programming.
• Direct support of the Node-RED® open community.

Graphical visualization on any display


• Multi-OS tool: direct support of PC, tablets and smartphones.
• Remote monitoring.

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

Native support of multi-format Dynamic layout of dashboard UI on


displays PCs, tablets, smartphones.

Remote data acquisition with Monitor across a network with a


web server technology web browser

User
SWD USB
Application

STM32 STLink probe Gateway Dashboard

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%

Intuitive User Experience


• Two operating modes (stand-alone or PC-controlled)

• Graphical PC application (reference: STM32CubeMonPwr)

Official EEMBC Energy Monitor v2.0


Direct computation of ULPMark scores

57
STM32CubeMonitor-RF
STM32CubeMonitor-RF

A software tool allowing to test the radio performances of STM32WB MCUs for
BLE and 802.15.4 technologies

Test protocol sequences

Configure static / dynamic beacons

Manage Over the Air (OTA) file transfer

59
STM32CubeMonitor-UCPD
STM32CubeMonitor-UCPD

Monitoring and configuring tool for USB Type-C™ and


USB Power Delivery applications using STM32 microcontroller

Support of USB Type-C™ 1.2 and


USB PD 2.0/3.0

Port configuration pane for PD setting, VDM,


SOP, Source and Sink Capabilities

Port communication pane for VBUS and IBUS


monitoring, distant port capabilities,
message selector, and real-time traces

61
Key takeaways
Iterative development process

Configuration Development Programming Monitor

63
64
Find out more at www.st.com/STM32Cube

© STMicroelectronics - All rights reserved.


ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy