You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
631 B
42 lines
631 B
#! /bin/sh |
|
|
|
if command -v gdb-multiarch &> /dev/null |
|
then |
|
GDB_CMD=$(command -v gdb-multiarch) |
|
|
|
elif command -v arm-none-eabi-gdb &> /dev/null |
|
then |
|
GDB_CMD=$(command -v arm-none-eabi-gdb) |
|
|
|
else |
|
echo "gdb arm-none-eabi or multi-arch not found" |
|
exit 1 |
|
fi |
|
|
|
file ${1} |
|
|
|
gdb_cmd_file=$(mktemp) |
|
|
|
cat >"${gdb_cmd_file}" <<EOL |
|
target remote localhost:2331 |
|
monitor reset 0 |
|
load |
|
monitor reset 0 |
|
monitor go |
|
EOL |
|
|
|
for i in 1 2 3; |
|
do |
|
${GDB_CMD} -silent --nh --nx --nw -batch -x ${gdb_cmd_file} ${1} |
|
gdb_ret=$? |
|
|
|
if [ $gdb_ret -ne 0 ]; then |
|
echo "GDB error, retrying" |
|
killall JLinkGDBServerCLExe |
|
sleep 5 |
|
else |
|
exit 0 |
|
fi |
|
done |
|
|
|
exit 1
|
|
|