Subject: Re: Hardware debuggers for PPC74xx G4 CPUs

From: Jerry Van Baren <[email-masked]>
Date: Wed, 14 Nov 2007 20:35:52 -0500

Jon Smirl wrote:
> On 11/13/07, Benjamin Herrenschmidt <[email-masked]> wrote:
>>> That's why Dominic wants to get OpenOCD running on the PowerPC. All we
>>> need is the programming documentation for controlling the CPU via the
>>> debug hardware.
>> Note that this is basically different for every CPU around.
> 
> I'd like to get it for the MPC5200 because of the project I am working
> on, an open source audio device. It would be nice if there was a cheap
> hardware debugger available for hackers to use on it. Maybe one of the
> Freescale developers will see this and send me the right docs.
> 
> Is it radically different? Dominic has been able to support every ARM
> 7/9 chip he can get his hands on without too much trouble once the
> core support was written. I don't think he has ARM 11 working yet.
> 
>>> Obviously this documentation exist, all of the commercial vendors had
>>> to have it to develop their debuggers. Maybe it is already out there
>>> and we just don't know where to look.
>> Ben.

DISCLAIMER: Extrapolating grossly from almost no knowledge!

My understanding is that the Freescale PPC debugger interface is based 
on the JTAG interface using a proprietary command set.  Basically, if 
you do their magic BDM (JTAG extension) command, you get into an 
internal scan chain that allows you to read/write the processor 
internals (registers).

The problems are many...
* The documentation is only available under NDA, a problem for open 
source debuggers.
* The scan chain is different on every processor, and may be different 
on different revisions of the same processor.
* If you mess up with JTAG, you will probably burn up the CPU.  Very 
literally.  I've seen it done.  Twice.  (Thankfully not my screwup, and 
it wasn't a PPC so it deserved to die. ;-)  The internal scan chain is 
probably safer, but YMMV.

gvb