This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: printf
- To: "Fabrice Gautier" <Fabrice_Gautier at sdesigns dot com>
- Subject: RE: [ECOS] printf
- From: "Dave Airlie" <airlied at parthus dot com>
- Date: 7 Dec 2000 19:05:41 +0000
- Cc: "'Grant Edwards'" <grante at visi dot com>, "'Jonathan Larmour'" <jlarmour at cygnus dot co dot uk>, "Ilko Iliev" <iliev at caretec dot at>, ecos-discuss at sourceware dot cygnus dot com
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...
Dave.
On Thu, 7 Dec 2000, Fabrice Gautier wrote:
>
>
> > -----Original Message-----
> > From: Grant Edwards [mailto:grante@visi.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
>
> Regards,
>
--
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