Introduction to the STM32Cube Ecosystem

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

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 Cortex-M cores or Linux device tree source for Cortex-A cores (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 also includes code compilation report features and advanced debugging capabilities. Moreover, this IDE also integrates CubeMX.

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

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

Introduction to the STM32Cube Ecosystem

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:

Introduction to the STM32Cube Ecosystem

Middleware Code

STM32Cube provides a rich set of middleware code, including:

Introduction to the STM32Cube Ecosystem

User Code

STM32Cube provides preliminary user code, and developers can 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 shown in the table below:

Introduction to the STM32Cube Ecosystem

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

  • ……

Introduction to the STM32Cube Ecosystem

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.

Introduction to the STM32Cube Ecosystem

Leave a Comment