OpenOCD
openocd.org
What it is
OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices through a debug adapter. It communicates with targets over JTAG or Serial Wire Debug (SWD), and can run as a server for GDB clients. Users can also interact through Telnet or GDB; its Tcl interface is intended for machine interaction, and configuration files can contain commands using the documented Tcl scripting API. The target list includes ARM, MIPS, RISC-V, Xtensa, ARC, AVR32, and other architectures. Release 0.12.0 notes support for Espressif ESP32, ESP32-S2, ESP32-S3 cores, and Raspberry Pi Pico RP2040, along with Zephyr and a no-RTOS option. OpenOCD supports remote debugging and exception breakpoints. It is free and listed for Linux, macOS, Windows, and self-hosted setups. The project says it is packaged in popular operating-system repositories and provides access to source code; community binaries are marked unofficial. Host configuration may take extra steps: Linux usually needs a udev rule for adapter access, and Windows requires driver configuration for each peripheral.
Spec sheet
- Purpose
- OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices using a debug adapter.Read 7 Oct 2026 · openocd.org
- Command interfaces
- Users can interact with OpenOCD through Telnet or GDB, and its Tcl interface is intended as a machine interface.Read 7 Oct 2026 · openocd.org
- Community
- The project describes itself as an active open-source project supported by software and hardware developers around the world.Read 7 Oct 2026 · openocd.org
- Debug protocols
- The guide describes JTAG and Serial Wire Debug (SWD) adapter transports for communicating with targets.Read 7 Oct 2026 · openocd.org
- GDB support
- OpenOCD can run as a server that accepts connections from GDB clients.Read 7 Oct 2026 · openocd.org
- Host setup
- On Linux, running OpenOCD usually requires installing a udev rule to grant access to debug adapters; Windows requires driver configuration for each peripheral.Read 7 Oct 2026 · openocd.org
- Installation
- The project says OpenOCD is packaged in popular operating-system repositories and also provides access to its source repository.Read 7 Oct 2026 · openocd.org
- RTOS
- The 0.12.0 release notes list support for Zephyr and a no-RTOS option.Read 7 Oct 2026 · openocd.org
- Scripting
- OpenOCD configuration files can contain commands, and the guide documents a Tcl scripting API.Read 7 Oct 2026 · openocd.org
- Security and compliance
- The official pages reviewed provide no security certification or compliance claim.Read 7 Oct 2026 · openocd.org
- Supported targets
- The 0.12.0 release notes list support for Espressif ESP32, ESP32-S2, and ESP32-S3 cores and Raspberry Pi Pico RP2040.Read 7 Oct 2026 · openocd.org
- Unofficial binaries
- The project page identifies community-provided binary builds for Windows, GNU/Linux, and macOS, and labels them unofficial.Read 7 Oct 2026 · openocd.org
Plans and prices
Strong points and limits
Strong points
- Communicates over JTAG and SWD.
- Can serve GDB clients.
- Supports remote debugging and exception breakpoints.
- Offers Telnet, GDB, and Tcl interfaces.
- Free and available for Linux, macOS, and Windows.
Limits
- Linux usually needs a udev rule for adapter access.
- Windows requires driver configuration for each peripheral.
- Community binary builds are identified as unofficial.
Who it suits
OpenOCD suits embedded developers who need debug-adapter-based target debugging, programming, or boundary-scan testing and can configure their host system.
Verdict
OpenOCD covers several embedded debugging and programming workflows, with support for multiple transports and interfaces. Account for host access setup, particularly on Linux and Windows.
Where Specifiction places it
- Debuggers#12 of 277.8