summaryrefslogtreecommitdiff
path: root/scripts/debug
blob: 87068c5ae959ad3e3071e1a01ea22ff7613d6e23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash

set -e
set -o pipefail

unset elf
unset cfg
unset jlink
unset openocd
unset gdb
while [[ "$1" != "" ]]
do
    case "$1"
    in
    --elf)                 elf="$2";     shift 2;;
    --openocd)             openocd="$2"; shift 2;;
    --jlink)               jlink="$2";   shift 2;;
    --openocd-config)      cfg="$2";     shift 2;;
    --gdb)                 gdb="$2";     shift 2;;
    *) echo "$0: Unknown argument $1";   exit 1;;
    esac
done

if [ "$elf" == "" ]
then
    echo "$0: --elf is required" >&2
    exit 1
fi

export GDB_PORT=3333

if [ "$jlink" != "" ]
then

$jlink -device RISC-V -port $GDB_PORT &

else

$openocd -f $cfg &

fi

$gdb $elf -ex "set remotetimeout 240" -ex "target extended-remote localhost:${GDB_PORT}"

kill %1