From 00dd530f9d55d9f642b24fef3ec351d2bc85d88a Mon Sep 17 00:00:00 2001 From: pstruebi Date: Mon, 29 Sep 2025 13:31:51 +0200 Subject: [PATCH] add swd reset script --- reset_nrf54l.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 reset_nrf54l.sh diff --git a/reset_nrf54l.sh b/reset_nrf54l.sh new file mode 100644 index 0000000..a1dffca --- /dev/null +++ b/reset_nrf54l.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# reset_nrf54l.sh — Reset nRF54L targets via OpenOCD using Raspberry Pi SWD + +set -euo pipefail # Strict mode: exit on error, undefined vars, and pipe failures + +# Print a helpful message on any error, preserving the failing exit code +trap 'rc=$?; echo "❌ nRF54L reset failed (exit $rc)." >&2; exit $rc' ERR + +# Default values +INTERFACE="swd0" + +usage() { + echo "Usage: $0 [-i swd0|swd1] [-h]" + echo + echo "Options:" + echo " -i SWD interface to use: swd0 (default) or swd1" + echo " -h Show this help message and exit" + exit 1 +} + +# Parse arguments +while getopts "i:h" opt; do + case "$opt" in + i) + INTERFACE="$OPTARG" + ;; + h) + usage + ;; + *) + usage + ;; + esac +done + +# Run OpenOCD reset command +sudo openocd \ + -f ./raspberrypi-${INTERFACE}.cfg \ + -f target/nordic/nrf54l.cfg \ + -c "init" \ + -c "reset run" \ + -c "shutdown" + +echo "✅ nRF54L reset issued on ${INTERFACE}." + +# Success +exit 0 +a \ No newline at end of file