Tigard
What it does
The Tigard is an open-hardware breakout for the FTDI FT2232H, a dual-channel USB serial/FIFO chip, with level-shifted headers pre-wired for UART, JTAG/SWD, SPI and I2C. Where a USB-UART adapter and a JTAG/SWD probe are two separate purchases, the Tigard drives both (plus SPI and I2C) from one board over one USB port, talking to the same tools (picocom, OpenOCD, flashrom) an equivalent dedicated adapter would.
Use cases
Start recon over serial, and reach for the same board's JTAG/SWD header the moment the debug port turns out to be enabled.
OpenOCD's FTDI driver talks to the FT2232H natively, no separate ST-Link needed for an ARM Cortex-M target.
flashrom's ft2232_spi driver dumps a chip straight from the same board, a Bus Pirate/CH341A alternative.
How you use it
Same board, three different tools depending on which header you wire up:
picocom -b 115200 /dev/ttyUSB0 # UART shell
openocd -f interface/ftdi/tigard.cfg -f target/stm32f1x.cfg # JTAG/SWD
flashrom -p ft2232_spi:type=232H -r dump.bin # SPI flash readOne protocol at a time on the shared channel. The board's second FTDI channel switches between UART, SPI and I2C; it cannot run two of those at once, only the dedicated JTAG/SWD channel is independent.
Confirm the I/O voltage. It defaults to 3.3V logic; check the level-shifter setting before wiring it to a 1.8V target or reads come back unreliable.