1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

dist/tools/openocd: start debug-server in background and wait

This commit is contained in:
Fabian Hüßler 2023-06-15 19:24:14 +02:00
parent 829af7c105
commit 1b93025ab1

View File

@ -409,6 +409,17 @@ do_debug() {
do_debugserver() { do_debugserver() {
test_config test_config
# temporary file that saves OpenOCD pid
OCD_PIDFILE=$(mktemp -t "openocd_pid.XXXXXXXXXX")
# will be called by trap
cleanup() {
OCD_PID="$(cat $OCD_PIDFILE)"
kill ${OCD_PID}
rm -f "$OCD_PIDFILE"
exit 0
}
# cleanup after script terminates
trap "cleanup ${OCD_PIDFILE}" EXIT
# start OpenOCD as GDB server # start OpenOCD as GDB server
sh -c "${OPENOCD} \ sh -c "${OPENOCD} \
${OPENOCD_ADAPTER_INIT} \ ${OPENOCD_ADAPTER_INIT} \
@ -421,7 +432,13 @@ do_debugserver() {
-c 'init' \ -c 'init' \
${OPENOCD_DBG_EXTRA_CMD} \ ${OPENOCD_DBG_EXTRA_CMD} \
-c 'targets' \ -c 'targets' \
-c 'halt'" -c 'halt' & \
echo \$! > $OCD_PIDFILE ; \
wait \$(cat $OCD_PIDFILE)" &
while read -r line; do
echo "Exit with Ctrl+D"
done
} }
do_reset() { do_reset() {