[ECOS] Thread-aware debugging w/ Redboot on ARM?

Paul D. DeRocco pderocco@ix.netcom.com
Tue Dec 7 18:46:00 GMT 2004

> From: Alex Schuilenburg
> It is not so much as the JTAG debugger not having support but the
> debugger being able to extract the thread info out of the target.  GDB
> also knows nothing about eCos threads, it just knows how to ask for
> information about threads from the target. The debugger itself has no
> idea where to find or extract eCos thread info from the target.  So the
> target has to interpret the thread info requests from the debugger,
> extract the thread info from the running system by doing some local
> on-chip processing, and then return this to GDB.  When debugging using
> JTAG/ICE/BDM or simulators, the target is halted. Nothing runs. So this
> info cannot be extracted unless the debugger is RTOS aware and knows
> where to look for this info.  However, if you debug using RedBoot, it
> knows how to extract this info from eCos. This is why you need a running
> target.

I'm not sure what you mean by "running target". When I halt an eCos system
with Ctrl+C in GDB, in what sense is the target still "running"? Obviously,
there's some Redboot code that waits at the serial or Ethernet port for
commands, but isn't the eCos kernel frozen out at that point, so that no
instructions are being executed outside of Redboot?

As I understand it, GDB sends out fairly high-level remote debugging
commands, prefixed with dollar signs and checksummed, and there are specific
commands for dealing with threads, so that GDB doesn't have to know the
thread structure layout. Redboot understands these commands, and knows how
to manipulate eCos threads. A JTAG debugger could have similar support built
in, but the one I've got doesn't.


Ciao,               Paul D. DeRocco
Paul                mailto:pderocco@ix.netcom.com

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list