June 2024 UM2237 Rev 25 1/178
1
UM2237
User manual
STM32CubeProgrammer software description
Introduction
STM32CubeProgrammer (STM32CubeProg) provides an all-in-one software tool to
program STM32 devices in any environment: multi-OS, graphical user interface or
command line interface, and supports a wide choice of connections (JTAG, SWD, USB,
UART, SPI, CAN, I2C), with manual operation or automation through scripting.
This document details the hardware and software environment prerequisites, as well as the
available STM32CubeProgrammer software features.
www.st.com
Contents UM2237
2/178 UM2237 Rev 25
Contents
1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Installing STM32CubeProgrammer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Linux install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.2 Windows install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.3 macOS install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.4 DFU driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.5 ST-LINK driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Updater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Update steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2 Proxy settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.3 Check for updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 STM32CubeProgrammer user interface for MCUs . . . . . . . . . . . . . . . . 19
2.1 Main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Main menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 Log panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.3 Progress bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.4 Target configuration panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Memory & file edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.1 Reading and displaying target memory . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.2 Reading and displaying a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3 Memory programming and erasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1 Internal flash memory programming . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.2 External flash memory programming . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Developing customized loaders for external memory . . . . . . . . . . . . . . 36
2.3.4 External memory programming with bootloader interfaces on GUI . . . . 38
2.4 Option bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.1 Export/import option bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.2 MCU unlock (specific for the STM32WL series) . . . . . . . . . . . . . . . . . . 40
2.4.3 Debug authentication default configuration . . . . . . . . . . . . . . . . . . . . . . 41
2.4.4 Debug authentication configuration (STM32H503 only) . . . . . . . . . . . . 42
2.5 Automatic mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44