Browse Source
- script return non-zero exit if there's a failure - upload script look for both gdb-multiarch and arm-none-eabi-gdbmaster
3 changed files with 49 additions and 17 deletions
@ -1,7 +1,11 @@
@@ -1,7 +1,11 @@
|
||||
#! /bin/sh |
||||
|
||||
set -o xtrace |
||||
|
||||
killall JLinkGDBServerCLExe |
||||
|
||||
JLinkGDBServerCLExe -silent -device @DEBUG_DEVICE@ -select usb -if SWD -speed auto -LocalhostOnly 1 -strict -vd -singlerun & |
||||
@JLinkGDBServerCLExe_PATH@ -silent -device @DEBUG_DEVICE@ -select usb -if SWD -speed auto -LocalhostOnly 1 -strict -vd -singlerun -timeout 3000 -powertarget 0 -nogui & |
||||
sleep 2 |
||||
|
||||
pgrep -i JLinkGDBServer |
||||
|
||||
# exit with status of last command |
||||
exit $? |
||||
|
@ -1,14 +1,41 @@
@@ -1,14 +1,41 @@
|
||||
#! /bin/sh |
||||
|
||||
set -o xtrace |
||||
|
||||
gdb-multiarch -silent -nx -batch \ |
||||
-ex "target remote localhost:2331" \ |
||||
-ex "monitor reset 0" \ |
||||
-ex "load" \ |
||||
-ex "monitor reset 0" \ |
||||
-ex "monitor go" \ |
||||
-ex "monitor sleep 3000" \ |
||||
-ex "disconnect" \ |
||||
-ex "quit" \ |
||||
${1} |
||||
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" |
||||
sleep 3 |
||||
else |
||||
exit 0 |
||||
fi |
||||
done |
||||
|
||||
exit 1 |
||||
|
Loading…
Reference in new issue