The JTAG in your Qualcomm/Snapdragon device's USB port
10 months ago
- #Qualcomm
- #OpenSource
- #EmbeddedDebugging
- Qualcomm released the source code for Embedded USB Debug (EUD), a debug interface built into Qualcomm SoCs since ~2018.
- EUD provides debug facilities for CPUs and Hexagon co-processors/DSPs, enabling SWD debugging over USB without external tools.
- The release includes updates to OpenOCD for EUD integration, making debugging more accessible.
- Initial setup requires minor fixes for compatibility with modern toolchains, but the process is manageable.
- EUD supports debugging U-Boot, TF-A, OP-TEE, and other low-level components, enhancing development workflows.
- Additional peripherals like UART and trace are available but not yet integrated into OpenOCD.
- EUD's availability varies by device, with some production devices unexpectedly supporting it.
- SMP support is currently lacking, and some quirks like the sticky reset bit need further investigation.
- EUD does not provide control over higher execution levels (e.g., EL2) on production devices.
- Qualcomm's open-sourcing of EUD tools marks a significant step forward for developer accessibility and low-level debugging.