proxmark3/doc/jtag_notes.md
Philippe Teuwen 9d8402933d JTAG notes
2019-07-28 19:41:45 +02:00

2.4 KiB

Some notes on how to reflash a bricked Proxmark3 over JTAG.

Linux and OpenOCD

Using RDV4 scripts

The RDV4 repository contains helper scripts for JTAG flashing.

  • Get OpenOCD, e.g.: apt-get install openocd
  • Create tools/jtag_openocd/openocd_configuration by copying tools/jtag_openocd/openocd_configuration.sample
  • Tune it to fit your JTAG tool: adapt CONFIG_IF to refer to the interface-*.cfg file corresponding to your JTAG tool. By default openocd_configuration.sample is set up to work with the J-Link.
  • Wire the Proxmark3 to the JTAG tool. How to do it depends on the tool. See below for examples. Warning: don't plug the Proxmark3 on USB if the tool delivers already the voltage to the Proxmark3, which is most probably the case.
  • Then just run
cd tools/jtag_openocd/
./openocd_flash_recovery.sh

In some rare situations, flashing the full image over JTAG may fail but the bootloader could be fixed. If it's the case, you can flash the image without JTAG by booting on your fresh bootloader (possibly forced by pressing the Proxmark3 button).

For advanced usages there are also openocd_flash_dump.sh for dumping the content of the Proxmark3 and openocd_interactive.sh for an OpenOCD console.

RDV4 pinout

The RDV4 JTAG header is quite smaller compared to other Proxmark3 platforms.
If you're using a J-Link, there is a convenient adapter made by Proxgrind.
You can also make yours with some 1.27mm headers (look for 1.27mm header on Aliexpress) or Pogo pins.

J-Link pinout:

  ---------  ---------
 |1917151311 9 7 5 3 1|
 |201816141210 8 6 4 2|
  --------------------
PM3 JLink
TMS 7
TDI 5
TDO 13
TCK 9
GND 6
3.3 2

Raspberry Pi pinout

RPi pinout:

PM3 RPi
TMS 22
TDI 19
TDO 21
TCK 23
GND 6
3.3 1

Third party notes on using a BusPirate

Third party notes on using a RaspBerry Pi

Windows