[ECOS] how to debug eCos apps using gdb over TCP?

Jonathan Larmour jifl@eCosCentric.com
Fri Jun 13 17:13:00 GMT 2003


Kevin Hilman wrote:
> Jonathan Larmour <jifl@eCosCentric.com> writes:
> 
> 
>>Kevin Hilman wrote:
>>
>>>>From what I can tell in eCos you can only use gdb over a non-blocking
>>>getchar/putchar type interface and I don't see any of the HALs using
>>>sockets for their implementations of HAL_STUB_PLATFORM_[PUT|GET]_CHAR.
>>
>>Nope, what happens in all modern ports is that virtual vectors are
>>used. That means the GDB stubs interface with a comms channel rather
>>than directly to the HAL. For serial that comms channel will point to
>>HAL functions, for ethernet, it points to special net functions.
> 
> 
> Are there restrictions on what the HAL getchar/putchar interface can
> be?  Are there any reasons the HAL functions couldn't be socket calls?
> Or, in my case I have a platform-specific communication package that
> I'd like to use for the gdb communication channel.

Obviously you have to prevent recursion - you can't call the HAL output 
functions directly or indirectly from within those calls.

Also you have to be careful where else it is called if it means the system 
may be in an inconsistent state for your socket calls. e.g. if you called 
from an interrupt handler.

>>Yep, you port RedBoot ;-). Seriously, the TCP debug support is only in
>>RedBoot.
> 
> I guess the question is: is there any reason TCP debug support (or any
> other homebrew communication) couldn't be added to the HAL-specific
> comm interface in eCos (without RedBoot).

It's all software, so of course not ;-). The net stack currently lives in 
RedBoot of course.

> My platform is a PCI add-in card without a serial port or a network
> port.  But, we have a communication library that do IP over PCI to the
> host PCs network.  And it is this communication library that I'd like
> to use as gdb's debug channel.

Yes it's possible. You "just" have to do what RedBoot does to get the 
channel going. Note that the stack is polled not interrupt driven though.

Jifl
-- 
eCosCentric    http://www.eCosCentric.com/    The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine


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



More information about the Ecos-discuss mailing list