STM32CubeMX

Table Of Contents

- STM32CubeMX documentation
- CubeMX User Manual
  - 1 STM32Cube overview
  - 2 Getting started with STM32CubeMX
  - 3 Installing and running STM32CubeMX
  - 4 STM32CubeMX user interface
  - 5 STM32CubeMX tools
  - 6 STM32CubeMX C Code generation overview
  - 7 Code generation for dual-core MCUs (STM32H7 dual-core product lines only)
  - 8 Code generation with TrustZone enabled (STM32L5 series only)
  - 9 Device tree generation (STM32MPUs only)
  - 10 Support of additional software components using CMSIS-Pack standard
  - 11 Tutorial 1: From pinout to project C code generation using an MCU of the STM32F4 series
  - 12 Tutorial 2 - Example of FatFs on an SD card using STM32429I-EVAL evaluation board
  - 13 Tutorial 3 - Using the Power Consumption Calculator to optimize the embedded application consumption and more
  - 14 Tutorial 4 - Example of UART communications with an STM32L053xx Nucleo board
  - 15 Tutorial 5: Exporting current project configuration to a compatible MCU
  - 16 Tutorial 6 - Adding embedded software packs to user projects
  - 17 Tutorial 7 - Using the X-Cube-BLE1 software pack
  - 18 Creating LPBAM projects
  - Appendix A STM32CubeMX pin assignment rules
  - Appendix B STM32CubeMX C code generation design choices and limitations
  - Appendix C STM32 microcontrollers power consumption parameters
  - Appendix D STM32Cube embedded software packages
  - Revision history
- Release Notes
  - Release details
  - Release fixes
  - Known limitations
    - Miscellaneous
    - 2.1. When selecting microcontrollers in the STM32C0 series
    - 2.2. When selecting microcontrollers in the STM32G0 series
    - 2.3. When selecting microcontrollers in the STM32G4 series
    - 2.4. When selecting microcontrollers in the STM32H5 series
    - 2.5. When selecting microcontrollers in the STM32H7 series
    - 2.6. When selecting dual-core microcontrollers in the STM32H7 series
    - 2.7. When selecting microcontrollers in the STM32L5 series
    - 3.4. How to improve the wake-up from Stop sequences without relying on the global SystemClock_Config()
    - 3.3. List pinout-compatible microcontrollers
    - 3.2. DDR binaries for the STM32MP1 boards
    - 3.1. Command line authentication required
    - 2.21. Symbolic links on Ubuntu
    - 2.20. User manual
    - 2.19. DDR test suite
    - 2.18. STM32CubeIDE toolchain
    - 2.13. When selecting microcontrollers in the STM32WL series
    - 2.11. When selecting microcontrollers in the STM32WB series
    - 2.17. When using additional software packs
    - 2.16. When using the Example Selector
    - 2.15. When using the Memory Management Tool
    - 2.14. When selecting microprocessors in the STM32MP1 series
    - 2.11.1. When selecting microcontrollers in the STM32WB0 product lines
    - 2.12. When selecting microcontrollers in the STM32WBA series
    - 2.13.1. When selecting microcontrollers in the STM32WL33 product lines
    - 2.10. When selecting microcontrollers in the STM32U5 series
    - 2.9. When selecting microcontrollers in the STM32U3 series
    - 2.8. When selecting microcontrollers in the STM32N6 series
- Running STM32CubeMX in command-line mode
- FAQ
- Community

### On this page

- STM32Cube overview

# 1 STM32Cube overview

STM32Cube is an STMicroelectronics original initiative to improve designer productivity significantly by reducing development effort, time, and cost. STM32Cube covers the whole portfolio of STM32 devices, based on 32-bit Arm ® Cortex ®(a) cores.

> STM32Cube includes:

- A set of user-friendly software development tools to cover project development from conception to realization, among which are:

  - STM32CubeMX, a graphical software configuration tool that allows the automatic generation of

  - C initialization code using graphical wizards

  - STM32CubeIDE, an Eclipse®-based IDE, providing code edition, compilation, programming, and

  - debugging capabilities

  - STM32CubeCLT, an all-in-one command-line development toolset with code compilation, board

  - programming, and debug features

  - STM32CubeIDE for Visual Studio Code (STM32VSCode), a complete IDE based on VS Code®

  - platform

  - STM32CubeProgrammer (STM32CubeProg), a programming tool available in graphical and

  - command-line versions

  - STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr,

> STM32CubeMonRF,STM32CubeMonUCPD), powerful monitoring tools to finetune the behavior and performance of STM32 applications in real time

- STM32CubeWiSE (STM32CubeWiSEcg, STM32CubeWiSEre), graphical tools designed to evaluate and test the capabilities of sub-GHz radios and protocols

- A set of user-friendly software development tools to cover project development from conception to realization, among which are:

  - STM32CubeMX, a graphical software configuration tool that allows the automatic generation of C initialization code using graphical wizards

  - STM32CubeIDE, an all-in-one development tool with peripheral configuration, code generation, code compilation, and debug features

  - STM32CubeCLT, an all-in-one command-line development toolset with code compilation, board programming, and debug features

  - STM32CubeProgrammer (STM32CubeProg), a programming tool available in graphical and command-line versions

> 1. Arm and Cortex are registered trademarks of Arm Limited (or its subsidiaries or affiliates) in the US and/or elsewhere.

> The Arm word and logo are trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. All rights reserved.

## STM32Cube overview

- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), powerful monitoring tools to fine-tune the behavior and performance of STM32 applications in real time

- STM32Cube MCU and MPU Packages, comprehensive embedded-software platforms specific to each microcontroller and microprocessor series (such as STM32CubeH5 for the STM32H5 series), which include:

  - STM32Cube hardware abstraction layer (HAL), ensuring maximized portability across the STM32 portfolio

  - STM32Cube low-layer APIs, ensuring the best performance and footprints with a high degree of user control over hardware

  - A consistent set of middleware components, such as ThreadX, FileX / LevelX,

> NetX Duo, USBX, USB-PD, mbed-crypto, secure manager API, MCUboot, and OpenBL