Browse Source

NuttX debug jlink scripts minor improvements

- script return non-zero exit if there's a failure
 - upload script look for both gdb-multiarch and arm-none-eabi-gdb
master
Daniel Agar 4 years ago committed by GitHub
parent
commit
fcf0d3536f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      platforms/nuttx/Debug/jlink_debug_gdb.sh.in
  2. 10
      platforms/nuttx/Debug/jlink_gdb_start.sh.in
  3. 51
      platforms/nuttx/Debug/upload_jlink_gdb.sh

5
platforms/nuttx/Debug/jlink_debug_gdb.sh.in

@ -1,7 +1,5 @@ @@ -1,7 +1,5 @@
#! /bin/sh
set -o xtrace
@JLinkGDBServerExe_PATH@ -device @DEBUG_DEVICE@ -select usb -endian little -if SWD -speed auto -ir -LocalhostOnly 1 -strict -vd -singlerun &
cd @PX4_BINARY_DIR@ && @CMAKE_GDB@ -silent -nh \
@ -12,3 +10,6 @@ cd @PX4_BINARY_DIR@ && @CMAKE_GDB@ -silent -nh \ @@ -12,3 +10,6 @@ cd @PX4_BINARY_DIR@ && @CMAKE_GDB@ -silent -nh \
-ex "monitor reset 0" \
-ex "continue" \
@PX4_CONFIG@.elf
# exit with status of last command
exit $?

10
platforms/nuttx/Debug/jlink_gdb_start.sh.in

@ -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 $?

51
platforms/nuttx/Debug/upload_jlink_gdb.sh

@ -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…
Cancel
Save