2024-12-04 05:52 AM
Good morning everyone,
I’m starting to study a topic to implement on my custom board: FW update via UART.
The scenario is as follows:
I don’t have the BOOT0 pin available, as it is occupied by the SWD.
I’ve read about custom bootloaders and so on; does anyone have suggestions on what path to follow and/or what references to check?
Thank you very much!
2024-12-04 06:04 AM
See Application note AN4657, STM32 in-application programming (IAP) using the USART:
Also
https://community.st.com/t5/stm32-mcus-embedded-software/official-stm32-bootloader/td-p/591959
2024-12-04 06:47 AM
You can write your own code to implement whatever functionality you deem necessary.
You'll need to subdivide the available code space, and perhaps write something very tight and compact to update the application portion.
Something with a simple UART protocol and recover methods might run 2-4KB
If the user has access to the SWDIO/SWCLK presumably they can update with ST-LINK type tools. If they are not using that, you could presumable use the pins and a button to pull up/down the BOOT0 state so that methodology is available to you.