Toss away your boring old SWD/JTAG adapters! This Black Magic Probe, designed by 1BitSquared with Black Sphere Technologies, is a next-generation debugging tool, perfect for your ARM Cortex hacking. Unlike most dongles, you don’t need to use OpenOCD or STLink. Instead, the BMP is itself a GDB server port, emulated through the USB serial connection.
We just thought this was such a cool idea, and you also get a ‘free’ USB-serial adapter as well, with nice socket headers that you can plug into your target for dual GDB+printf debugging fun. Fully open source hardware, your purchase supports development and improvements!
From the 1BitSquared’s Wiki page on GitHub:
The Black Magic Probe is a modern, in-application debugging tool for embedded microprocessors. It allows you see what is going on ‘inside’ an application running on an embedded microprocessor while it executes. It is able to control and examine the state of the target microprocessor using a JTAG or Serial Wire Debugging (SWD) port and on-chip debug logic provided by the microprocessor. The probe connects to a host computer using a standard USB interface. The user is able to control exactly what happens using the GNU source level debugging software, GDB.
Please note that not all chips/targets are supported! Please visit the documentation page to see whether your favorite chip is in the list. As of this writing it supports the following but more are being added so check the link for the latest!
- STM32 F0, F1, F2, F3, F4, F7
- Atmel SAMD20/21, SAM3N/S/X/U, SAM4L, SAM4S
- Nordic nRF51, nRF52
- NXP LPC8xx, LPC11xx, LPC15xx, LPC43xx
- TI LM3S, TM4C
- Freescale KL25, KL27, KL02
- Xilinx Zynq-7000
- Broadcom BCM2836 (Raspberry Pi 2)
- SiLabs EFM32 and EZR32
Comes with 1 x Black Magic Probe, a 0.05″ pitch SWD/JTAG ribbon cable, and a 0.1″ pin header serial cable
- GDB server port without the need of special PC side software.
- TTL level serial interface
- SWD and JTAG support
- Supports 1.7V up to 5V targets
- Can provide 3.3V to the target (up to 100mA)
- Semihosting support
- Works on Linux, Mac and Windows
- Works with Eclipse and other Integrated Development Environments
- Supports STM32, LPC11, LM3S – full support list
- DroneCode compatible
The Black Magic Probe allows you to:
- Load your application into the target Flash memory or RAM.
- Single step through your program.
- Run your program in real-time and halt on demand.
- Examine and modify CPU registers and memory.
- Obtain a call stack backtrace.
- Set up to 6 hardware assisted breakpoints.
- Set up to 4 hardware assisted read, write or access watchpoints.
- Set unlimited software breakpoints when executing your application from RAM.
Very Brief FAQ:
- Is it normal that my Black Magic Probe is getting noticeably warm when in use?
- Yes, the Black Magic Probe is drawing about 120mA under normal operations. This means it will warm up noticeably when in use.