STM32Cube Ecosystem
STM32Cube is an ecosystem developed by STMicroelectronics, aimed at making STM32 development simpler and is 100% open-source and free.
Before we begin the introduction, here is an official video from ST for appreciation and understanding:
It consists of two main parts:
-
PC Software Tools:
-
STM32CubeMX
-
STM32CubeIDE
-
STM32CubeProgrammer
-
STM32CubeMonitor
-
Software Libraries:
-
STM32 Embedded Software bricks

STM32Cube PC Tools
-
STM32Cube MX: Configuration tool for any STM32 device. This tool is written in Java, so it can run on Windows, Linux, and Mac. It allows users to configure the microcontroller through a graphical user interface and then generates initialization C code for the Cortex-M core or Linux device tree source for the Cortex-A core (the following two images illustrate the role of STM32CubeMX):


-
STM32CubeIDE: Integrated Development Environment. This tool is based on Eclipse + GNU C/C++ toolchain. In addition to basic editing and compiling functions, it includes code compilation report features and advanced debugging capabilities. Additionally, this IDE integrates CubeMX.

-
STM32CubeProgrammer: Programming tool (for programming the microcontroller). This tool provides an easy-to-use and efficient environment for reading, writing, and verifying memory through various available communication methods (such as
JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, etc.).
-
STM32CubeMonitor: Powerful monitoring tool that helps developers debug and monitor the behavior and performance of applications in real-time.
These four tools accompany the entire STM32 development process:

STM32 Embedded Software
STM32 Embedded Software is a software package provided by STM32Cube, consisting of two main parts:
-
STM32Cube MCU Packages
-
STM32Cube Expansion
STM32Cube MCU Packages
STM32Cube MCU Packages are software packages for each MCU product provided by STM32Cube, which include:
-
Low-level library code
-
Middleware code
-
User code
Low-level Library Code
The HAL or LL libraries provided by STM32Cube cover the entire STM32 series, including:

Middleware Code
The middleware code provided by STM32Cube is very rich, including:

User Code
STM32Cube provides pre-written user code, allowing developers to develop various applications based on this:

As of February 2019, the support status of STM32Cube software packages for the entire STM32 series is as follows:

STM32Cube Expansion
STM32Cube Expansion supplements the functionality of STM32Cube MCU Packages. The currently available software expansion packages include:
-
Ready-to-use expansion packages for cloud connectivity (Amazon AWS, Microsoft Azure, IBM Watson, etc.)
-
LoRa
-
Cellular connectivity
-
NFC
-
Industrial communication protocols
-
Cryptography libraries
-
Sensor drivers
-
Motor control algorithms
-
Security self-test libraries
-
……
This concludes the introduction to the STM32Cube ecosystem. The next section will discuss how to obtain the PC tools and Embedded Software in the STM32Cube ecosystem, stay tuned.
For more exciting articles and resources, please follow my WeChat public account:『mculover666』.

