Thu Dec 7 12:57:00 GMT 2000
Just to update...
I've gotten a function now that dumps either a char or a string out
through the Jeeni debugger... I can post them .. they are not exactly
integrated into eCos... even though you can tell by them where I started
from (newlib has some of this already)
its up on http://www.skynet.ie/~airlied/ecos/jtag_output.c
integrating into eCos is left as an exercise to the reader as I'm up the
walls the moment...
On Thu, 7 Dec 2000, Fabrice Gautier wrote:
> > -----Original Message-----
> > From: Grant Edwards [ mailto:email@example.com ]
> > Subject: Re: [ECOS] printf
> > >
> > > The best way would be for eCos to use semihosting when using a
> > > JTAG device... Does the soon(?)-coming ARM Integrator port plan
> > > to suport that?
> > I don't see how you could do semihosting when using JTAG.
> Multi-ICE, AXD (the new ARM Debugger) and the ARM C library do it very well.
> This is done using a software interrupt. Somehow the debugger or the
> multi-ICE catch the call in the swi handler (a breakpoint) then I guess that
> the Multi-ICE should detect the parameter passed to the software interrupt,
> execute the function on the host set the result in the target and then
> restart the target.
> > AFAIK, user code on the ARM has no access at all to the ICE
> > macrocell, so there's no way for application code to send or
> > get data from something at the other end of the JTAG port.
> In fact it's more like the host loading the information from the target than
> the target sending the information throught the JTAG. The target just has to
> write his parameters in a well defined set of register.
> > The
> > Angel Debugging Protocol used by some JTAG interfaces has
> > support for semihosting, but I think it's only used if you're
> > using the Angel monitor (or other user SW) to process ADP
> > packets on the ARM.
> I guess the Multi-ICE and other ARM product also use ADP. (even ARMulator
> support semihosting )
> In the ARM debugger you have some options to enable or disable semihosting,
> so probably your gdb would have to handle the call. I think the ARM debugger
> has some DLL to do that. The easiest way to handle that with eCos would
> probably to have some kind of translator program that catch and handle the
> semihosted calls
David Airlie, Software Engineer, Parthus Technologies plc.,
Mary Rosse Centre, National Tech Park, Limerick, Ireland.
t: +353-61-508116 / f: +353-61-508101 / David.Airlie@parthus.com
More information about the Ecos-discuss