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
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’ve installed the newes STM32CubeProgrammer version on my Apple Silicon Mac. Now when I am running, it directly crashes. Digging a bit deeper via command-line gives: oading PRG Library: /Applications/STMicroelectronics/STM32Cube/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/Resources/bin/libCubeProgrammer_API.dylib108 external Loader listException in Application start methodjava.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:382) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:321) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method
For STM32C562RE, why can CubeProgrammer validate the OEM key and report "RDP2 unlocked successfully", while the RDP regression does not erase the existing user flash and flash erase remains prohibited? Is this a known CubeProgrammer/ST-LINK limitation or does this indicate that the device was provisioned with a non-regressible security configuration?Device: STM32C562RETx / NUCLEO-C562RECubeProgrammer: v2.22.0ST-LINK: V3J17M11SWD connection works.Device ID: 0x44E.OEM key is available.RDP unlock operation sometimes reports:"Validation Status: 3"followed by:"RDP2 unlocked successfully"After physical power removal and restoration:RDP_level = 0xFF (Unknown Value)Flash still contains:0x08000000 : 200007C8 08000671 0800073D 08000735Mass erase:Error: Mass erase operation failed. Please verify flash protectionProgramming:Erasing internal memory sector 0Error: failed to erase memory
Hello,I am investigating a Flash programming issue on an STM32H7A/B device with 1 MB Flash (Device ID 0x480, Rev X). STM32CubeProgrammer v2.21.0 treats the internal Flash as a continuous range 0x08000000–0x080FFFFF.Adresses such as 0x08080000, 0x080C0000 and 0x080FFE00 are programmed successfully and code placed there executes correctly, even though these addresses appear to be outside the documented Bank1/Bank2 address ranges in RM0455 Table 15.However, the HAL/CMSIS headers define FLASH_BANK2_BASE as 0x08100000, so IS_FLASH_PROGRAM_ADDRESS_BANK1(0x08080000) returns true and HAL_FLASH_Program() uses CR1/SR1 for that address. Programming 0x08080000 this way results in ECC problems when the location is read back. Could you please clarify the correct Bank1/Bank2 mapping for the 1 MB STM32H7A/B devices, whether 0x08080000 should be programmed through CR1/SR1 or CR2/SR2, and whether this is a known HAL/CMSIS issue?This is currently blocking our bootloader/FUOTA implementation, so a quick c
The oemirot provisioning tool expects the TrustedPackageCreator_CLI inside the same folder under mac osx silicone of the STM32CubeProgrammer. This yields an error for the provisioning.py script of these examples. So the python scripts won’t work anymore. I guess the development teams did not synchronise this fact.
Hello, I’m having some issues connecting my sensor tile box pro to my pc via a USB cable and with an ST-Link V2. I’ve followed the documentation regarding DFU mode, and the board doesn’t respond to it in STM32 Programmer ( I’ve double checked if its a data cable, and this was confirmed). With the ST-Link, my Device Manager recognizes the debugger, but it has issues communicating/connecting with the board. However, I am able to flash it via Bluetooth. Is there some initialization I missed?
As shown in the picture above, on Fedora 43, the CubeProgrammer application is not matching the OS scaling and there are no options to configure it like in CubeMX. CubeProgrammer is the latest version (v2.22.0), installed today.My computer is a laptop with a 2256x1504 screen and OS-level scaling is set to 133%. All other applications behave as expected, I only ever have issues with ST’s applications.This issue has been reported multiple times in the past on different linux distributions. I have tried all suggested fixes in those posts, none worked. Links to other issues that had no solutions:
Hello ST Community,I’m developing a custom external loader for a GD25Q64E flash device and cannot get STM32CubeProgrammer to read/write/erase the external flash. I’ve attached a screenshot of the error reported by the programmer.What I’ve doneFollowed the ST tutorial “External QSPI loader how to” External QSPI loader how to - STMicroelectronics. Verified read/write/erase work when exercised from main.c — no errors there. When running the loader, I see a hardfault reported in the CubeProgrammer “HardFault” tab. There is a hardfault at the end of loader_src.c in init(); I’m not sure whether that is expected. Project uses SPI3 with DMA and interrupts to talk to the external flash. I have also tested this with just polling and verified read/writing/erase work when exercised from main.c Device and external flash infoFlash: GD25Q64E SPI instance: SPI3 (Polling)Questions: Any troubleshooting tips for getting the custom loader working with STM32CubeProgrammer (and diagnosing the hardfault sho
ProblemSTM32_Programmer_CLI.exe -c port=SWD sn=<sn> and -l stlink-only each take ~30 seconds (sometimes much more) under v2.23.0 when launched programmatically by another application (CreateProcess, stdio redirected to pipes, no console window) — the pattern any automated test/programming tool uses. CPU stays near-idle during the delay.Expected behaviorSame as v2.22.0 and same as running the CLI interactively on v2.23.0: under two seconds. Reinstalling v2.22.0, with no other change to our application, fixes it immediately.What doesn't explain itRuled out through direct testing: console presence, output redirection style, handle inheritance, antivirus, elevation, 32/64-bit calling process, working directory, concurrent vs. sequential calls, a full reboot, network reachability (disabled proxy auto-detect, firewall-blocked the exe, disabled WiFi entirely — none changed the timing), and the local Analytics\TrackedData.json cache (already empty).A Process Monitor trace of a slow call
I downloaded and installed stm cube programmer, but every time I try to open it, I immediately get an error message saying that it quit unexpectedly. Currently running mac high sierra 10.13.6. How can I fix this problem?
EnvironmentMCU: STM32H573 (custom board) STM32CubeProgrammer & STM32 Trusted Package Creator: v2.23.0 (same version) X-CUBE-RSSe: installed (RSSe SFI binary v3.1.0, RSS v2.2.0) License: ST HSM (hsm=1, slot=1) Boot: custom OEM bootloader (OEM-iRoT), not STiRoT / not mcuboot Connection: HotplugWhat I'm doing I'm evaluating SFI without Secure Manager, installing my own firmware into internal secure flash. TrustZone is enabled (TZEN=0xB4), and my final option bytes (CSV) set:BOOT_UBE = 0xB4 (OEM-iRoT) SECBOOTADD = 0xC0000 (0x0C000000) SECWM1 = 0x00–0x7F, SECWM2 = 0x00–0x7F (all secure)Memory layout (secure alias 0x0C000000):File Address Size 1.bin 0x0C000000 22.2 KB 2.bin 0x0C008000 ~813 KB total 3.bin 0x0C0F7FA0 80 B 4.bin 0x0C0F8000 32 B 5.bin 0x0C1F8000 5.6 KB Behavior The SFI process starts correctly:License processed OK Image header processed OK Area 1 (type H) processed OK Fails at Area 2 with:Error: Execution of RSS CMD failed, returned value = 0xF
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
Hi,by chance I found the “RoT Provisioning Software Pack” (https://github.com/STMicroelectronics/stm32-util-rot-provisioning).Looks promising; are there already any examples using it? I’m currently in the process of adapting the H563ZI OEMiROT examples in some custom project. Kolja
STM32_Programmer CLI, reconnect fail after change option byte by usb. | Community Has this been resolved?
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!
Good morning guys, I have the following problem:I’m trying to create a project based on SPIN32G0B2.My STM32CubeProgrammer can’t detect the STM32 micro on the board EVLSPIN32G0B2 with a builtin ST-LINK. I get the error message “Error: No STM32 target found”. Someone have any hint to solve this problem ? Thank youStefano
Dear STMicroelectronics Support Team, I hope this email finds you well. My name is Alan, and I am a master's student in the graduate school of an University in Taiwan. Currently, I am conducting research and development for an academic project utilizing the STM32N6570-DK discovery kit. During the development process, I implemented a feature that saves user configuration settings into the external NOR Flash memory. To validate the success of this storage mechanism in my academic thesis, I intend to provide a visual verification. As shown in the attached screenshot, the memory content displays the specific CAN packet format data that I defined. Regarding the software license agreement (such as SLA0044) and ST's intellectual property policies, I would like to kindly inquire about the following: Is it permissible under the current ST license to include this specific STM32CubeProgrammer screenshot in a publicly accessible academic thesis in Taiwan? If direct sc
I just downloaded the installer for 2.22.0 for MacOS on Apple Silicon and the installed program is the Intel version. Thanks
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.
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
Hello everyone,I'm using STM32CubeIDE 2.1.0 and STM32CubeProgrammer on Ubuntu 24.04.4 LTS.Yesterday I was able to flash my firmware to an module based on the STM32H755 MCU via ST-LINK using the following settings:Port: SWDMode: NormalReset mode: Software resetEverything worked fine. Today I made some modifications to the firmware, but when I tried to connect again, I got this error:Error: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug AuthenticationThings I have already tried (none worked):Changing Mode to "Under Reset"Changing Reset Mode to "Hardware reset" and "Core reset"Holding the reset button while clicking connectTesting with a different ST-LINK programmerTesting with a different board (same MCU)Here is what st-info --probe returns:Failed to enter SWD mode Found 1 stlink programmers version: V3J15 serial: 004100223235511237333439 flash: 0 (pagesize: 0) sram: 0 chipid: 0x000 dev-type: unknownThe ST-LINK i
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
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.
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.