Skip to main content
FKwan
Associate
July 28, 2020
Solved

DFU example for Application

  • July 28, 2020
  • 2 replies
  • 1224 views

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 ?

This topic has been closed for replies.
Best answer by FKwan

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

2 replies

Tesla DeLorean
Guru
July 28, 2020

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 VenmoUp vote any posts that you find helpful, it shows what's working..
FKwan
FKwanAuthor
Associate
July 28, 2020

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"

Tesla DeLorean
Guru
July 28, 2020

Usually SystemInit() in system_stm32f4xx.c, or grep

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
FKwan
FKwanAuthorBest answer
Associate
July 28, 2020

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