FAQ ΒΆ
Basic questions ΒΆ
What is STM32CubeProgrammer? π
STM32CubeProgrammer is STMicroelectronicsβ free programming tool for STM32 microcontrollers and STM32 microprocessors.
What is STM32 Trusted Package Creator? π
STM32 Trusted Package Creator is a tool used to build secure STM32 firmware packages. It is delivered as part of the STM32CubeProgrammer package.
Is STM32CubeProgrammer free and open source? π
STM32CubeProgrammer is a free tool publicly delivered by STMicroelectronics. However, it is not an open-source project.
How do I download and install STM32CubeProgrammer? π
Download the installer for your operating system from the installer section, then run it and follow the installation steps. For detailed instructions, refer to Installing STM32CubeProgrammer.
Which operating systems and architectures are supported? π
The following operating systems and architectures are supported:
Windows 10 32-bit (x86) or 64-bit (x64), and Windows 11 64-bit (x64)
Linux: Ubuntu LTS 22.04 and LTS 24.04, and Fedora 42
macOS 15 (Sequoia) and macOS 26 (Tahoe), on x86_64 and ARM64 (aarch64)
Raspberry Pi OS (Debian 12 βBookwormβ or later)
Does STM32CubeProgrammer support Raspberry Pi? π
Yes. STM32CubeProgrammer can run on Raspberry Pi 64-bit devices by using the Linux ARM 64-bit package to program STM32 devices.
Raspberry Pi 32-bit devices are not supported.
Which STM32 series are supported? π
STM32CubeProgrammer supports all STM32 microcontrollers (MCUs) and STM32 microprocessors (MPUs).
Which programming interfaces are supported? π
STM32CubeProgrammer supports the debug interface through:
ST-LINK for SWD and JTAG
Segger J-Link for SWD
It also supports the bootloader interface through:
UART
USB DFU
I2C
SPI
CAN
Which file formats are supported for programming? π
STM32CubeProgrammer supports the standard programming file formats used across STM32 workflows, including binary files and common executable or hexadecimal formats depending on the target and programming flow.
Does STM32CubeProgrammer support secure programming and TrustZone? π
Yes. STM32CubeProgrammer supports secure programming features on compatible devices, including secure firmware install workflows and device security-related operations. It also supports TrustZone-related programming flows on STM32 devices that provide TrustZone capabilities. For details, refer to the secure programming sections in the user manual and command-line documentation.
How do I get the latest updates and documentation? π
Refer to the online release information and documentation delivered with STM32CubeProgrammer. For support resources and community content, see Community.
What is the STM32CubeProgrammer API? π
STM32CubeProgrammer provides an API intended to let external applications reuse programming features programmatically instead of only through the graphical user interface or command-line executable.
Getting started questions ΒΆ
Do I need an ST-LINK probe to use this tool? π
No. An ST-LINK probe is required for SWD or JTAG debug connections, but it is not required when using supported bootloader interfaces such as UART, USB DFU, I2C, SPI, or CAN.
How do I program my Nucleo or Discovery kit board? π
Connect your board to the PC using the ST-LINK connector and make sure the ST-LINK selector is correctly set for power supply through ST-LINK.
If your board has two similar connectors, one is usually for ST-LINK and the other for USB USER. Check the board markings and use the ST-LINK connector.
Then follow these steps:
Open STM32CubeProgrammer.
Click Connect.
Open the Erasing & Programming panel from the left menu.
Select your firmware with Browse.
Click Start Programming.
My board is not detected. What should I check first? π
First check the USB connection and cable, the board power supply, and the ST-LINK settings.
For additional guidance, refer to the connection and programming sections in the documentation, especially the user manual and connection-related chapters.
What if my question is not listed here? π
If your question is not listed here, visit the online documentation for more guidelines, examples, and detailed articles.
You can also ask for help through the ST support and community resources listed in Community.
Note
Security questions ΒΆ
What is the product life cycle of an STM32? π
The STM32 product life cycle describes the different support phases of a device, from active development and full availability to long-term maintenance and eventual end of life.
From a security perspective, a device can be relatively open during development for testing and debugging, then locked in the field to protect firmware, data, and system integrity.
What is RDP vs. RDP with Password vs. DA? π
These acronyms correspond to three security access models that reflect the evolution of STM32 device protection:
- RDP (Readout Protection): the legacy protection scheme used mainly on older
STM32 series to prevent unauthorized reading of flash memory.
- RDP with Password: a newer protection model on some STM32 devices, where
access is controlled by a password rather than only by protection levels.
- DA (Debug Authentication): a more advanced secure access flow that allows
controlled debug and unlock operations through an authentication process.
In short, RDP is the classic model, while RDP with Password and DA are newer approaches that provide more controlled and secure access on recent devices.
What is STM32 provisioning? π
Provisioning is the process of preparing an STM32 device before deployment by configuring its security material and access rules.
For STM32 devices using RDP with Password, provisioning means defining the password-based protection used later to control access and regression.
For STM32 devices using DA, provisioning means preparing the device for trusted authentication so that only authorized tools or users can unlock it. This can include provisioning OBKey data, certificates, or platform authorization data.
Note
For more information on STM32 security topics, refer to the STM32 Security wiki.
Production question ΒΆ
Can I use STM32CubeProgrammer in a production environment? π
No. STM32CubeProgrammer is a development programming tool and is not intended for production programming, as stated in the license and in the development versus production programming guidance:
History ΒΆ
What is STM32CubeProgrammer the evolution of? π
STM32CubeProgrammer is the evolution of the following legacy tools:
STM32CubeProgrammer integrates their main functionalities and features. These three tools are now discontinued.
What is the country of origin of STM32CubeProgrammer? π
STM32CubeProgrammer is developed by STMicroelectronics engineering teams located in Tunis, Tunisia, and in Le Mans, France.