STM32H7 DFU jump to application doesn't work
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?
