Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- PYTHON=${PYTHON:-$(which python3 python|head -n 1)}
- set -e
- # Usage info
- show_help() {
- cat << EOF
- Usage: $(basename $0) [-h] [-p ESPTOOL_PORT] [-P PYTHON] [-f FILENAME|FILENAME]
- Flash image file to device, but first erasing and writing system information"
- -h Display this help and exit
- -p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous).
- -P PYTHON Specify alternate python interpreter to use to invoke esptool. (Default: "$PYTHON")
- -f FILENAME The .bin file to flash. Custom to your device type and region.
- EOF
- }
- while getopts ":hp:P:f:" opt; do
- case "${opt}" in
- h)
- show_help
- exit 0
- ;;
- p) export ESPTOOL_PORT=${OPTARG}
- ;;
- P) PYTHON=${OPTARG}
- ;;
- f) FILENAME=${OPTARG}
- ;;
- *)
- echo "Invalid flag."
- show_help >&2
- exit 1
- ;;
- esac
- done
- shift "$((OPTIND-1))"
- [ -z "$FILENAME" -a -n "$1" ] && {
- FILENAME=$1
- shift
- }
- if [ -f "${FILENAME}" ]; then
- echo "Trying to flash ${FILENAME}, but first erasing and writing system information"
- # edited to remove "--baud 921600" from each line below, after esptool to fix erase failed and other errors
- $PYTHON -m esptool erase_flash
- $PYTHON -m esptool write_flash 0x1000 system-info.bin
- $PYTHON -m esptool write_flash 0x00390000 spiffs-*.bin
- $PYTHON -m esptool write_flash 0x10000 ${FILENAME}
- else
- echo "Invalid file: ${FILENAME}"
- show_help
- fi
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement