|
|
|
define bmconnect
|
|
|
|
if $argc < 1 || $argc > 2
|
|
|
|
help bmconnect
|
|
|
|
else
|
|
|
|
target extended-remote $arg0
|
|
|
|
if $argc == 2
|
|
|
|
monitor $arg1 enable
|
|
|
|
end
|
|
|
|
monitor swdp_scan
|
|
|
|
attach 1
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
document bmconnect
|
|
|
|
Attach to the Black Magic Probe at the given serial port/device.
|
|
|
|
bmconnect PORT [tpwr]
|
|
|
|
Specify PORT as COMx in Microsoft Windows or as /dev/ttyACMx in Linux.
|
|
|
|
If the second parameter is set as "tpwr", the power-sense pin is driven to
|
|
|
|
3.3V
|
|
|
|
end
|
|
|
|
|
|
|
|
# Load .gdbinit files from current dir
|
|
|
|
set auto-load local-gdbinit
|
|
|
|
set auto-load safe-path ~
|
|
|
|
add-auto-load-safe-path /usr/lib/go/src/runtime/runtime-gdb.py
|
|
|
|
add-auto-load-safe-path /usr/share/gdb/auto-load/usr/lib
|
|
|
|
|
|
|
|
# save command history
|
|
|
|
set history save on
|
|
|
|
set history size 10000
|
|
|
|
set history remove-duplicates unlimited
|
|
|
|
set history filename ~/.gdb_history
|
|
|
|
|
|
|
|
# give me pretty structures
|
|
|
|
set print pretty on
|
|
|
|
|
|
|
|
# Allow memory access outside of server provided memory map
|
|
|
|
set mem inaccessible-by-default off
|
|
|
|
|
|
|
|
|
|
|
|
# Clion is stupid
|
|
|
|
# define target remote
|
|
|
|
# bmconnect /dev/ttyBmpGdb
|
|
|
|
# end
|
|
|
|
|
|
|
|
# upgrade remote commands
|
|
|
|
define target remote
|
|
|
|
target extended-remote $arg0
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
define xxd
|
|
|
|
if $argc < 2
|
|
|
|
set $size = sizeof(*$arg0)
|
|
|
|
else
|
|
|
|
set $size = $arg1
|
|
|
|
end
|
|
|
|
dump binary memory dump.bin $arg0 ((void *)$arg0)+$size
|
|
|
|
eval "shell xxd -o %d dump.bin; rm dump.bin", ((void *)$arg0)
|
|
|
|
end
|
|
|
|
document xxd
|
|
|
|
Dump memory with xxd command (keep the address as offset)
|
|
|
|
|
|
|
|
xxd addr [size]
|
|
|
|
addr -- expression resolvable as an address
|
|
|
|
size -- size (in byte) of memory to dump
|
|
|
|
sizeof(*addr) is used by default
|
|
|
|
end
|