This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Motorola coldfire520X and gcc/gdb


On Fri, 6 Jun 1997, Gunter Magin wrote:

> > On Fri, 6 Jun 1997, Chris Johns wrote:
> > 
> > I got it from a friend of mine, but you can also find it on 
> > ftp://ftp.cygnus.com
> > I'm not sure about the directory, but I think /pub/gdb
> > file is gdb-bdm-patches.tar.gz or similar.
> > 
> > the patch is relative to gdb-4.13 but I patched a gdb-4.16 with it
> > (had to tweak the gdb/Makefile)
> 
> I did the 4.13 patches some time back, when I still was at the
> University.
> The patches have somehow wandered to Cygnus, but haven't been updated
> since
> then. 
> 
> Rob: If you read this, could you please add a pointer in
> 	ftp://ftp.cygnus.com/pub/embedded 
> to the URL below? 4.13 is definately obsolete.
> 
> Last summer I did the move to 4.16 and added some more features.
thanks, I will try it to look for impovements
- although my own work is already in a working state

> 
> see:
> 	ftp://ftp.lpr.e-technik.tu-muenchen.de/pub/bdm/gdb-4.16-bdm-patches.tgz
> 
> A word to porting the driver and the gdb patches to ColdFire:
> 
> Unfortunately I have neither a ColdFire-System nor a data book
> available,
> but I have heard there are more features in the ColdFire BDM interface,
> than in CPU32 (trigger capability on access to specific addresses). 
> 
yes, last weekend I changed your code to support coldfire, all I managed
to do in the available time was to read registers and memory, start, 
stop and reset the cpu. Once I'm finished with my work I will release it.

The target description for gdb needs some work as well, the coldfire 
has different registers and bdm commands
removed bdm commands: CALL, RTS, RSREG, WSREG
added bdm commands: RCREG, WCREG, RDMREG, WDMREG

I still have to do all the work regarding breakpoints, which are much 
improved - you can have 2 levels of data and/or address breakpoints
and program counter breakpoints. You can mask any bit in the breakpoint
data/address register, this gives a lot of combinations. I still don't
know whether gdb should know about that complexity - probably not.

> The driver for CPU32 and CPU32+ boils down to send the BDM commands over
> the BDM send/receive line. _If_ this is still a 10/8 pin connector with
> the
> same timing, you can use the many available PD parallel port BDM
> interfaces, and so probably the driver with only minor changes. 

Well, as a matter of fact the interface is now 26 pin, to support
the tracing capabilities of the coldfire (real time tracing support, 
allows trigger and profiling - 2 new instructions PULSE, WD-DATA).
I already changed the kernel mode driver for linux and wrote a small
monitor program to let you print/modify register contents & memory.
It still needs some settling down.

It is my impression from reading your code, that the handling of the
bdm serial interface has simplified from a programmers point of view.
the signals are now synchronous to CPU_CLK, which is handled by the
parallel port adapter.
I use the one from P&E Microcomputer Systems that came with the
Motorola 5206 eval-board (it's good value $99 - SBC, PS/2 SIMM, Ethernet,
BDM-adapter) 

The sad thing is that I couldn't get documentation from P&E...
so I had to reverse-engineer the whole thing and guess about
the bits and pieces inside that GAL16V8. I anybody is interrested, 
I could make that information available. The total cost of the
adapter is probably $10 including labor (its 5 rectifiers, 3 capacitors,
5 resistors, 1 R-Pack, 1 GAL16V8, 1 DB25 male, 1 BERG26)

> But this
> needs very careful checking re. timing, etc.  Especially the single
> stepping is very critical. However, it seems workable.
> 
> Regards
> gm
> -- 
> Ingenieurbuero Gunter Magin
> magin[AT]skil.camelot.de
> 
thanks, 
rolf

+-----------+----------------------------------------------------------+
|  ||||||   |  Rolf Fiedler                                            |
|  6 6  \   |  Electronic Design Engineer                              |
|  /_  ) |  |  Ferrari electronic GmbH                                 |
|   >   /   |  phone: +49 3328 4559 0  E-Mail: Rolf.Fiedler@Ferrari.DE |
|   |  |    |  fax  : +49 3328 4559 60                                 |
+-----------+----------------------------------------------------------+