Hasty Briefsbeta

Bilingual

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.