cancel
Showing results for 
Search instead for 
Did you mean: 

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

kps98
Associate III

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

1 ACCEPTED SOLUTION

Accepted Solutions
Imen.D
ST Employee

Hello @kps98 ,

Please look at this FAQ: Jump to bootloader from application on STM32H7 dev... - STMicroelectronics Community

STM32H7 System Bootloader sometimes not working - STMicroelectronics Community

 

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

View solution in original post

2 REPLIES 2
Imen.D
ST Employee

Hello @kps98 ,

Please look at this FAQ: Jump to bootloader from application on STM32H7 dev... - STMicroelectronics Community

STM32H7 System Bootloader sometimes not working - STMicroelectronics Community

 

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Thank you very much. It works