Application doesn't work when loaded through USB DFU
Hello,
I am working on the USB DFU for a STM32H7A3ZGT6
I have two projects one for the DFU and one with the application to be updated.
My application works fine when I download it with the debugger.
The DFU part manages to erase and program the new app to the flash (I read it back with the ST link and there is no error nor address shift)
However, the app doesn’t work when it is loaded by the DFU program. I jump from the DFU app to the start address of the application which starts but seems to crash at random moments during execution (from seconds to minutes)
I have set up the app start app address in the DFU to
#define USBD_DFU_APP_DEFAULT_ADD 0x0800C000U
Then in the app software I have made the following :
In the FLASH.ID: FLASH (rx) : ORIGIN = 0x0800C000, LENGTH = 970K
In the system_stm32H7xx.c: #define VECT_TAB_OFFSET 0x0000C000UL
I suspected the interruption vector of the DFU app to still be working in a way but I can’t find a reason. I set it up in the right way with VECT_TAB_OFFSET
I also looked at the dual bank issues but as the binary file is loaded in the right place of the memory, I think it is not the problem here.
Have you ever seen this kind of issue?
Thank you,
Best Regards
Augustin
