mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-13 01:37:55 -06:00
stm32f1: Add support for building with bootloader support
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
215b4c5a1e
commit
75fa74313c
5 changed files with 167 additions and 9 deletions
|
@ -209,11 +209,11 @@ avrdude -c stk500v2 -p atmega2560 -P /dev/ttyACM0 -u -Uflash:w:out/klipper.elf.h
|
|||
STM32F103 micro-controllers (Blue Pill devices)
|
||||
===============================================
|
||||
|
||||
The STM32F103 devices have a ROM that can flash a bootloader via 3.3V
|
||||
serial. To access this ROM, one should connect the "boot 0" pin to
|
||||
high and "boot 1" pin to low, and then reset the device. The
|
||||
"stm32flash" package can then be used to flash the device using
|
||||
something like:
|
||||
The STM32F103 devices have a ROM that can flash a bootloader or
|
||||
application via 3.3V serial. To access this ROM, one should connect
|
||||
the "boot 0" pin to high and "boot 1" pin to low, and then reset the
|
||||
device. The "stm32flash" package can then be used to flash the device
|
||||
using something like:
|
||||
```
|
||||
stm32flash -w out/klipper.bin -v -g 0 /dev/ttyAMA0
|
||||
```
|
||||
|
@ -224,8 +224,32 @@ stm32flash protocol uses a serial parity mode which the Raspberry Pi's
|
|||
https://www.raspberrypi.org/documentation/configuration/uart.md for
|
||||
details on enabling the full uart on the Raspberry Pi GPIO pins.
|
||||
|
||||
This document does not describe the method to flash an application via
|
||||
an STM32F103 bootloader.
|
||||
After flashing, set both "boot 0" and "boot 1" back to low so that
|
||||
future resets boot from flash.
|
||||
|
||||
## STM32F103 with stm32duino bootloader ##
|
||||
|
||||
The "stm32duino" project has a USB capable bootloader - see:
|
||||
https://github.com/rogerclarkmelbourne/STM32duino-bootloader
|
||||
|
||||
This bootloader can be flashed via 3.3V serial with something like:
|
||||
```
|
||||
wget 'https://github.com/rogerclarkmelbourne/STM32duino-bootloader/raw/master/binaries/generic_boot20_pc13.bin'
|
||||
stm32flash -w generic_boot20_pc13.bin -v -g 0 /dev/ttyAMA0
|
||||
```
|
||||
|
||||
This bootloader uses 8KiB of flash space (the application must be
|
||||
compiled with a start address of 8KiB). Flash an application with
|
||||
something like:
|
||||
```
|
||||
dfu-util -d 1eaf:0003 -a 2 -R -D out/klipper.bin
|
||||
```
|
||||
|
||||
The bootloader typically runs for only a short period after boot. It
|
||||
may be necessary to time the above command so that it runs while the
|
||||
bootloader is still active (the bootloader will flash a board led
|
||||
while it is running). Alternatively, set the "boot 0" pin to low and
|
||||
"boot 1" pin to high to stay in the bootloader after a reset.
|
||||
|
||||
LPC176x micro-controllers (Smoothieboards)
|
||||
==========================================
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue