cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 DFU jump to application doesn't work

PStoc.3
Associate II

Controller: STM32H743ZIT6
Custom Board
STM32CubeProgrammer, STM32CubeIDE

Hi, since a few months we have an issue with flashing our Microcontroller application.
We are using automatic firmware flashing over DFU-Util on a Linux based system, which is connected over USB to our STM32H7 custom board. We use the ST propritary Bootloader over USB DFU which is preinstalled.
After installing the firmware the device should jump into application with the following command:

$dfu-util -a 0 -s 0x08000000:leave <location-to-binary>.bin

That doesn't work.

What we have tried:

  • Uncomment USER_VECT_TAB_ADDRESS in system_stm32h7xx.c
  • Check location of flash code in linker script, that is 0x08000000
  • Reproduce it with STM32CubeProgrammer, same issue (log added)
  • An older revision of our board with a STM32F4 doesn't have this problem
  • Checked BOOT pins, BOOT0 should be set to Ground, not sure if these matters

Workaround:
After flashing the controller we make a hard reset, the application starts as usual.

Possible solution:
The error no longer exists with the latest Boards we produced. To examine the difference between old an new boards, we reviewed additional boards and noticed that older ones have bootloaderversion V9.0 installed and new ones V9.1

Question:
Is it possible that any sideeffect of the fixes in V9.1 fixes our problem or is the AN2606 not up to date?

4 REPLIES 4
Imen.D
ST Employee

Hello @PStoc.3,

The problem here might be related to this post: DFU mode with system bootloader is not working, wh... - STMicroelectronics Community

STM32H7 System Bootloader sometimes not working.

 

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Hello @Imen.D ,
thanks for your reply. This two topics I haven't seen before and they are a good hint.
But I think the topics doesn't fit as good, because the most DFU-commands works reproducibly and stably. Only the DFU-leave command doesn't jump to application.

Cythraul89
Associate

Hi,

have you found a solution?
I have the same issue.
I'm using a STM32H723 controller and the dfu leave doesn't seam to work.
The dfu bootloader is exited, but the applicaiton is not started.

 

Cythraul89
Associate

Hi.

sry: uncommenting USER_VECT_TAB_ADDRESS fixed my issue

#define USER_VECT_TAB_ADDRESS

 fixed my issue.