What is Open on Chip Debugger?
The Open On-Chip Debugger (OpenOCD) is an open source software development tool which allows on-chip debugging and programming of applications via JTAG/SWD hardware interface. OpenOCD runs on a host computer along with a debugger like GDB. GDB communicates with OpenOCD over RSP protocol similar to debugging an application running on hardware.
![OpenOCD-flow diagram](/../generated/assets/images/content/open-ocd-flow-diagram-512-cf65b1.png)
How does Linaro contribute to the OpenOCD Project?
Linaro has been actively involved in the OpenOCD project since 2016 where we initially started to help the community with upstreaming of Arm v8 AArch64 support in OpenOCD. More information on where we started with Arm v8 upstreaming work can be found here.
In the last few years Linaro toolchain team has actively participated in development, upstreaming and validation of various Arm architecture specific features in OpenOCD. We have also served as liaison between OpenOCD and GDB/LLDB debugger projects.
Linaro toolchain working group maintains a wiki area for OpenOCD containing how-to documents enabling developers to quickly get started with OpenOCD development. In absence of an active testing infrastructure for OpenOCD we have developed instructions for developers to quickly test and validate OpenOCD on Arm architecture.
How do I get involved?
Following pages provide quick start for validation and testing of OpenOCD on Arm:
- Getting started with OpenOCD Development
- Raspberry Pi Linux kernel debugging with OpenOCD
- Debug Zephyr app on Nitrogen board with OpenOCD
To find out more about Linaro and the work we do, contact us here.