32 lines
917 B
Bash
Executable File
32 lines
917 B
Bash
Executable File
#!/bin/bash
|
|
# Loads firmware image using an SWD Flasher
|
|
# Uses MCHCK ruby flasher toolchain
|
|
# NOTE: Only tested with a buspirate on Linux
|
|
|
|
# Arg 1: Path to firmware image
|
|
# Arg 2: Address to flash to (byte address)
|
|
|
|
# Must have two args
|
|
if [ "$#" -ne 2 ]; then
|
|
echo "Usage: `basename $0` <firmware binary> <starting address>"
|
|
echo "Example: `basename $0` kiibohd_bootloader.bin 0"
|
|
exit 1
|
|
fi
|
|
|
|
# First check to see if the flasher toolchain is available
|
|
if [ ! -d "programmer" ]; then
|
|
# Use git to download the toolchain
|
|
git clone https://github.com/mchck/programmer.git
|
|
fi
|
|
|
|
# Make sure the toolchain is up to date
|
|
cd programmer
|
|
git pull --rebase
|
|
cd ..
|
|
|
|
# Attempt to flash
|
|
# Udev rules have been applied to name the buspirate as /dev/buspirate (instead of something like /dev/ttyUSB0)
|
|
# By default only root can access serial devices on Linux
|
|
ruby programmer/flash.rb name=buspirate:dev=/dev/buspirate "$1" "$2"
|
|
|