- 1 Protocol / Interface
- 2 CricketProbe v1.00
- 3 Lyorak Probe
- 4 Black Magic Probe
- 5 STLink
- 6 FLOSS JTAG
- 7 FT2232H Mini Module
- 8 Blackmagic Probe usage
These various programming adapters and probes can be used for flashing, debugging and some also as serial adapters.
Protocol / Interface
There are two different relevant Protocolls / Interfaces for STM32:
Recently some new JTAG adapters that use the FTDI2232 USB-parallel converter were introduced through OpenOCD. USB JTAG adapters include Floss-JTAG, Olimex or Amontec and also fine with Windows (Yagarto).
A JTAG interface is designed for on-chip debugging. It can also be used to flash your firmware if you do not have a means to upload software via USB already. For short, if you want to upload your own software or want to do serious paparazzi development work, the you need a JTAG adapter like this.
The Lyorak probe is a programming and debugging tool for ARM Cortex MCU, based on the Black Magic Probe.
Designed with 1206 SMD components for easy assmbly and a CAN interface.
Black Magic Probe
Every STM discovery / eval board comes with a ST-Link V2 on board, with one exception; the STM32VL version, that board comes with ST-Link V1.
The FLOSS JTAG is based on an FTDI 2232HL chip that allows two simultaneous USB connections, which means that FLOSS JTAG allows JTAG and UART/COM connections.
The FT2232H Mini Module can also be used since this has the same chip.
On the bottom side there is 4 pin UART/COM connector, which contains (from top to bottom on the image, or color dots): Ground (black), RX (orange), TX (yellow), and +5V (red)
FT2232H Mini Module
The FT2232H Mini modules can be used with blackmagic firmware or as FLOSS-JTAG device.
More Information can be found at the FT2232H Mini Module Serial Adapter page.
Out of the box, there is NO power supply for the FT2232H because this can either done with USB or external 5V.
The pictures above show two different PCB versions. The suggested connections only apply to the right (latest) layout.
Connect: (for power supply over USB)
- CN3 pin 1 to CN3 pin 3
- CN2 pin group 1,3,5 to CN2 pin group 11,21 and to CN3 pin group 12,22
First, get the VID/PID for your FT2232 device using 'lsusb'. Edit the file 'src/libftdi/platform.h' and change the VID/PID to match your hardware. Compile the application with the command:
With the tool "FT_Prog" change the description the FT2232H to "FLOSS-JTAG".
Blackmagic Probe usage
In the wiki (under [Developer_Guide]) is already some helpful information:
- Use Blackmagic Probe with Eclipse RT_Paparazzi#Debugging_with_an_Eclipse_IDE.
- General OpenOCD/GDB commands in reagards of the BMP, also about SWD DevGuide/GDB-Debug#Debugging_with_GDB_over_JTAG DevGuide/GDB-Debug#Black_Magic_Probe_2.
Upgrade BMP firmware
TODO: rewrite, this is just copied from the JTAG page.
Check firmware version:
$ sudo /usr/bin/arm-none-eabi-gdb (gdb) target extended-remote /dev/ttyACM0 (gdb) monitor version
To upgrade the brain of your Black Magic Probe, a.k.a. its firmware:
- Download the compiled firmware from http://blacksphere.co.nz/builds/ (more info at https://github.com/blacksphere/blackmagic/wiki/Frequently-Asked-Questions) - Download and run the stm32_mem.py script: $ git clone git://blackmagicdebug.git.sourceforge.net/gitroot/blackmagicdebug/blackmagicdebug $ cd blackmagicdebug/src/scripts $ ./stm32_mem.py blackmagic-XXXX.bin (this is the .bin file you downloaded in previous step)