This is an old revision of the document!
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
ST 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 ...