CubeProgrammer issues on STM32F746

Krobus_3

New member
Joined
Sep 4, 2025
Messages
4
I upgraded from an STM32F103 board to an STM32F746 for more horsepower in a personal audio project. Everything compiled fine in Arduino and PlatformIO but when I tried CubeProgrammer to load my binary, it connects then fails with the flash loader error. The utility displays memory contents but will not erase or program it. Since I've been learning through forums like this, I know CubeProgrammer is supposed to be the main tool for STM32 in circuits work now. ST-Link Utility is okay but I want to ensure I'm not building on an outdated workflow. Has anyone figured out a reliable setup for F7 series chips?
 
Everything compiled fine in Arduino and PlatformIO but when I tried CubeProgrammer to load my binary, it connects then fails with the flash loader error
The flash loader error on an F7 is usually related to the boot configuration. The F7 series has a much more complex memory map than the F1, and if the chip's boot pins (BOOT0/BOOT1) aren't configured correctly, the programmer can't access the flash memory.
It's a common problem when moving to the newer chips. You need to check your jumper settings or whatever you're using to set the boot mode.
 
I upgraded from an STM32F103 board to an STM32F746 for more horsepower in a personal audio project. Everything compiled fine in Arduino and PlatformIO but when I tried CubeProgrammer to load my binary, it connects then fails with the flash loader error. The utility displays memory contents but will not erase or program it. Since I've been learning through forums like this, I know CubeProgrammer is supposed to be the main tool for STM32 in circuits work now. ST-Link Utility is okay but I want to ensure I'm not building on an outdated workflow. Has anyone figured out a reliable setup for F7 series chips?
you know, the fact that you can connect and see memory contents means your ST-Link and drivers are okay
The flash loader error usually points to a problem with the flash loader's ability to wake up the chip to write new data. The most common culprit is the NRST (reset) pin.
Double check that it has a solid connection to the ST-Link and a pull-up resistor. A bad reset signal can cause the flash loader to fail even though it can initially see the chip
 
I agree with the comments here. The flash loader error often points to a power supply or connection problem. The F746 draws more current than the F103, especially during flashing, which can strain your ST-Link or PC's USB port. First, I'd check your connections and try using a powered USB hub. Also make sure you have the latest CubeProgrammer and ST-Link drivers. Sometimes, an old driver can connect but fail on erase or program operations. If that doesn't work, try holding the reset button while connecting CubeProgrammer and releasing it just as you click connect. This can help if the chip is in a weird state. Good luck!
 
Don't ditch CubeProgrammer yet. I thought the tool was broken too, but it ended up being a flaky USB cable on my setup. Swapped cables and slowed the speed, and suddenly the F7 flashed fine. Sometimes it's the dumbest thing.
 
Thank you all for the different avenues to investigate. My focus was purely on the software side before reading your comments. I'll check the BOOT0 jumper, inspect the NRST pin and try a new USB cable with a powered hub. For the F746, is setting the bootloader to system memory still the correct procedure for flashing with CubeProgrammer?
 
you know, the fact that you can connect and see memory contents means your ST-Link and drivers are okay
The flash loader error usually points to a problem with the flash loader's ability to wake up the chip to write new data. The most common culprit is the NRST (reset) pin.
Double check that it has a solid connection to the ST-Link and a pull-up resistor. A bad reset signal can cause the flash loader to fail even though it can initially see the chip
yep! being able to read memory but not write to it is a classic sign of a communication problem during the erase/write phase. Beyond the NRST pin, try going into the ST Link settings in CubeProgrammer and lowering the SWD frequency. I've had to do this on a few custom boards with longer ribbon cables. It's the simplest fix
 
Quick update for everyone who helped. I've now tried a new USB cable with a powered hub and have doublechecked the BOOT0 and NRST pin connections but unfortunately, the flash loader error persists.

@circuitb0y thanks for the tip about lowering the SWD frequency, that's a new avenue for me. I'm going to test that this week. Have you found a "sweet spot" frequency for the F7 series that is usually reliable on custom boards without slowing the flash down too much?
 
Back
Top