diff options
| author | Selene ToyKeeper | 2023-11-30 09:16:13 -0700 |
|---|---|---|
| committer | Selene ToyKeeper | 2023-11-30 09:16:13 -0700 |
| commit | fdac6fcf22cd658785480c88c28243eeae62bcd0 (patch) | |
| tree | 4c40da328458353247469b7467ec141e128b2c15 /bin/flash-avr32dd20.sh | |
| parent | added a build target for FW3X with manually-fixed RGB aux wiring (diff) | |
| download | anduril-fdac6fcf22cd658785480c88c28243eeae62bcd0.tar.gz anduril-fdac6fcf22cd658785480c88c28243eeae62bcd0.tar.bz2 anduril-fdac6fcf22cd658785480c88c28243eeae62bcd0.zip | |
made the avr32dd20 flashing script more universal
Diffstat (limited to '')
| -rwxr-xr-x | bin/flash-avr32dd20.sh | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/bin/flash-avr32dd20.sh b/bin/flash-avr32dd20.sh index ef8b0f3..dcd4967 100755 --- a/bin/flash-avr32dd20.sh +++ b/bin/flash-avr32dd20.sh @@ -1,13 +1,40 @@ #!/usr/bin/env bash +# AVR firmware flashing script, a wrapper for other tools +# Copyright (C) 2023 Selene ToyKeeper +# SPDX-License-Identifier: GPL-3.0-or-later + +# Usage: flash-MCUTYPE.sh hex/foo.hex +# (where the script name specifies the type of MCU chip, +# and the first parameter is the path to a .hex file) +# Example: +# ./bin/flash-avr32dd20.sh hex/anduril.thefreeman-avr32dd20-devkit.hex set -e +# Get the path to a .hex file [[ -z "$1" ]] && echo "No .hex file specified." && exit 1 HEX="$1" -#pymcuprog ping -t uart -u /dev/ttyUSB2 -d avr32dd20 -#pymcuprog erase -t uart -u /dev/ttyUSB2 -d avr32dd20 -#pymcuprog write verify -t uart -u /dev/ttyUSB2 -d avr32dd20 -f "$HEX" -#pymcuprog verify -t uart -u /dev/ttyUSB2 -d avr32dd20 -f "$HEX" +# assume the highest-numbered USB serial device is the correct one, +# since it was probably the most recently plugged in +TTYUSB=$(ls -1 /dev/tty* | grep -i usb | tail -1) + +# figure out the MCU type... +# TODO: find the relevant hw/*/arch file and use that to get MCU type +# use $2 if it exists, and use the name of this script maybe +MCUTYPE="unset" +[[ -n "$2" ]] && MCUTYPE="$2" +#MCUTYPE=$(echo "$0" | sed 's/.*flash-\(.*\).sh.*/\1/') +[[ "$0" =~ flash-(.*).sh ]] && MCUTYPE="${BASH_REMATCH[1]}" + +# Do the actual flashing +echo "Flashing $MCUTYPE MCU on port $TTYUSB: $HEX" +echo pymcuprog write \ + --erase \ + --verify \ + --timing \ + -t uart \ + -u "$TTYUSB" \ + -d "$MCUTYPE" \ + -f "$HEX" -pymcuprog write --erase --verify --timing -t uart -u /dev/ttyUSB2 -d avr32dd20 -f "$HEX" |
