cancel
Showing results for 
Search instead for 
Did you mean: 

Issue occured after programming STM32H743 in DFU with STM32CubeProgrammer

SilasRamsay
Visitor

So I tried upgrading the firmware. I first downloaded the STM32CubeProgrammer, linux version, on the my computer. Then I got the device into DFU mode as per instructions and attempted to flash the new firmware using the STMCubeProgrammer software. Afterwards, it did not restart and no longer goes into DFU mode. It does not show in lsusb at all. It previously did as an STM device in DFU mode, but now its no show. The MCU is an STM32H743. I found an SWD port on the PCB and connected to it, again using the STM32CubeProgrammer software but with an STLinkV2. On selecting the STLink option and clicking connect, the program reads the MCU details, but fails to read any data or flash a binary file.

When attempting to flash a new firmware I am getting 3 errors:

 
Error: Flash loader cannot be loaded
 
Warning: The core is locked up
 
Start operation achieved successfully
 
Can I unlock the core and get it into DFU mode, or at least flash the new firmware?
Beyond installing it the other day and following the firmware flashing instructions, I have no provious familiarity with the STM32CubeProgrammer software.

Any help appreciated.

 

 

4 REPLIES 4
SofLit
ST Employee

What about Boot pin? did you set it again to the GND?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Not sure about this. I am using an STLinkV2 and the header on the PCB that is marked SWD has the following pins and connections to the STLinkV2:

RST - RST

CLK - SWCLK

GND - GND

DAT - SWDIO

As per the above, I have connected RST to the RST pin on the STLinkV2, so I am assuming that the reset signal is being handled by the STLinkV2. Not sure whether RST on the PCB is connected to "the Boot pin"? Would have to check the datasheet and locate that and then check where it connects to. Also not sure what is meant by "set it AGAIN" to GND?

The instructions tell me to press down the two rotary controls, connect to USB, and then to power on the device.

 

 

SofLit
ST Employee

@SilasRamsay wrote:

it did not restart and no longer goes into DFU mode. It does not show in lsusb at all. It previously did as an STM device in DFU mode, but now its no show.


How did you enter DFU mode? without setting BOOT pin to VDD?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

I can only assume that the button presses (2 x rotary and power button) mentioned in the flashing instructions took care of that. The device came up listed as "STM whatever in DFU mode" and on hitting Connect in the CubeProgrammer with it set to USB mode its details came up and so did some of its data content. I have not been able to get it to come up since it was flashed. At this point I was working only via the external USB connector.

I located the internal SWD interface later after this when it got bricked. There is also another header on the PCB that has tracks going directly to the MCU. Looking at the pin connections, this appears to be the UART3 interface on the chip. Is this hooking this up likely to be of any help? If it were UART0 I might expect that it would be, but not so sure about UART3?

Anyway, what does it mean when it says that the 'core is locked'?

CubeProgrammer is also indicating that its status is 'halted'. I tried hitting the 'Run' button but it came back with the same errors.

I don't know whether the chip got wiped and maybe needs a bootloader installing first, but I have just found appnote 2606 and am just going through it to find the right second on the STM32H7 devices. This is one massive file! Anyway once I have found and read the relevant section I will hopefully understand more about the boot on these STM chips.