Ask questions on STM32CubeProgrammer and find answers on device detection, connection failure, programming issues, and more.
Most recent activity
We are pleased to announce that STM32CubeProgrammer 2.23 is availableWhat is new in 2.23:AI Assistant : Sidekick is now accessible from STM32CubeProgrammer, with a dedicated access button at the top. Native Raspberry Pi support for the Linux Arm 64-bit command-line interface (CLI) package.You must choose Linux ARM in the download widgetReadable File Paths Launch After Install Online documentation. Support for STM32H543/553 devices: Internal memory programming through debug and bootloader interfaces Option bytes programming through debug and bootloader interfaces OTP programming through debug and bootloader interfaces Core register programming through debug interfaces Automatic mode Serial Wire Viewer Register viewer Firmware encryption/signing OBkey generation/provisioning Certificate generation Debug authentication SFI through debug interfaces Support for STM32U335/345 devices: Internal memory programming through debug and bootloader interfaces Option bytes programming th
Dear STM32CubeProgrammer Community, I hope you are all doing well. Over the past months, you may have received an email from me, either through the STM32CubeProgrammer survey or on other topics like CSAT or Raspberry Pi support. First, I would like to thank you a lot for all your contributions and feedback, we highly appreciate them, your voice matters ! We’re currently working on improving STM32CubeProgrammer’s usability and would like to 1. reduce the number of repetitive / low added value actions you have to perform, and 2. provide you with clearer error messages. We need your contributions to address priority scenarios. Could you please share in the comments which improvements, use cases, or automated actions you would like to see in the tool to make your daily work easier ? This includes typical errors you often get that you think the tool could prevent or handle automatically, as well as any “why do I have to do this myself every time?” situation you e
Hi, I have a custom product/board that has an embedded STM32L433. The STM32 is powered with an external battery. It is also connect through USB to a COM board that runs Windows. The COM controls the boot0 and reset pins of the STM32 which allows me to update the chip using CubeProgrammer API. I created a custom application in C# that worked fine until I tried to activate RDP level 1. Since I cannot do a POR, I implemented the activation of RDP in the STM32 software using the enter standby mode method. When I try to update with the RDP already active, I use the connectDfuBootloader2 method with rdu = true. This properly downgrade RDP from level 1 to level 0 and I am able to update the STM32 using the downloadFile method afterward. The issue is that after downloading the new software, the STM32 gets stuck in bootloader. The only way to get it unstuck is to call another time the connectDfuBootloader2 with rdu = true. This does not downgrade the RDP level, it only restarts the STM32 which
I discovered this issue while trying to program the Riverdi SM-RVT50HQSNWC01 using the STM32UG59. I spent days trying to figure out why the Riverdi demo in TouchGFX 4.26.1 was failing to program the external flash. It always failed when trying to erase external flash. This was with Programmer version 2.23.0. Even with the GUI version, I found that after connecting to the board, the first read of external flash would fail. Sometimes immediately, sometimes after a minute or so. I discovered that the second read performed immediately after the failure would work. Once I suffered through the first failure, I was able to read and program the external flash with no problem. I was ready to give up on the Riverdi board when I decided to try a different system. On this second system, I was able to create a demo from the Riverdi template, built it and program the board from TouchGFX 4.26.1. Same version as the failing system. I then noticed that the STM32CubeProgrammer on the second s
Hello everyone,I am trying to download and run my application firmware into internal SRAM of STM32F407, but it does not execute as expected.Here is what I have done:1. I built my project with Keil MDK‑ARM, configured the scatter‑linker script to place all code and data into SRAM region (0x20000000).2. I generated the .bin firmware file.3. Using STM32CubeProgrammer, I downloaded this bin file to SRAM address 0x20000000. Memory window verification shows the binary content is correctly written into SRAM.4. I used the "Run after programming" option in STM32CubeProgrammer, or performed a software reset after downloading.Symptom:The tool reports download completes. However, my application is not actually running.When I check the Cortex‑M4 core registers in STM32CubeProgrammer:VTOR register shows value 0x1FFF0000, which points to ST‑system boot ROM, not my SRAM address 0x20000000. The CPU stays in the system bootloader, it never jumps to my SRAM‑located application.I understand from the refer
We have device that has Stm32F405RG T6 Microcontroller. We have been using DFUSE Demo tool to update image.we have bootloader app (custom bootloader) and main app.we flash bootloader + app to device using STLINK JTAG.Custom boot loader checks for certain button to decide if jump to app or remain in DFU mode to upload new image to device.This works fine with DFUSE demo tool but when we use StmCubeProgrammer (after updating to stm32bootloader usb driver)it can detect the device in DFU mode on USB but only in read-only mode, we can not write any bin file back to device.
while programming the stm32h753ZI board via uart through stm32 programmer ide im getting this error , "Error: Activating device: KO. Please, verify the boot modeconfiguration and check the serial port configuration.Reset your device then try again ..." but ive looked into the memory bootmode config and connected the boot0 pin to 3v3 (pin 5-7 in CN11) if there is any suggetions to solve this please let me know.
I recently download and installed the latest version of STMCube Programmer and I see that the Signing Tool is now gone. In its place is the STM32 Trusted Package Creator. Unfortunately, support for the STM32N6 appears to be missing. Where may I find the old signing tool?
Hello,I am working on using NRST pin in stm32g031j6m6 as GPIO, but it fails every time. I've changed many option bytes and even options present only on stm32g0x1 have workwd on my chip, except of NRST_MODE. If i want to change this option to 2 (gpio mode) and try to apply, the progress bar stays at 0% endlessly until i quit the STM32CubeProgrammer. I didn't have any problems with communication between nucleo and stm32g031. I tried to program my chip with st links built in nucleo u031 and f303, everytime without success. What else can i try?
I want to create an MX25UM51245G. sldr, but it keeps failing with a prompt Use the official MX25UM51245G_STM32N6570-NUCLEO.stldr to confirm that the board can be downloaded successfully Please check the MX configuration that I generated for MX25UM51245G_STM32N6_ ExtMemLoader. stldr
Dear STM Support Team,the following CLI command takes about 30 seconds on a Raspberry Pi (thanks again btw!) compared to 1 second max on windows: STM32_Programmer_CLI -c port=swd sn=xyz I am using this in a loop to detect whether a MCU is connected.All other commands i tried are comparable in speed to windows so i guess this is a bug.The Pi is a Model 5 running Bookworm and a 6.12 kernel. Thank you very much!
Hi, everyone,Would it be possible to disable the boot pin on the STM32H5E4VJTX using STM32Cube Programmer?I haven't been able to figure out if there's a setting in the Option Bytes to do this. Thanks for your help.
It seems like it's been over a year since reports surfaced that the ST-Link interface isn't working on Snapdragons.Are there still no ST-Link interface drivers available for Snapdragon CPUs?
STM32CubeProgrammer V2.21.0 displays an update avaliable icon and when I click it it offers to update to V2.23.0, but when I let it try to update it appears to download something then some windows flash up for a moment then STM32CubeProgrammer restarts but is still V2.21.0.I am on Windows 11
Referred Ticket: How to run program on STM32N6 after flashing without changing BOOT-1 jumper | CommunityThank you for confirming that it is possible to run the application while keeping BOOT1 in DEV_BOOT mode by loading a RAM executable, performing a core reset, setting the SP and PC, and then running the core.My target is: STM32N6570-DKI need to achieve the following flow: Flash and verify the complete HEX file (Example: STM32N6-GettingStarted-ImageClassification/Binary/STM32N6570-DK at main · STMicroelectronics/STM32N6-GettingStarted-ImageClassification) Keep the STM32N6570-DK physically in DEV_BOOT mode. Start the flashed application automatically without manually changing the BOOT1 jumper. Perform the complete operation through command-line tools or a user script. The following command successfully flashes and verifies the image:STM32_Programmer_CLI.exe `-c port=SWD mode=UR reset=HWrst `-el "ExternalLoader\MX66UW1G45G_STM32N6570-DK.stldr" `-w "STM32N6570-DK_GettingStarted_I
Despite my best efforts I cannot manage to connect my board to my PC and upload code (doing so from the Programmer). The environment consists of all three Cube applications (MX, IDE, Programmer) all at the latest version. Hardware wise, the board's jumpers are correctly placed for code upload, with the ST-LINK led turned on, as well as LED4 and LED9. There's also another blinking red led. I have tried all of the possible configurations (changing the frequency, mode, etc) and nothing seems to be working. The target voltage shows 3.3V, the programmer also can firmware upgrade the board, however I simply cannot connect to it. Please help!
Dear STM Support Team,I am working on a custom hardware platform based on the STM32N6570-DK.We have replaced the default MX66UW1G45G Octal SPI NOR Flash on the evaluation board with an Infineon S25FS512S Quad SPI NOR Flash. Since the default external loader is designed for the Macronix Octal flash, STM32CubeProgrammer is unable to program the new flash device.We would like to develop a custom External Loader (.stldr) for the S25FS512S. However, we are unable to find the source code or documentation specific to the STM32N6570-DK external loader.Could you please clarify the following?Is the source code for the STM32N6570-DK External Loader (MX66UW1G45G_STM32N6570-DK.stldr) publicly available? If yes, where can it be obtained? Is there any application note or documentation describing the API and project structure required to develop an External Loader for the STM32N6 series? Are there any reference projects or examples for creating a custom .stldr for STM32N6 devices? If the source is not
EnvironmentSTM32CubeProgrammer: 2.23.0 (latest version at the time of writing) The same issue was also present in the previous release and is still reproducible after updating to 2.23.0, which is why I am reporting it now. Platform: macOS Tahoe 26.5.1 Architecture: Apple Silicon (M4 Pro, arm64) System proxy: Enabled Proxy software: Clash Verge Rev (running continuously in the background) TUN mode: Enabled The proxy itself works normally for all other applications.Issue DescriptionI noticed that simply leaving STM32CubeProgrammer running causes the file ~/.STM32CubeProgrammer/Updater_Gui_Log.txt to grow continuously at a very high rate. The file increases by hundreds of megabytes within minutes and can easily reach multiple gigabytes if STM32CubeProgrammer is left open. In my case, I have already experienced the log file completely filling my macOS system disk overnight, which caused abnormal system behavior due to the disk running out of free space.Log OutputThe updater repeatedly writ
I recently purchased the STEVAL-LLL001V1 evaluation board, which uses the STLED524 LED driver. According to the user manual (UM2143), the board requires the software STLED524_V1.44.exe (or a later version) for operation. However, I have been unable to locate this software.Could you please let me know where I can download it?
Dear Team,I am facing an issue while programming an STM32H533 device using the ST-LINK V3SET. I have observed different behavior depending on the compiler optimization level and programming interface. The details are provided below.Case 1 – Flash Programming FailurePlease find the debug log below:-------------------------------------------------------------------STM32CubeProgrammer v2.20.0-------------------------------------------------------------------Log output file: C:\Users\29397\AppData\Local\Temp\STM32CubeProgrammer_a36804.logST-LINK SN : 0042001A3234510537333934ST-LINK FW : V3J17M11B6S1Board : STLINK-V3SETVoltage : 0.00VSWD freq : 8000 KHzConnect mode: Under ResetReset mode : Hardware resetDevice ID : 0x478Revision ID : --Device name : STM32H533/523Flash size : 512 KBytesDevice type : MCUDevice CPU : Cortex-M33BL Version : 0xE2SFSP Version: v1.2.0Debug in Low Power mode enabledOpening and parsing file: ST-LINK_GDB_server_a36804.srecMemory Programming ...File : ST-LINK_GDB_serv
Hi, I am not able to download the STM32CubeProg. Somehow the download just not start from https://www.st.com/en/development-tools/stm32cubeprog.html?ecmp=tt15529_us_social_may2020#overview Here in the image below you can see that it tries to do something but there doesn't appear any download in my internet browser. Yesterday I was perfectly able to download CubeIDE en CubeMX Is there anyone who can help me?
Hello, I'm trying to program a custom board equipped with an STM32WBA23CE.I've tried wiring it from a Nucleo board (MB1801D), but the programming is failing.CN3 pin5 -> Custom Board VDDpin9 -> PA13pin11 -> PA14Even when I press Connect in CubeProgrammer, an error dialog appears. It works normally when I disconnect the wiring to the custom board, so it doesn't seem to be an issue with the application or the Nucleo board.The custom board does not have 32 kHz support.Are there any resources or descriptions that might be helpful regarding this method?
Have been fighting ST-LINK_gdbserver over the last few days and am hoping that someone can shed some light. I'm using JetBrains CLion with the ST-LINK gdb server. I have this configured in the "Debug Servers" setting. I want to get my ITM / printf calls to appear in my "MCU Console" window in CLion. So I have my SWO Enabled, I specify my clock (400Mhz / STM32H743), my divider (1000, should give 400kbaud data coming out), and my TCP port for the SWO data to appear on (59999). I've overridden my `_write` function to push to the ITM_SendChar function. I press debug, JetBrains compiles, runs the ST-LINK_gdbserver, passes in the correct flags, "-z 59999 -a 400000000 -b 1000 ", and the GDB then connects to the GDB port (61234 - default). However I don't see any SWO output via ST-LINK_gdbserver. If I run the STM32_Programmer_CLI in a separate terminal window with "./STM32_Programmer_CLI -c port=swd -swv freq=400 portnumber=0", it successfully connect
I created an external flash STLDR file for my board, with STM32H750VB chip and W25Q64 QSPI FLASH. After copying the STLDR file to the cubeprographer directory, it can perform normal external flash read/write and sector erase functions. However, when selecting full chip erase, the cubeprographer prompts me "please select external loader before performing external full chip erase". But I am sure that my code contains the correct int MassErase (void) function, and I used the readelf command in Ubuntu environment to read the STLDR file I created, which also includes the MassErase function. But it seems that this function cannot be correctly detected by the cubeprographer. How can I locate the cause and solve this problem?Wishing you peace
Hi everyone,I am currently facing a persistent issue with the STM32U385RGT6Q where the MCU becomes undetectable after the first successful programming cycle.Setup OverviewMCU: STM32U385RGT6Q Programmer: STLINK-V3MINIE IDE: STM32CubeProgrammer OS used: Windows (initial attempts also on macOS) External protection: ESDALC6V1W5 on data linesSchematics: MCUProgramming COnnector for ST LinkObserved BehaviorInitially, the STM32 was not detected by STM32CubeProgrammer → Root cause: faulty USB cable + macOS security restrictions After switching to a proper data USB cable and Windows: → MCU detected and programmed successfully → Firmware runs (RGB LED turns green) After reinstalling the ESD protection diode (ESDALC6V1W5): → MCU can still be programmed once successfully After first programming cycle: MCU becomes undetectable by ST-Link RGB LED no longer functions No signal observed on LED data line Reprogramming is no longer possible Replacing the MCU: → Same behavior repeats exactly → Works
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.