Bootloading
2022-08-01 Notes on bootloaders for microcontrollers
Keywords: bootloader :: bootloaders :: serial bootloader :: serial bootloading
A starting point, which links to five articles on differing bootloading approaches:
-
13 Aug 2019 by François Baldassari
2022-08-03
What is a serial bootloader and how is it used?
Following link gives Silabs example, but is not a good general explanation:
- https://community.silabs.com/s/article/what-is-serial-bootloader-and-how-to-use-it-x?language=en_US
- https://www.silabs.com/documents/public/application-notes/AN1011-efm32-standalone-programmer.pdf
^ Atmel bootloader
^ STMicro bootloaders
Following is an interesting link in that it appears to cause web browser to download the linked pdf file, and then subsequent visits to this link redirect to the local downloaded copy:
- [ https://www.st.com/resource/en/application_note/cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf AN2606 application notes]
QUESTION: How to enter bootloader? activate bootloader for STM32 parts?
ANSWER: In a general sense STM32 bootloader activation depends often on both certain config register bits settings and also one or two pin states at power up. For the STM32WL55, document AN2606 pages 28 and 370 give us a starting point for the names of the configuration registers in which to set or clear certain bits, and the name of the pin, BOOT0, to hold high or low at power up. Each MCU family or line has variations on this theme . . .
With the STM32WL55xx Nucleo board, STMicro's AN2606 application notes document says that USART1 is enabled with RX and TX lines assigned to PA10 and PA9 respectively. These MCU pins map to connectors and connector pins:
USART1 TX --> PA9 . . . CN5 pin 2 USART1 RX --> PA10 . . . CN8 pin 3 GND . . . CN5 pin 7 and others
^ RP2040 bootloaders
- https://blog.usedbytes.com/2021/12/pico-serial-bootloader/ RP2040 bootloader by Brian Starkey
- https://github.com/usedbytes/rp2040-serial-bootloader . . . bootloader by 'usedbytes'
- https://github.com/rhulme/pico-flashloader . . . bootloader by rhulme, small at less than 4kb
- https://github.com/dwelch67/raspberrypi-pico/tree/main/bootloader10 . . . bootloader by dwelch67
^ References