[ECOS] GDB "invalid remote reply"...

Gary Thomas gthomas@ecoscentric.com
Tue Nov 5 10:22:00 GMT 2002


On Tue, 2002-11-05 at 11:06, Schumacher, Gordon wrote:
> # -----Original Message-----
> # From: Jonathan Larmour [mailto:jifl@eCosCentric.com]
> # Sent: Monday, November 04, 2002 7:55 PM
> # To: Schumacher, Gordon
> # Cc: 'ecos-discuss@sources.redhat.com'
> # Subject: Re: [ECOS] GDB "invalid remote reply"...
> # 
> # Looks like your UART is spitting out double characters.
> # If you use the GDB console you can try using "set debug remote 1"
> # and then definitely seeing what gets sent and received.
> 
> I've had "debug remote" turned on, and I've tried viewing with just a
> terminal program.  I was definitely seeing the doubled "00ttrraa" on the
> port.  The question is, *why*?  The doubled characters don't follow the
> hardware - that is, I've got the "debug the I/O subsystem" switch turned on,
> so that I see a dump of the ports being initialized to the port that's not
> connected to GDB... and those characters aren't doubled, no matter which
> port they're on.
> 
> # Definitely looks like some serial errors somewhere.
> 
> Well, there's some *potential* reason to believe that the hardware may be
> introducing serial errors... but, it's a distant guess.  (Our old pre-eCos
> code was pretty broken, so with no other data it's more likely that it was
> that code.)

This should actually look something like this:
  $T02thread:00000001;40:0004e0c0;01:000a5550;#7f
Note that it sort of looks like every other character is being
duplicated.

Aren't you using the SA11x0 I/O routines?  They should "just work"

> 
> # Instead look at the address. When connecting to a RedBoot
> # running in ROM it should be a ROM address.
> 
> Well, I'm not running RedBoot, because of the configuration of our hardware.
> We have 1MB of ROM, but only 128KB of RAM.  So, I'm trying to run as much
> out of ROM as possible.
> The address matches in the MAP file...
> 
> Okay, here's a slightly different, but related, question.  Apparently,
> trying to open and write to "/dev/ttydiag" is what was causing it to jump
> into the weeds.  If I don't do that, though... I can't connect with GDB at
> all - the only data I get from the GDB port is a single + character at
> startup (which in the code is documented as "ackt outstanding packets").  I
> never see more GDB packets.
> Because my initial cyg_io_write() fails, my code goes into an infinite debug
> loop (blink LEDs), with calls to cyg_thread_yield() inside of it.  I'd have
> thought that would be sufficient to let GDB operate - but apparently I'm
> incorrect.
> 
> I'm sure I'm missing something fundamental here, and if I thought that there
> was a snowball's chance in Hades of getting approval for a consultant in
> here to get the darned thing the rest of the way running, I'd go for it...
> <sigh>  Remember when the economy was good?  :)

Maybe you need to tell us more about what you're building and
how you've configured it.  Are you just trying to get GDB stubs
working? (I'd suggest this as a first step if not).

-- 
------------------------------------------------------------
Gary Thomas                  |
eCosCentric, Ltd.            |  
+1 (970) 229-1963            |  eCos & RedBoot experts
gthomas@ecoscentric.com      |
http://www.ecoscentric.com/  |
------------------------------------------------------------


-- 
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