1.7.1 UART Host Script Help
This document describes the usage of uart_host.py host script.
Downloading the Host Script
To clone or download the host tools from GitHub, go to the main page of this repository and then click Clone button to clone this repo or download as zip file. This content can also be download using content manager by following these instructions.
Path of the tool in bootloader_apps_serial_memory repository is tools/uart_host.py.
Setting Up the Host PC
- The Script is only compatible with Python 3.x
- It requires pyserial package to
communicate with device over UART. Use below command to install the pyserial
package
pip3 install pyserial
Description
- This host script should be used to communicate with the programmer application running on the device via UART interface
- It is a command-line interface and implements the UART bootloader protocol required to communicate from host PC
- If size of the input binary file is not aligned to device erase boundary it appends 0xFF to the binary to make it aligned and then sends the binary to the device
- The input address for the host tool should be the Internal Flash Address from where the binary will run
- There will be no reset command sent from host after programming by default as done in UART bootloader case
- Reboot command has to be sent separately only after successful programming to trigger bootloader from programmer application
Usage Examples
Below is the syntax to show help menu for the script.
python <harmony3_path>/bootloader_apps_serial_memory/tools/uart_host.py --help
Below is the syntax and an example to program a binary in Serial Memory.
python <harmony3_path>/bootloader_apps_serial_memory/tools/uart_host.py -v -i <COM PORT> -d <Device Name> -a <address> -f <Application_binary_path>
python <harmony3_path>/bootloader/tools/btl_host.py -v -i COM7 -d same5x -a 0x2000 -f E:/projects/h3_bootloader/bootloader_apps_serial_memory/apps/qspi_flash_bootloader/app_programmer/firmware/sam_e54_xpro.X/dist/sam_e54_xpro/production/sam_e54_xpro.X.production.bin
Below is the syntax and an example to send a Reboot command.
python <harmony3_path>/bootloader_apps_serial_memory/tools/uart_host.py -v -i <COM PORT> -r
python <harmony3_path>/bootloader/tools/btl_host.py -v -i COM7 -r
