Perhaps during your teardown, you discovered a set of test points or debug headers that you believe might be for hardware-level debugging, such as JTAG or SWD. If you’re trying to get hardware-level debugging working on a target, it is always a good idea to see what OEM tools are available. I’ve compiled a list below of some of the more generic tools I keep in my toolbox. Most of these are ARM-focused, as many other JTAG tooling for different architectures will often involve purchasing specific hardware/software or utilizing OpenOCD.
|FT2232H Breakout Board||$14.95||Link||Generic interface board, capable of SPI, I2C, UART, etc|
|STLink||$22.16||Link||Easy to work with, largely focused on STM32, but can be used as a generic SWD adapter with OpenOCD|
|Tigard||$49.00||Link||Open source FT2232H-based, multi-protocol, multi-voltage tool for hardware hacking.|
|Black Magic Probe||$74.95||Link||Open source JTAG probe, can be used with OpenOCD|
|JLink||$529.12||Link||Extremely sound software support, supports a large amount of ARM chips, has built-in level shifting|
|Lauterbach||TBD||Link||Extremely powerful JTAG tooling that can be purchased with licenses targeting specific architectures/chipsets|
When attempting to utilize a hardware debug mechanism (especially from a black box perspective), there is no “one size fits all” tool. Whether you are accessing a JTAG tap or an SWD peripheral, there are two hurdles that you need to overcome:
The right tools for the job is critical when looking at a new hardware-level debug peripheral. Make sure that you search for OEM software/hardware and always check the latest OpenOCD commits for similar targets.