Table of Contents

OpenOCD

OpenOCD with a J-Link clone

Olimex USB OCD H for OpenOCD

OpenOCD is used to program and debug various devices with GDB.

It supports many interfaces which including GPIOs, professional interfaces and their clones.

Install

RPi

Install prerequisites.

apt install build-essential git automake libtool libhidapi-dev libcapstone-dev libusb-1.0-0-dev libjaylink-dev libgpiod-dev pkg-config

Install into /usr/local

mkdir -p /opt/src
cd /opt/src
git clone https://git.code.sf.net/p/openocd/code openocd
cd openocd
./bootstrap
./configure --prefix=/usr/local --enable-ftdi --enable-sysfsgpio --enable-bcm2835gpio --enable-picoprobe --enable-jlink --enable-ft232r --enable-cmsis-dap --enable-cmsis-dap-v2 --enable-dummy --with-capstone
make -j 4
make install

STMicroelectronics and RPi provide modified versions of OpenOCD for their processors

git clone https://github.com/STMicroelectronics/OpenOCD openocd.stm
...
./configure --prefix=/opt/openocd.stm ...
git clone https://github.com/raspberrypi/openocd openocd.rpi
...
./configure --prefix=/opt/openocd.rpi ...
/opt/openocd.rpi/bin/openocd -f "interface/cmsis-dap.cfg" -f "target/rp2350.cfg" -c "adapter speed 4000"
Open On-Chip Debugger 0.12.0+dev-gebec9504d (2024-10-17-18:47)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : Hardware thread awareness created
Info : Hardware thread awareness created
Info : Hardware thread awareness created
Info : Hardware thread awareness created
cortex_m reset_config sysresetreq
adapter speed: 4000 kHz
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : Using CMSIS-DAPv2 interface with VID:PID=0x2e8a:0x000c, serial=1C789DE3E289C250
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 4000 kHz
Info : SWD DPIDR 0x4c013477
Info : [rp2350.dap.core0] Cortex-M33 r1p0 processor detected
Info : [rp2350.dap.core0] target has 8 breakpoints, 4 watchpoints
Info : [rp2350.dap.core0] Examination succeed
Info : [rp2350.dap.core1] Cortex-M33 r1p0 processor detected
Info : [rp2350.dap.core1] target has 8 breakpoints, 4 watchpoints
Info : [rp2350.dap.core1] Examination succeed
Info : starting gdb server for rp2350.dap.core0 on 3333
Info : Listening on port 3333 for gdb connections
Windows

Release overview is here or download.

Resources

Using GDB