Skip to main content
Visitor II
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

    Graduate II
    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.

    FKwanAuthor
    Visitor II
    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"

    Graduate II
    July 28, 2020

    Usually SystemInit() in system_stm32f4xx.c, or grep

    FKwanAuthorAnswer
    Visitor II
    July 28, 2020

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