OpenOCD

OpenOCD is the Open On-Chip Debugger. It aims to provide debugging, in-system programming and boundary-scan testing for embedded target devices.

It has Jim Tcl onboard and exposes its functionality as Tcl commands. Configuration, automation, communication and more are done using Tcl.

A very versatile tool, it allows (amongst others) ARM devices to be debugged/programmed using gdb over USB/JTAG/SWD/...

Links

Homepage
User guide
Developers guide