OpenOCD
What it is
OpenOCD is free software for debugging, programming, and boundary-scan testing embedded target devices through a debug adapter. It communicates with targets using JTAG or Serial Wire Debug transports and can run as a server for GDB clients. Users can interact with it through Telnet or GDB, while its Tcl interface is designed for machine control. Configuration files can contain commands, and the project documents a Tcl scripting API. Listed target architectures include ARM, MIPS, RISC-V, Xtensa, ARC, AVR32, and others. The 0.12.0 release notes list support for Espressif ESP32, ESP32-S2, and ESP32-S3 cores, as well as the Raspberry Pi Pico RP2040; they also list Zephyr and a no-RTOS option. OpenOCD supports remote debugging and exception breakpoints. It is available for Linux, macOS, Windows, and self-hosted setups. The project says it is packaged in popular operating-system repositories and provides access to its source repository. Community binary builds are listed for Windows, GNU/Linux, and macOS, but are unofficial. Linux usually requires a udev rule for debug-adapter access, while Windows requires driver configuration for each peripheral.
For and against
For
- Free software available for Linux, macOS, and Windows.
- Communicates with targets over JTAG and SWD.
- Can serve GDB clients and supports remote debugging.
- Supports a range of listed target architectures.
Against
- Linux usually requires a udev rule for adapter access.
- Windows requires driver configuration for each peripheral.
- Community binary builds are unofficial.
- Official pages reviewed provide no security certification claim.
The verdict
OpenOCD offers embedded debugging and programming tools across several target architectures and host setups. Adapter-access configuration and the unofficial status of community builds are relevant setup considerations.
Who it suits
OpenOCD suits developers working with embedded target devices who need debugging, programming, or boundary-scan testing. It is also relevant to users comfortable configuring host access and debug-adapter drivers.
Plans and prices
OpenOCD
Open-source software · distributed through operating-system packages or source code
Read 7 Oct 2026 · openocd.org
On the record
- Command interfaces
- Users can interact with OpenOCD through Telnet or GDB, and its Tcl interface is intended as a machine interface.openocd.org · read 7 Oct 2026
- Community
- The project describes itself as an active open-source project supported by software and hardware developers around the world.openocd.org · read 7 Oct 2026
- Debug protocols
- The guide describes JTAG and Serial Wire Debug (SWD) adapter transports for communicating with targets.openocd.org · read 7 Oct 2026
- GDB support
- OpenOCD can run as a server that accepts connections from GDB clients.openocd.org · read 7 Oct 2026
- 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.openocd.org · read 7 Oct 2026
- Installation
- The project says OpenOCD is packaged in popular operating-system repositories and also provides access to its source repository.openocd.org · read 7 Oct 2026
- Purpose
- OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices using a debug adapter.openocd.org · read 7 Oct 2026
- RTOS
- The 0.12.0 release notes list support for Zephyr and a no-RTOS option.openocd.org · read 7 Oct 2026
- Scripting
- OpenOCD configuration files can contain commands, and the guide documents a Tcl scripting API.openocd.org · read 7 Oct 2026
- Security and compliance
- The official pages reviewed provide no security certification or compliance claim.openocd.org · read 7 Oct 2026
- Supported targets
- The 0.12.0 release notes list support for Espressif ESP32, ESP32-S2, and ESP32-S3 cores and Raspberry Pi Pico RP2040.openocd.org · read 7 Oct 2026
- Unofficial binaries
- The project page identifies community-provided binary builds for Windows, GNU/Linux, and macOS, and labels them unofficial.openocd.org · read 7 Oct 2026