For a better reading experience, please click “Read Original” to visitMculover666’s personal blog.
STM32Cube Ecosystem
STM32Cube is an ecosystem developed by STMicroelectronics, aimed at making STM32 development simpler and is 100% open source and free.
Before we start the introduction, here is a video from ST official for your appreciation:
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 Cortex-M cores or Linux device tree source for Cortex-A cores (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 also includes code compilation report features and advanced debugging capabilities. Moreover, this IDE also integrates CubeMX.

-
STM32CubeProgrammer: Programming tool (for programming 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 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 Softwares are software packages provided by STM32Cube, which include two main parts:
-
STM32Cube MCU Packages
-
STM32Cube Expansion
STM32Cube MCU Packages
STM32Cube MCU Packages are software packages provided for each MCU product, which include:
-
Low-level library code
-
Middleware code
-
User code
Low-level Library Code
STM32Cube provides HAL or LL libraries, covering the entire STM32 series, including:

Middleware Code
STM32Cube provides a rich set of middleware code, including:

User Code
STM32Cube provides preliminary user code, and developers can develop various applications based on this:

As of February 2019, the support status of STM32Cube software packages for the entire STM32 series is shown in the table below:

STM32Cube Expansion
STM32Cube Expansion supplements the functionality of STM32Cube MCU Packages. Currently available software expansion packages include:
-
Ready-to-use expansion packages for cloud connections (Amazon AWS, Microsoft Azure, IBM Watson, etc.)
-
LoRa
-
Cellular connection
-
NFC
-
Industrial communication protocols
-
Cryptography libraries
-
Sensor drivers
-
Motor control algorithms
-
Security self-test libraries
-
……
Thus, the introduction to the STM32Cube ecosystem is complete. The next section will discuss how to obtain the PC tools and Embedded Software in the STM32Cube ecosystem, so stay tuned.
