Flashing works.

This commit is contained in:
Pbopbo
2026-04-09 12:16:42 +02:00
parent 83c986e0a9
commit 19a0d38ae2
5 changed files with 13142 additions and 88 deletions

View File

@@ -1,98 +1,40 @@
#!/bin/bash
set -e
# flash.sh — Flash nRF54 Dongle using OpenOCD via Raspberry Pi SWD
set -e # Exit on error
# Default values
INTERFACE="swd0"
HEX_FILE=""
# Help message
usage() {
echo "Usage: $0 -f <hex_file> [-i swd0|swd1] [-h]"
echo
echo "Options:"
echo " -f <hex_file> Path to the HEX file to flash (required)"
echo " -i <interface> SWD interface to use: swd0 (default) or swd1"
echo " -h Show this help message and exit"
echo "Usage: $0 -f <hex_file> [-i swd0|swd1]"
exit 1
}
# Parse arguments
while getopts "f:i:h" opt; do
case "$opt" in
f)
HEX_FILE="$OPTARG"
;;
f) HEX_FILE="$OPTARG" ;;
i)
if [[ "$OPTARG" == "swd0" || "$OPTARG" == "swd1" ]]; then
INTERFACE="$OPTARG"
else
echo "Invalid interface: $OPTARG"
usage
fi
;;
h)
usage
;;
*)
usage
;;
h) usage ;;
*) usage ;;
esac
done
# Verify HEX file is provided
if [[ -z "$HEX_FILE" ]]; then
echo "Error: HEX file not specified."
usage
fi
[[ -n "$HEX_FILE" ]] || usage
[[ -f "$HEX_FILE" ]] || { echo "HEX file not found: $HEX_FILE"; exit 1; }
# Check if HEX file exists
if [[ ! -f "$HEX_FILE" ]]; then
echo "Error: HEX file '$HEX_FILE' not found!"
exit 1
fi
# Run OpenOCD flashing command
sudo openocd \
-f ./raspberrypi-${INTERFACE}.cfg \
-f target/nordic/nrf54l.cfg \
-c "init" \
-c "reset halt" \
-c "flash write_image erase $HEX_FILE" \
-c "reset init" \
-c "flash banks" \
-c "flash write_image $HEX_FILE" \
-c "verify_image $HEX_FILE" \
-c "reset run" \
-c "shutdown"
echo "Flashing complete."
exit 1
;;
i)
if [[ "$OPTARG" == "swd0" || "$OPTARG" == "swd1" ]]; then
INTERFACE="$OPTARG"
else
echo "Invalid interface: $OPTARG"
usage
fi
;;
h)
usage
;;
*)
usage
;;
esac
done
# Run OpenOCD flashing command
sudo openocd \
-f ./raspberrypi-${INTERFACE}.cfg \
-f target/nordic/nrf54l.cfg \
-c "init" \
-c "reset halt" \
-c "flash write_image erase $HEX_FILE" \
-c "reset run" \
-c "shutdown"
echo "✅ Flashing complete."
echo "Flashing complete."