OpenOCD
OpenOCD (Open On-Chip Debugger) is an open-source debugging, in-system programming, and boundary-scan testing tool for embedded target devices. It provides JTAG, SWD and other debugging interfaces for ARM and MIPS architectures, supporting a wide range of debug adapters and embedded targets.