stm32f4-uart-bootloader

Simple UART bootloader for STM32F4 MCU's
git clone git://git.mdnr.space/stm32f4-uart-bootloader
Log | Files | Refs | Submodules | README | LICENSE

commit 387c6673769cf6868b2631723add799fc8f9409f
parent 82d481172a2e6a2d72c8020cb577c62c25f9b972
Author: mehdi-norouzi <mehdeenoroozi@gmail.com>
Date:   Mon, 24 Feb 2025 00:53:20 +0330

update readme

Diffstat:
MREADME.md | 28++++++++++++++++------------
1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md @@ -1,7 +1,9 @@ -#UART Bootloader for STM32F4 MCU +# UART Bootloader for STM32F4 MCU + This is a simple UART bootloader written for STM32f4 MCUs based on the libopencm3 library. -##Building +## Building + clone this repo: ``` git clone git@github.com:mdnr/stm32f4-uart-bootloader.git @@ -46,23 +48,25 @@ Currently memory layout of the MCU is divided as below: Also there are 2 debug targets `(make fw-debug and make bl-debug)` for debugging the bootlaoder and application remotely on the target. - ##Using the bootloader + ## Using the bootloader + Run the python script from the root directory to connect to the serial port using a usb-serial converter ``` ./bootloader.py ``` Specify the port connected to the MCU board (e.g. `/dev/ttyUSB0`) and choose one of the actions listed: - 1. Read parameters -> Read current parameters stored in the MCU's parameter section - 2. Update parameters -> Write new parameters to the flash without touching application code - 3. Read firmware info -> Read firmware verison, size, etc. - 4. Reset the core -> Send reboot command ans start bootloader process. - 5. Lock serial line -> Lock the UART line in case it's used by the application - 6. UnLock serial line -> Release the UART lock - 7. Read diagnostics -> Read the dumped diagnostic data from corresponding section - 8. Abort -> Quit the bootlaoder + 1. `Read parameters` -> Read current parameters stored in the MCU's parameter section + 2. `Update parameters` -> Write new parameters to the flash without touching application code + 3. `Read firmware info` -> Read firmware verison, size, etc. + 4. `Reset the core` -> Send reboot command ans start bootloader process. + 5. `Lock serial line` -> Lock the UART line in case it's used by the application + 6. `UnLock serial line` -> Release the UART lock + 7. `Read diagnostics` -> Read the dumped diagnostic data from corresponding section + 8. `Abort` -> Quit the bootlaoder -##TODO +## TODO + - Adding GSM layer to support OTA update - Rewriting `bootloader.py` in C perhaps and adding proper UI to it - Adding Encryption