Introduction to the STM32Cube Ecosystem

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

Introduction to the STM32Cube Ecosystem

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):

    Introduction to the STM32Cube Ecosystem
    Introduction to the STM32Cube Ecosystem
  • 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.

    Introduction to the STM32Cube Ecosystem
  • 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.).

    Introduction to the STM32Cube Ecosystem
  • 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:

Introduction to the STM32Cube Ecosystem

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:

Introduction to the STM32Cube Ecosystem

Middleware Code

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

Introduction to the STM32Cube Ecosystem

User Code

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

Introduction to the STM32Cube Ecosystem

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

Introduction to the STM32Cube Ecosystem

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

  • ……

Introduction to the STM32Cube Ecosystem

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』.

Introduction to the STM32Cube Ecosystem

Introduction to the STM32Cube Ecosystem

Leave a Comment