Reverse Engineeringjtagswddebuggingembeddedarmmipsboundary-scan

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

bash
sudo apt install openocd

Flags

--help | -hdisplay this help
--version | -vdisplay OpenOCD version
--file | -fuse configuration file <name>
--search | -sdir to search for config files and scripts
--debug | -dset debug level to 3
-d<n>set debug level to <level>
--log_output | -lredirect log output to file <name>
--command | -crun <command>

Examples

Display the help message and available command-line options
openocd -h
Display the OpenOCD version
openocd -v
Use the specified configuration file
openocd -f config.cfg
Set directory to search for config files and scripts
openocd -s /path/to/configs
Set debug level to 3
openocd -d
Set debug level to 3 using numeric format
openocd -d3
Redirect log output to the specified file
openocd -l output.log
Run the specified command on startup
openocd -c 'init; reset'
Updated 2026-04-16kali.org ↗