diff options
| -rw-r--r-- | firmware/README.txt | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/firmware/README.txt b/firmware/README.txt index d24eab5..7836bc2 100644 --- a/firmware/README.txt +++ b/firmware/README.txt @@ -43,6 +43,39 @@ Mention that you do not have to quit GDB to upload new compiled firmware. Just  call `load` and `run` again. +Upload firmware via serial bootloader +------------------------------------- + +STM32 microcontrollers have a built-in serial bootloader to flash firmware. It +is activated if pin BOOT0 is pulled to 3.3 V, BOOT1 to 0 V (GND) and the +microcontroller is restarted. In this state it is possible to flash firmware +with just a USB to serial adapter via USART1 (PA9 and PA10). This works with a +FTDI USB to UART adapter (3.3 V TTL logic and 5 V VCC). + +To upload a *.bin firmware to the MCU just follow these steps. You will need to +install the stm32flash utility (maybe via AUR): + +- connect: +	- GND (UART adapter) to GND (MCU) +	- RX (UART adapter, yellow in my case) to PA9 (MCU) +	- TX (UART adapter, orange in my case) to PA10 (MCU) +	- VCC (UART adapter) to VCC (MCU) just if no other power source is +	  connected! +- set BOOT0 to 1 (3.3 V) and BOOT1 to 0 (GND) +- reboot MCU +- flash firmware with stm32flash + +To flash and verify `firmware.bin` via `/dev/ttyUSB0` use this command: + +	stm32flash -w firmware.bin -v /dev/ttyUSB0 + +It can then be started with: + +	stm32flash -g 0x0 /dev/ttyUSB0 + +For further details run `man stm32flash`. + +  External References  ------------------- | 
