OpenOCD
OpenOCD is an open on-chip JTAG/SWD debug solution for embedded target devices. It provides debugging, in-system programming, and boundary-scan testing for ARM, MIPS, and other microcontroller systems.
Description
OpenOCD aims to provide debugging, in-system programming and boundary-scan testing for embedded target devices. The debugger uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip debug functionality available on ARM based microcontrollers or system-on-chip solutions. For MIPS systems the EJTAG interface is supported. Additionally there is support for eSi-RISC, Intel, OpenRISC, RISC-V and ARC controllers.
User interaction is realized through a telnet command line interface, a gdb (the GNU debugger) remote protocol server, and a simplified RPC connection that can be used to interface with OpenOCD’s Jim Tcl engine. OpenOCD supports many different types of JTAG interfaces/programmers.
It is a free and open on-chip debugging, in-system programming and boundary-scan testing tool for ARM and MIPS systems.
How It Works
OpenOCD uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip debug functionality on ARM microcontrollers or SoCs. MIPS systems use the EJTAG interface. Supports eSi-RISC, Intel, OpenRISC, RISC-V, and ARC controllers. User interaction via telnet CLI, GDB remote protocol server, and RPC to Jim Tcl engine. Compatible with many JTAG interfaces/programmers.
Installation
sudo apt install openocdFlags
Examples
openocd -hopenocd -vopenocd -f config.cfgopenocd -s /path/to/configsopenocd -dopenocd -d3openocd -l output.logopenocd -c 'init; reset'