'+' on reset
Gary Thomas
gary@mlbassoc.com
Mon Mar 31 11:39:00 GMT 2003
On Mon, 2003-03-31 at 02:06, Nick Garnett wrote:
> Jonathan Larmour <jifl@eCosCentric.com> writes:
>
> > When using serial, the viper always corrupts the first char when the
> > serial is reset. Unfortunately this mostly means the '+' from the stub
> > in RedBoot. This is sort of benign and sort of not because if you've
> > got a GDB there waiting (say after using maintenance packet r) it will
> > prod RedBoot again for an ack, which it will get, but then RedBoot is
> > stuck listening to the serial in GDB mode.
> >
> > I think it may be sensible to output *two* plusses in generic-stub.c
> > since this isn't the first time this has happened - it certainly isn't
> > surprising for asynchronous ports.
> >
> > Anyone think this is a bad idea? FAOD I'm not proposing this for 2.0
> > since it isn't _that_ important.
> >
>
> I seem to recall that some platforms used to output two plusses anyway
> at one time because initialize_stub() got called twice -- it may have
> been stub ROMs that did this rather than RedBoot. It never did any
> harm then, so it should be OK now.
But I wouldn't get my hopes up either. I think that the reason that
the '+' gets trashed on reset is that the clocks aren't stable when
it is output (it takes a little while for them to sync up). Sending
2 (or possibly even 20) might not be any better.
It might be better to put a call to HAL_DELAY_US() for say 250ms
just before sending the initial '+' and see if that helps.
--
------------------------------------------------------------
Gary Thomas |
MLB Associates | Consulting for the
+1 (970) 229-1963 | Embedded world
http://www.mlbassoc.com/ |
email: <gary@mlbassoc.com> |
gpg: http://www.chez-thomas.org/gary/gpg_key.asc
------------------------------------------------------------
More information about the Ecos-devel
mailing list