##### Page tree
Go to start of banner

# Dronecode Probe documentation

Go to start of metadata

Dronecode Probe is a generic JTAG/SWD + UART console adapter compatible with most ARM Cortex based designs and in particular with the hardware maintained by the Dronecode project.

The design is based on Black Magic Probe and is distributed under open source licenses. The full description of its features and supported targets can be found at the Black Magic Probe homepage.

Contents:

## Features

• Supported targets:
• STMicroelectronics STM32 series
• Microchip/Atmel SAM series
• NXP LPC series
• Freescale Kinetis
• Texas Instruments LM/TM series
• Silicon Labs EFM32/EZR32
• Xilinx Zynq-7000

• See the Black Magic Probe homepage for the full list of supported targets.
• Embedded GDB server on the device. No host-side driver needed (this is unlike, for example, OpenOCD).
• Loading the application into flash or RAM.
• Real-time execution and single-stepping.
• Hardware assisted breakpoints and read/write/access watchpoints.
• Software breakpoints when executing from RAM.
• Simple integration with development tools and IDE.
• Connectors are compatible with the Dronecode Autopilot Connector Standard.
• Optional +3.3 V power supply delivery to the target.

## USB interface

Dronecode Probe is a composite USB device that incorporates two virtual serial port interfaces.

The first virtual serial port interface is connected to the debugger's embedded GDB server; this interface is used by the host-side debugger to interact with the target. The baud rate and other parameters of a typical serial port are irrelevant for this interface, because it has no physical representation.

The second virtual serial port interface is connected to the physical UART interface that can be used to communicate directly with the target's application (for example, this can be used to access the Serial command line interface (Serial CLI) on the target).

For example, the host may represent the debugger as follows:

• COM3 (on Windows), or /dev/ttyACM0 (on Linux) - this is the GDB interface.
• COM4 (on Windows), or /dev/ttyACM1 (on Linux) - this is the physical UART interface that can be used to interact with the target's application (e.g. a serial CLI).

Droneсode Probe does not require drivers when used with Windows (version 10 or newer is required), Linux, or Mac, since it uses the standard CDC-ACM USB profile. If you're using the device with GNU/Linux, be sure to check out this page which describes how to configure the access permissions correctly: Using USB devices with GNU/Linux.

The USB Vendor ID (VID) is 0x1D50, and the Product ID (PID) is 0x6018.

## Connectors

This section documents the available debug interfaces and their connectors, except the micro-USB since its purpose is evident.

### DCD-M and DCD-S

Both DCD-M (pictured on the right) and DCD-S feature the same pinout, documented in the table below. They expose both SWD and UART interfaces to the target, where UART is typically used to access the debug serial console of the target. DCD stands for Dronecode Debug, and the letters M and S mean medium and small, respectively.

PinTypeNameComment
1INTPWRTarget power sense; also can be used to power the target.
2INUART_RXSerial input.
3OUTUART_TXSerial output.
4IN/OUTSWDIOSWD data line.
5OUTSWDCLKSWD clock line.
6GNDGND

Connector part numbers are as follows:

NameManufacturerPart numberPitchDatasheet
DCD-MJST

BM06B-SRSS-TB (top entry), or

1 mmhttp://www.jst-mfg.com/product/pdf/eng/eSH.pdf
DCD-SJSTSM06B-SURS-TF0.8 mmhttp://www.jst-mfg.com/product/pdf/eng/eSUR.pdf

### ARM Cortex M debug connector

This is the standard ARM Cortex M Debug Connector that can be seen on many other ARM debuggers.

PinName
1TPWR
2SWDIO/TMS
3GND
4SWDCLK/TCK
5GND
6SWO/TDO
7
8NC/TDI
9GND
10nRESET

### Pixhawk v1 serial

This connector exposes only the UART interface. It can be used as a general UART port, and its pinout is compatible with the debug serial port on the Pixhawk v1 autopilot.

PinTypeNameComment
1Power OUT5V

Optional 5 V supply output to the target directly from USB.

Disabled by default; refer to the schematic to see what hardware modifications are required to enable it.

2

Not used
3

Not used
4INUART_RXSerial input
5OUTUART_TXSerial output
6GNDGND

## Updating the device's own firmware

First, clone the firmware source repository from the link provided at the end of this page.

Connect the board to USB while holding the button BOOT. The red LED on the board should start blinking.

If you're running Linux, the system will report the device as follows:

dmesg output
usb 2-6.2.3: new full-speed USB device number 12 using ehci-pci
usb 2-6.2.3: New USB device found, idVendor=1d50, idProduct=6017
usb 2-6.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-6.2.3: Product: Black Magic Probe (Upgrade)
usb 2-6.2.3: Manufacturer: Black Sphere Technologies
usb 2-6.2.3: SerialNumber: B5DCABF5

Then go to the directory with firmware sources and execute the following script, assuming that src/blackmagic.bin is the path to the firmware image:

sudo scripts/stm32_mem.py src/blackmagic.bin

Disconnect the board afterwards.