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
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
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?
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
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
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
Hello, I have a problem with Cube Programmer API - I’m using it to read RAM addresses continuously at rates of around 300Hz using the readMemory() function. Unfortunately with every call the function starts to take more and more time to execute, causing the readout frequency to drop to 80Hz just after a few minutes. Could it be some mechanism under the hood that causes that? Is there a known workaround? Best Regards, Piotr Wasilewski
One Quick Observation , V2.23 takes so much time as compare to V2.22 ( windows 64 ) , for Reconnecting MCU & Throwing Error after setting RDP2. approx 45 seconds by V2.23. while 5 seconds for V2.22 version.
Hello!I would like to generate a single HEX file containing both the application firmware and the Option Bytes required to change the device from RDP Level 0 to Level 1. The goal is to have a single file that can be used during production programming.To do this, I exported the Option Bytes using the Export MCU Memory Map feature and appended the exported HEX content to the end of the application HEX file::020000044002B8:20204000DCF8EF1F7F0000087F00F90B000000000000000000000000FFFF00FFFFFF00FF9A:102060000000000000000000FFFF00FFFFFF00FF76:020000044002B8:08207000000000000000000068:020000044002B8:08207800000000000000000060:00000001FF Then I programmed the resulting file using:STM32_Programmer_CLI.exe" -c port=swd mode=UR reset=HWrst -d zephyr.hexThe programming reaches 100%, but the CLI output does not display the usual "File download complete" message:Memory Programming ... File : zephyr.hex Size : 29.21 KB Address : 0x08000000Erasing memory corresponding to segm
Hello,I'm working with the STM32H7S7L8 -DK and I need for final product to program the external OCTOSPI flash via usb DFU.So using V2.20.0 Cube programmer i'm able to use external memory loader to read and program the flash using SWDBut using the USB i see the DFU and before i select the good external memory laoder but when i click to connect i can only programm the internal flash of the STM32 when i try to read or program the OCTOSPI flash i have error.Do you have any ideasThanks
Dear community and STMicroelectronics representativesI'm having strange problem in both STMCubeProg v2.22.0 and v2.23.0. I tried many older versions (even pretty ancient ones) and these works without problem. Problem is that in v2.22.0 and v2.23.0 when I select a file to be programmed to device (device uses custom DFU implementation - inspired by DFU example code), then I set address and click “Start programming”, almost nothing happens (only progress bar resets to 0% so click is “handled”). No “Opening and parsing file”, no “erase sector command” comes to my device, no error in console or GUI, no timeout - just nothing. I would typically suspect that my DFU implementation on my STM32L452RE MCU is no longer compatible with current versions of STMCubeProg, but as there is not even this “Opening and parsing file” message (it is displayed by older versions of STMCubeProg) nor any error or timeout is reported, I'm suspecting that something even before attempting to communicate over DFU pro
Hi everyone,I'm using STM32 Cube Programmer CLI to port an SBSFU example to STM32U5G9 platform (from U585). Other than shell script mess and no IOC files in this examples, I've managed to port the example and run it by using ST Link programmer under both Linux and Windows.The problem is that the newest release 2.20 has its J-Link functionality completely broken in Linux (I'm using Kubuntu 22.04 and 24.04, also tested in regular Ubuntu). Any command to STM32_cube_programmer_CLI ends up with:Error: Could not connect to the J-Link/Flasher, Library not found !The underlying issue is that libjlinkarm.so is not linked to the CLI executable: ldd shows it's linked for older versions, but no linkage for v2.20. I'm guessing this has happened since ST was finally moving away from weird versioned so names to non-versioned so's: i.e. libjlinkarm.so.7 -> libjlinkarm.soI'm hoping that someone from ST will read this message since the issue is not possible to resolve without re-linking... So @s
I have to deploy the STM32CubeProg in an big network.I’ve tried the silent installation, and I’m stuck with:Error: unable to find or load main class com.st.app.MainCaused by: java.lang.NoClassDefFoundError: javafx/application/Application"There is as solution inbundled-java-runtime-missing-or-corruptedIm replaced installer to C:\Program Files\Java and rename folder "jre _1.8***" to simple "jre" and it works for me. Hope it will help you too. This is not really the solution, or? Is there a clean way for a silent Installation?The version is:2.22.0
After updating to STM32CubeProgrammer v2.22.0, I get the following error when connecting with JLINK:Error: ST-LINK interface not availableMy commands still work, but they just print this error message everytime. Is this a known issue, and are there any ways of suppressing this particular error?Full trace of a simple command below:STM32_Programmer_CLI -c port=JLINK sn=xxxxxxxx mode=HOTPLUG -score ------------------------------------------------------------------- STM32CubeProgrammer v2.22.0 -------------------------------------------------------------------Connecting to J-Link/Flasher ProbeDevice=Cortex-M33Device ID : 0x484Voltage : 1.81VFrequency : 4000 KHzError: ST-LINK interface not availableNVM size : 2 MBytesCore is halted Using:STM32CubeProgrammer: v2.22.0 STM32H573II SEGGER J-Link PLUS: SEGGER J-Link Commander V8.10c
Previously I used Programmer v2.15 on H5 MCUs to zero (uncheck) nSWBOOT0. Probably due to Windows drivers updates, I could no longer connect.I updated to Programmer v2.23 and I can now connect, but I no longer see nSWBOOT0 anywhere. Where did it go?
Hello, I am encountering an issue when connecting an ST‑Link with no target attached. On the first connection attempt it reports “No STM32 target found.” If I attempt to connect a second time, the adapter returns the error “ST‑LINK error (DEV_USB_COMM_ERR).” The only reliable recovery I have found is to unplug and replug the USB device:ST-LINK with DEV_USB_COMM_ERR issue When I use a different ST‑Link from the same batch (B 2022 48) with the same firmware, it behaves as expected and reports “No STM32 target found” until a target is present:ST-LINK without the issue Environment and reproduction steps:- Software: STM32CubeProgrammer CLI and GUI v2.23.0 (issue also reproducible with v2.22.0)- Commands (basically any -c): STM32_Programmer_CLI -c port=swd index=0 freq=4000 mode=ur -w "<Firmware path>" -v --start 0x8000000STM32_Programmer_CLI -c port=swd- OS: Windows 11- USB: Direct connection to PC- Cable: Same behavior with a Tag‑Connect or no target cable attached- ST‑Link firmware:
I can build it successfully using west but when I program it I get: "Warning: The core is locked up" and no LED blinks. I also made my own blinking LED but that doesn't work either. I can program the board using stmcubeide and that work. It seems to be an stm32cubeprogrammer issue?
--incremental uses a 32-bit additive byte-sum, not a CRC — sum-preserving content changes are silently skippedProduct: STM32CubeProgrammer 2.22.0 (Linux x86-64) Interface: SWD / STLINK-V3 Target: STM32F427 (DEV_ID 0x419)DescriptionThe --incremental download mode decides whether to skip a flash sector by comparing a 32-bit additive byte-sum of the sector's current chip content against the same sum of the new image.The on-target .stldr CheckSum export (@ 0x200001e9, verified in two loader binaries) uses additive accumulation.Because addition is commutative and linear, any two images whose bytes differ only in ways that cancel (adjacent-byte swap, +1/−1 pair, any permutation within a sector) produce identical sums. Those sectors are silently skipped — old bytes remain on chip and the tool reports success.ReproductionTest images A and B (64 KB, four 16 KB sectors) are constructed so that:Sector 1: bytes at offsets 0x4100/0x4101 are 0x11,0x22 in A and 0x22,0x11 in B — an adjacent swap. Addi
While fiddling with H745 board to investigate how dual core works, after modifying option byte to BOOT_CM7 = 0 and BOOT_CM4, STM32CubeProgrammer (nor STLINK-gdbserver) refuses to connect to the board with "Error: No STM32 target found". The ST-Link itself is okay. Here is a log from the programmer.22:31:39 : ST-LINK SN : 002F003D3137510E39383538 22:31:39 : ST-LINK FW : V3J5M2 22:31:39 : Voltage : 3.30V 22:31:39 : No STM32 target found! 22:31:39 : ST-LINK SN : 002F003D3137510E39383538 22:31:39 : ST-LINK FW : V3J5M2 22:31:39 : Voltage : 3.30V 22:31:39 : Error: No STM32 target found!How do I regain access to the board?
Hi, I am using the STM32N6 nucleo board to print some application data using the ITM stimulus port 0 over the SWO pin. I am using the dev boot mode.My stlink version is V3J17M11, which is up to date, and my cube programmer version is 2.23.0, which is up to date. Problem statement: My program works in the Cube IDE, and it shows the output in the Serial Wire Viewer tab.Problem 1: When I try to use it with the Cube Programmer, I click the start button, and it says, Serial wire viewer configuration failed. ( elaborated below)Problem 2: When I try to use the J-Link with SWD in the Segger Serial Wire Viewer, the J-Link viewer configuration window just resets my MCU, and the code vanishes.I’ll share my main.c file below.ExplanationProblem 1:I tried a lot of things and read about the Access ports. My system clock is 32MHz, and the TPIU clock is 4MHz. The cube programmer’s SWV asks for the system clock, which I assume is the core clock, so 32MHz, but I have also tried 4, 8, 16, and 64 options.
When I attempt to power cycle a STM32N6570-DK or NUCLEO-N657X0-Q board via the STM32_Programmer_CLI, I get the following error message:Error: Failed to Power ON the board ! Here is the full log:❯ STM32_Programmer_CLI --power off index=0 --power on index=0-------------------------------------------------------------------STM32CubeProgrammer v2.21.0 -------------------------------------------------------------------Power OFF...Drives the target power pin out of the (onboard) ST-Link.Info: Power ON/OFF maybe not available on your Board [also not available on standalone probes]Power OFF the board finished with success !Power ON...Drives the target power pin out of the (onboard) ST-Link.Info: Power ON/OFF maybe not available on your Board [also not available on standalone probes]Error: Failed to Power ON the board ! However, when I attempt the same command on other Nucleo boards, I don't get this error. Here's the same command run on the NUCLEO-H533RE:❯ STM32_Progr
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.