cancel
Showing results for 
Search instead for 
Did you mean: 

DFU example for Application

FKwan
Associate II

I want to test out the DFU on STM32F429ZI-Nucleo

I have located the Boot loader project.

STM32F429ZI-Nucleo\Applications\USB_Device\DFU_Standalone

In order to have this Bootloader Jump into the App. Do I simply change the

FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K

of any STM example ?

or there is more to it ?

1 ACCEPTED SOLUTION

Accepted Solutions
FKwan
Associate II

Thanks. Found it "VECT_TAB_OFFSET", change this to match FLASH, it works now.

View solution in original post

4 REPLIES 4

Well you'd want to shrink the size of the loader, and advance the origin on the application, so there is a suitable split between them.

On the app side you'd need to fix up the vector table address set into SCB->VTOR to match the new origin.

The new origin should be on a flash sector boundary, which will also be on a 512-byte boundary in this case, which is what the VTOR register needs.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I updated the ld file for memory

FLASH (rx)   : ORIGIN = 0x8008000, LENGTH = 2016K

But I could not find where to change the "vector table address set into SCB->VTOR"

Usually SystemInit() in system_stm32f4xx.c, or grep

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
FKwan
Associate II

Thanks. Found it "VECT_TAB_OFFSET", change this to match FLASH, it works now.