The goal of this serial custom bootloader project is to enhance understanding of bootloader software for microcontrollers, particularly those based on ARM Cortex-M. It involves developing simple custom commands and communication protocols to establish a link between the microcontroller and a host PC.
SOF | TYPE | LEN | |
---|---|---|---|
SIZE (bytes) | 1 | 1 | 2 |
DATA | CRC | |
---|---|---|
SIZE (bytes) | 4 - 1024 | 4 |
- START: to indicate the start of firmware download.
- STOP: to indicate the end of firmware download.
- RESP: to respond the host on packet reception based on the validation.
- CONF: to send the firmware configuration includes (version, size, crc) etc.
- DATA: to send the actual firmware binary packets.
The host tool to flash the bin into the microcontroller using Simple Custom Bootloader Protocol(SBP).
python3 Utils/boot_tool.py <app_binary_path> <app_version>