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

# Known limitations

Miscellaneous

> When integrating software packages, please note that the current configuration only allows the selection of one major component at a time.

Miscellaneous
2.1. When selecting microcontrollers in the STM32C0 series

> When generating code for the STM32C071K8U3 microcontroller using EWARM, the linker file incorrectly defines the ROM end address.

2.1. When selecting microcontrollers in the STM32C0 series
2.2. When selecting microcontrollers in the STM32G0 series

USB and USB Power Delivery VID/PID values are not automatically aligned. FreeRTOS CMSIS_V1 also requires a parameter adjustment.

2.2. When selecting microcontrollers in the STM32G0 series
2.3. When selecting microcontrollers in the STM32G4 series

Project creation for STM32G411 with STM32Cube_FW_G4_V1.6.0 may fail unexpectedly.

2.3. When selecting microcontrollers in the STM32G4 series
2.4. When selecting microcontrollers in the STM32H5 series

JPEG folder generation, OEMiROT migration, and MMT configuration issues may occur.

2.4. When selecting microcontrollers in the STM32H5 series
2.5. When selecting microcontrollers in the STM32H7 series

HSEM, JPEG, boot path, SAI, power supply migration, and SPDIFRX configuration limitations.

2.5. When selecting microcontrollers in the STM32H7 series
2.6. When selecting dual-core microcontrollers in the STM32H7 series

Dual-core boot, import, OpenAMP, and linker configuration limitations.

2.6. When selecting dual-core microcontrollers in the STM32H7 series
2.7. When selecting microcontrollers in the STM32L5 series

TrustZone, GTZC, and USB/USB Power Delivery cohabitation limitations.

2.7. When selecting microcontrollers in the STM32L5 series
2.8. When selecting microcontrollers in the STM32N6 series

VENC, JPEG, migration, USBX, FMC, and ThreadX-related limitations.

2.8. When selecting microcontrollers in the STM32N6 series
2.9. When selecting microcontrollers in the STM32U3 series

HSP_ENGINE build issues may occur after buffer type changes.

2.9. When selecting microcontrollers in the STM32U3 series
2.10. When selecting microcontrollers in the STM32U5 series

JPEG generation, FreeRTOS, USBX, and DMA/TIMx compilation issues may occur.

2.10. When selecting microcontrollers in the STM32U5 series
2.11. When selecting microcontrollers in the STM32WB series

STM32_WPAN and CFG_BLE_MAX_CONN_EVENT_LENGTH limitations.

2.11. When selecting microcontrollers in the STM32WB series
2.11.1. When selecting microcontrollers in the STM32WB0 product lines

Several STM32Cube expansion packages are not supported.

2.11.1. When selecting microcontrollers in the STM32WB0 product lines
2.12. When selecting microcontrollers in the STM32WBA series

BLE library order, TrustZone linker mismatch, and STM32WBA63 project issues.

2.12. When selecting microcontrollers in the STM32WBA series
2.13. When selecting microcontrollers in the STM32WL series

FreeRTOS, dual-core, Sigfox, and timebase limitations.

2.13. When selecting microcontrollers in the STM32WL series
2.13.1. When selecting microcontrollers in the STM32WL33 product lines

Several STM32Cube expansion packages are not supported.

2.13.1. When selecting microcontrollers in the STM32WL33 product lines
2.14. When selecting microprocessors in the STM32MP1 series

Device tree, import, RCC, and boot-mode limitations.

2.14. When selecting microprocessors in the STM32MP1 series
2.15. When using the Memory Management Tool

TrustZone, MMT configuration, and linker update limitations.

2.15. When using the Memory Management Tool
2.16. When using the Example Selector

Some example projects may miss files or create duplicates.

2.16. When using the Example Selector
2.17. When using additional software packs

Peripheral assignment, file cleanup, and pack feature limitations.

2.17. When using additional software packs
2.18. STM32CubeIDE toolchain

Requires a Java 8 64-bit virtual machine in older versions.

2.18. STM32CubeIDE toolchain
2.19. DDR test suite

STM32CubeProgrammer support is limited from v2.10.0 onward.

2.19. DDR test suite
2.20. User manual

Some user manual chapters are not fully up to date.

2.20. User manual
2.21. Symbolic links on Ubuntu

Symbolic links may be converted to absolute paths when saving the project.

2.21. Symbolic links on Ubuntu
3.1. Command line authentication required

Authentication is required for command-line download and code generation.

3.1. Command line authentication required
3.2. DDR binaries for the STM32MP1 boards

DDR binaries are available from the STMicroelectronics GitHub repository.

3.2. DDR binaries for the STM32MP1 boards
3.3. List pinout-compatible microcontrollers

Loading all microcontrollers may take a long time.

3.3. List pinout-compatible microcontrollers
3.4. How to improve the wake-up from Stop sequences without relying on the global SystemClock_Config()

Use a dedicated post-stop clock restoration function instead of the full startup clock configuration.

3.4. How to improve the wake-up from Stop sequences without relying on the global SystemClock_Config()