Difference between revisions of "JTAG"

From PaparazziUAV
Jump to navigation Jump to search
m (grammar/spelling)
(readability)
Line 1: Line 1:
=Introduction=
==Introduction==
A JTAG interface is designed for on-chip debugging. It is used to program that 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 cable like this.
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.


=JTAG Cable overview=
See also:
There are multiple Paparazzi-compatible devices available that support JTAG. Below you find a list of JTAG devices that you can use in combination with e.g. a Paparazzi Lisa/M board.
* [[FirmwareFlashing#JTAG|firmware flashing via JTAG]]
* [[DevGuide/JTAG-Debug|debugging with JTAG]]


== FLOSS JTAG ==
==JTAG Adapters==
There are multiple Paparazzi-compatible devices available that support JTAG.
 
Below you find a list of JTAG devices that you can use in combination with e.g. a Paparazzi Lisa/M board.
 
=== FLOSS JTAG ===
   
   
The FLOSS JTAG is based on an FTDI chip that allows two simultaneous USB connections, which means that FLOSS JTAG allows JTAG and UART/COM connections.
The FLOSS JTAG is based on an FTDI chip that allows two simultaneous USB connections, which means that FLOSS JTAG allows JTAG and UART/COM connections.
Line 21: Line 27:
More info available on the [http://randomprojects.org/wiki/Floss-JTAG randomprojects.org wiki].
More info available on the [http://randomprojects.org/wiki/Floss-JTAG randomprojects.org wiki].


== Black Magic Probe ==
=== Black Magic Probe ===
 
[[Image:BMPM_1_top.jpg|500x500px]]


[[Image:BMPM_1_bottom.jpg|500x500px]]
[[Image:BMPM_1_top.jpg|500x500px]][[Image:BMPM_1_bottom.jpg|500x500px]]


Full info about the Black Magic Probe is available at the [http://www.blacksphere.co.nz/main/blackmagic Black Sphere Technology website].
Full info about the Black Magic Probe is available at the [http://www.blacksphere.co.nz/main/blackmagic Black Sphere Technology website].
Line 38: Line 42:
if this all makes no sense and you need another way to upload take a look at this section http://paparazzi.enac.fr/wiki/Lisa/M_v2.0#Using_JTAG
if this all makes no sense and you need another way to upload take a look at this section http://paparazzi.enac.fr/wiki/Lisa/M_v2.0#Using_JTAG


=== Benefits ===
==== Benefits ====


There are good reasons to use the Black Magic Probe Mini instead of FLOSS-JTAG:
There are good reasons to use the Black Magic Probe Mini instead of FLOSS-JTAG:
Line 49: Line 53:
*No need for loading and unloading of FTDI drivers on Mac OS X
*No need for loading and unloading of FTDI drivers on Mac OS X


===How to use Debugging features===
====Upgrade BMP firmware====
 
A page describing on how to start debugging using the BlackMagic probe cable can be found here JTAG: [[DevGuide/JTAG-Debug]]
 
===Upgrade BMP firmware===


To upgrade the brain of your Black Magic Probe, a.k.a. its firmware, use these commands on your command line:
To upgrade the brain of your Black Magic Probe, a.k.a. its firmware, use these commands on your command line:
Line 62: Line 62:
   ../scripts/stm32_mem.py blackmagic.bin
   ../scripts/stm32_mem.py blackmagic.bin


== FT2232 Dev Board ==
=== FT2232 Dev Board ===


Use ftdi prog to change the Description String into: FLOSS-JTAG
Use ftdi prog to change the Description String into: FLOSS-JTAG


[[File:AlternativeFlossJtag.png]]
[[File:AlternativeFlossJtag.png]]
= Related articles =
* [[DevGuide/JTAG-Debug]] - Developer's guide JTAG debugging
* [[Dev/Debugging]] - General debugging information


[[Category:Hardware]] [[Category:Software]] [[Category:Developer_Documentation]]
[[Category:Hardware]] [[Category:Software]] [[Category:Developer_Documentation]]
----
(*(oo)*), ,~

Revision as of 16:13, 13 March 2013

Introduction

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.

See also:

JTAG Adapters

There are multiple Paparazzi-compatible devices available that support JTAG.

Below you find a list of JTAG devices that you can use in combination with e.g. a Paparazzi Lisa/M board.

FLOSS JTAG

The FLOSS JTAG is based on an FTDI chip that allows two simultaneous USB connections, which means that FLOSS JTAG allows JTAG and UART/COM connections.

Let's take a look at upper side of the board. It contains JTAG connector (which is connected on photo) and two sets of RX/TX LEDs for JTAG and UART/COM interface separately. The JTAG connector is 2x5 pins, 0.05-inch pitch, and is compatible with the Samtec FFSD-05-D-06.00-01-N-RW-R ribbon cable.

Jtag-up.jpg

On the other side of the board there is 4 pin UART/COM connector, which contains (from top to bottom in the image below): Ground (black), RX (orange), TX (yellow), and +5V (red)

Jtag-down.jpg

Usage of board is pretty simple: JTAG can be used to upload firmware into the board and/or repair board with broken bootloader, and UART/COM interfaced can be used to make "COM port style" connection to the board. COM connection can be used for example for telemetry debug.

More info available on the randomprojects.org wiki.

Black Magic Probe

BMPM 1 top.jpgBMPM 1 bottom.jpg

Full info about the Black Magic Probe is available at the Black Sphere Technology website.

To use Black Magic Probe instead of FLOSS-JTAG or Luftboot, append the following string to the upload command:

On Linux:

FLASH_MODE=JTAG BMP_PORT=/dev/ttyACM0

On Mac OS:

FLASH_MODE=JTAG BMP_PORT=/dev/cu.usbmodem<serial>

if this all makes no sense and you need another way to upload take a look at this section http://paparazzi.enac.fr/wiki/Lisa/M_v2.0#Using_JTAG

Benefits

There are good reasons to use the Black Magic Probe Mini instead of FLOSS-JTAG:

  • Lower cost
  • No need for OpenOCD as BMPM has a built in GDB server
  • Orders of magnitude faster as all the high speed protocol logic happens on the built-in STM32
  • Supports Serial Wire Debug (SWD)
  • Supports tracing using the SWD trace pin
  • No need for loading and unloading of FTDI drivers on Mac OS X

Upgrade BMP firmware

To upgrade the brain of your Black Magic Probe, a.k.a. its firmware, use these commands on your command line:

$ git clone git://blackmagicdebug.git.sourceforge.net/gitroot/blackmagicdebug/blackmagicdebug
$ cd blackmagicdebug/src
$ make CROSS_COMPILE=~/sat/bin/arm-none-eabi-
 ../scripts/stm32_mem.py blackmagic.bin

FT2232 Dev Board

Use ftdi prog to change the Description String into: FLOSS-JTAG

AlternativeFlossJtag.png