You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
750 B
27 lines
750 B
2 years ago
|
# In-circuit debugging using openocd and gdb
|
||
|
|
||
|
## Hardware
|
||
|
Connect an ST-Link V2 programmer to the SWD pins on the board. The pins that need to be connected are:
|
||
|
- GND
|
||
|
- VTref
|
||
|
- SWDIO
|
||
|
- SWCLK
|
||
|
- NRST
|
||
|
|
||
|
Make sure you're using a genuine one for boards that do not have a 3.3V panda power rail. For example, the tres runs at 1.8V, which is not supported by the clones.
|
||
|
|
||
|
## Openocd
|
||
|
Install openocd. For Ubuntu 20.04, the one in the package manager works fine: `sudo apt install openocd`.
|
||
|
|
||
|
To run, use `./debug_f4.sh (TODO)` or `./debug_h7.sh` depending on the panda.
|
||
|
|
||
|
## GDB
|
||
|
You need `gdb-multiarch`.
|
||
|
|
||
|
Once openocd is running, you can connect from gdb as follows:
|
||
|
```
|
||
|
$ gdb-multiarch
|
||
|
(gdb) target ext :3333
|
||
|
```
|
||
|
To reset and break, use `monitor reset halt`.
|