cancel
Showing results for 
Search instead for 
Did you mean: 

How to create a Bootloader for STM32F746G-Discoboard?

Oscar_Niño
Associate II

Hi

I'm trying to create a bootloader for STM32F746G-Discoboard firt before create my own board. I have read AN2606 and AN3155 to create it by UART but also found this https://github.com/ferenc-nemeth/stm32-bootloader. I'm a little confused about what way I have to follow.

Best Regards

4 REPLIES 4

The ROM based system loader can't be changed.

If you want something with a better, more board specific, loader you can implement your own, using protocols you prefer.

You'd want to be looking at the assorted IAP (In-application Programming) examples in the CubeF7 tree. Likely examples with USART using Y-Modem, and Ethernet, etc.

Standard micro-controller stuff, wouldn't confine yourself to STM32 books/topics.

You get to decide how larger your loader should be, and thus how you'd want to partition the loader vs application into the available flash memory sector(s).

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Oscar_Niño
Associate II

Hi thanks for reply

Is there any example of how to use ROM based system loader from another micro-controller?

The bootloader UART protocol isn't any different from any other UART protocol. AN3155 explains everything in detail. If you need general help on how UART works, there are plenty of examples out there.

"Some of the questions I have is how about the star and end of flash." isn't a question.

If you feel a post has answered your question, please click "Accept as Solution".
Oscar_Niño
Associate II

Hi, Thanks for reply

Reading both application notes, I got two doubts:

pattern8 Indicates Boot(pin) = 0 and BOOT_ADD0(optionbyte) = 0x0040 and Boot(pin) =1 and BOOT_ADD1(optionbyte) = 0x0040 how to set this? I mean Boot pin is clear but BOOT_ADD1 how it is set?.

My project is bigger than 1 MB, so part of the code are wrote on external memory, so using bootloader and write command, It is posible to write on external flash without init driver or how I will write code using uart bootloader on external flash?

Best Regards

Oscar Niño