Skip to main content
Graduate
April 8, 2024
Solved

How i can upload code via DFU without changing the state of BOOT0 pin.

  • April 8, 2024
  • 1 reply
  • 1987 views

Hi,

I am using STM32H755ZI for a project and i want to provide a firmware update feature. I will only have one USB port in the end product, so i can't use ST LINK. When i try to upload using DFU, i need to pull my BOOT0 pin high such that the bootloader will be loaded from system memory, I need to reset the board as well. That makes sense too. But let's say i don't want to do that. Can i jump to the system memory location such that the chip will enter DFU mode. I was thinking about something like this. If i receive the character 'f' i enter firmware upgrade mode.

HAL_UART_Receive(&huart3,&rxData, 1, HAL_MAX_DELAY);//I am using STLINK USB UART for testing
if (rxData == 'f') {
//Code to jump to bootloader and enter firmware upgrade mode.
}

I checked AN2606 and it says that for  STM32H74xxx/75xxx
System memory - 122 Kbytes, starting from address 0x1FF00000 contain the bootloader firmware. The bootloader start address is 0x1FF09800.

So, is it possible to jump to this address and make this work? 
I tried some random stuff to jump to these memory location but none of them worked. Can someone guide me through this. 

Thanks,

Kiran

    This topic has been closed for replies.

    1 reply

    Imen.DAnswer
    Technical Moderator
    April 8, 2024
    kps98Author
    Graduate
    April 8, 2024

    Thank you very much. It works