mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
52 lines
918 B
Bash
52 lines
918 B
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
# Default edbg command
|
||
|
: "${EDBG:=edbg}"
|
||
|
# Edbg command base arguments
|
||
|
: "${EDBG_ARGS:=}"
|
||
|
|
||
|
test_imagefile() {
|
||
|
if [ ! -f "${IMAGE_FILE}" ]; then
|
||
|
echo "Error: Unable to locate IMAGE_FILE"
|
||
|
echo " (${IMAGE_FILE})"
|
||
|
exit 1
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
do_flash() {
|
||
|
IMAGE_FILE=$1
|
||
|
test_imagefile
|
||
|
|
||
|
# Configure edbg flash flags
|
||
|
local _fflags="${EDBG_ARGS} --verbose --file ${IMAGE_FILE} --verify"
|
||
|
|
||
|
# flash device
|
||
|
sh -c "${EDBG} ${_fflags} || ${EDBG} ${_fflags} --program" && echo 'Done flashing'
|
||
|
}
|
||
|
|
||
|
do_reset() {
|
||
|
sh -c "${EDBG} ${EDBG_ARGS}"
|
||
|
}
|
||
|
|
||
|
#
|
||
|
# parameter dispatching
|
||
|
#
|
||
|
ACTION="$1"
|
||
|
shift # pop $1 from $@
|
||
|
|
||
|
case "${ACTION}" in
|
||
|
flash)
|
||
|
echo "### Flashing Target ###"
|
||
|
do_flash "$@"
|
||
|
;;
|
||
|
reset)
|
||
|
echo "### Resetting Target ###"
|
||
|
do_reset
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $0 {flash|reset}"
|
||
|
echo " flash <flashfile>"
|
||
|
exit 2
|
||
|
;;
|
||
|
esac
|