Black Magic Probe

Firmware and Original Vendor

This page describes the firmware update and configuration process for the black magic probe.

Schematic

Adding JTAG Connectors

JTAG connectors are not normally populated on the PX4 boards.

PX4FMUv2 + PX4IOv2

JTAG headers for Pixhawk are covered here: http://pixhawk.org/modules/pixhawk

PX4FMUv1 + PX4IOv1

JTAG headers for PX4FMU and PX4IO are covered here: http://pixhawk.org/modules/px4fmu

Soldering these connectors requires a fine-tipped iron and some patience. You may find it easier to solder all the pins without worrying about shorting them together first, and then go back with some solder wick afterwards to remove the excess. It also helps to connect the JTAG cable to the connector before soldering, as the black plastic pin carrier melts easily.

Note that for both PX4FMU and PX4IO, pin 1 of the JTAG connector is towards the expansion connector (“front”) end of the board (right-hand side in the pictures above).

Instructions for Linux

Make sure the toolchain is installed.

Ubuntu

sudo apt-get install python-yaml python-usb

Arch Linux

sudo pacman -S python-yaml
yaourt -S pyusb

And then:

git clone https://github.com/blacksphere/blackmagic
cd blackmagic
git submodule init
git submodule update
make

Now unplug the Black Magic Probe, then HOLD THE BUTTON DOWN WHILE PLUGGING IT AGAIN.

sudo scripts/stm32_mem.py src/blackmagic.bin # sometimes needs to be executed twice

if all went well, you should get:

  USB Device Firmware Upgrade - Host Utility -- version 1.1
  Copyright (C) 2011  Black Sphere Technologies
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 
  Device 058: ID 0483:df11 Black Sphere Technologies - Black Magic Probe (Upgrade)
  Programming memory at 0x08011800
  All operations complete!

Instructions for Mac OS

If Android file transfer is installed, it will interfere with the DFU uploader and make uploading impossible. It can remain installed on the system, just the autostart needs to be disabled. Instruction taken from here:

Open up a terminal, then as first step remove the transfer app:

rm -r ~/Library/Application\ Support/Google/Android\ File\ Transfer/Android\ File\ Transfer\ Agent.app

And now prevent the agent from reinstalling it itself:

cd /Applications/Android\ File\ Transfer.app/Contents/Resources
mv Android\ File\ Transfer\ Agent.app Android\ File\ Transfer\ Agent.app.disable

Install pyUSB for BM firmware updates.

brew install libyaml
brew install libusb
sudo easy_install pyusb
sudo easy_install pyyaml
git clone https://github.com/blacksphere/blackmagic
cd blackmagic
git submodule init
git submodule update
make
cd src
make

Now unplug the Black Magic Probe, then HOLD THE BUTTON DOWN WHILE PLUGGING IT AGAIN.

../scripts/stm32_mem.py blackmagic.bin

Now unplug the Black Magic Probe, then replug it WITHOUT holding the button down.

Translations of this page:


Quick Links

QR Code: URL of current page