Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a useable JTAG/BDM interface available on the Raspberry Pi?

What hardware Debugger is needed for Debugging ?

Can Open OCD be used?

share|improve this question

The Revision 2.0 of the model B Raspberry Pi has exposed the JTAG pins.

See http://www.raspberrypi.org/archives/1929

share|improve this answer
So with the Pins available, which Software / Hardware is needed to use the Pins for Debugging? – Lars Pötter Nov 23 '12 at 0:43

You can find a lot of informations here. Unfortunately, using JTAG on RPi is not straight forward. To be honest, just because it's so problematic, I didn't bother to get it working. Here's what I know, however:

Not all JTAG signals are easily available. All but all are on GPIO connector (not on P2 JTAG connector - it's a VideoCore JTAG, not ARM and AFAIK it's not usable for people outside of Broadcom). The additional pin is on S5 (CSI header) connector, you will probably have to solder it out. Here are pins that are needed (more on this on dwelch67 site, you can also find information about GPIO alternate pins functions on raspberrypi wiki):

  ARM_VREF    P1-1
  ARM_TRST    P1-15
  ARM_TDO     P1-18
  ARM_TCK     P1-22
  ARM_TDI     P1-7
  ARM_TMS     S5-11
  ARM_GND     P1-25

EDIT: As @Damian pointed out, on revision 2.0 of PCB, missing ARM_TMS signal was connected to pin 13 on P1 so soldering should not be necessary any more.

Now, it's not the only problem. By default all those pins are configured to be GPIO pins, not JTAG ones. They have to be reconfigured in software and AFAIK there is no support for this in Foundation bootloader. Dwelch67 wrote his own bootloader (next stage bootloader) that does just that. You can download it from the link provided at the top of this answer.

As for the hardware, any ARM11 JTAG hardware should be OK. As mentioned earlier, I havn't personally tested any so I can't do any recommendations. And yes, OpenOCD can be used. There is even small project (also done by dwelch67) to build very simple and cheap JTAG hardware based on cheap board like Launchpad. See his github repo

share|improve this answer
Hi "Christofer" Thanks for posting some information. It would be great if you could expand you answer. Possibly what cables are needed- how to connect them, a picture or two goes a thousand words. Otherwise I think it is worth being a comment; Users can go and explore it on their own time. Welcome to Raspberry Pi SE :-) Witamy! – ppumkin Aug 9 '12 at 9:48
I've added some more informations. That's actually all I can tell on this subject and I thought that some small amount of information is better than nothing. And since it's the only answer, I believe there's not much other information about it out there. – Krzysztof Adamski Aug 13 '12 at 7:05

You can also try this converter SN74LVC8T245 from TI http://www.ti.com/product/sn74lvc8t245

share|improve this answer
Welcome to Pi.SE... Please expand on your recommendation. – Andrew Dec 4 '12 at 13:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.