Skip to main content
Graduate
January 7, 2025
Question

Program update over USB

  • January 7, 2025
  • 3 replies
  • 3057 views

Hello,

I was able to update F429 using boot-0 and CubeProg tool via USB. 

But requirement was to update without boot-0 pin. 

Please suggest alternatives for update from USB.

Also wanted to know: 

I tried changing boot-0 to do DFU, using SW and HW reset but didn't work. Power cycle was required. Wanted to know does SW/ HW reset work?

    This topic has been closed for replies.

    3 replies

    Super User
    January 7, 2025

    You can jump to the bootloader in software on demand to perform update over USB. BOOT0 is only sampled when NRST goes high after a reset. Doesn't matter what happens to the pin after that.

    GauravKAuthor
    Graduate
    January 7, 2025

    Thank you @TDK 

    I wanted to know:

    any steps to follow for getting into bootloader for update from USB while application is running?

    Is USB FS configured as DFU sufficient or any other setting required?

    Super User
    January 7, 2025
    GauravKAuthor
    Graduate
    January 8, 2025

    Hello @TDK , Thanks for providing information.

    I tried this by changing device to F4. But there is hard fault on jump. 

     

    Then looking at the web further changes I found was:

    SYSCFG->MEMRMP = 1; 

    I was able to get in DFU.

    Also I saw changes people have:

    using  for (i = 0; i < sizeof(NVIC->ICER) / sizeof(NVIC->ICER[0]); i++) for clearing interrupts

    SysTick->LOAD = 0;
    SysTick->VAL = 0;

    Please can you validate the same, and suggest of further changes required.

    Super User
    January 7, 2025

    If ST is going to support jump to the "system" bootloader from user software - can they support selection of the interface for the bootloader?

    This will let the user to reliably activate the USB interface without touching other things, as the bootloader would do when left to its own devices. How this can be done: Define several entry points or pass parameter(s) to a single entry point.

    @STOne-32