This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Re:IXP425 UART Problem
- From: Nick Garnett <nickg at ecoscentric dot com>
- To: "Jamaluddin Khan" <jamaluddin dot khan at aftek dot com>
- Cc: <ecos-discuss at sourceware dot org>, "Sandeep Kajale" <sandeep dot kajale at aftek dot com>
- Date: 29 Nov 2006 11:21:25 +0000
- Subject: Re: [ECOS] Re:IXP425 UART Problem
- References: <DBBC5277683005489A2CA0AD2BCAED970D8D94@dcsrv.aftek.com>
"Jamaluddin Khan" <jamaluddin.khan@aftek.com> writes:
> > Hi,
> >
> > We are running redboot on IXP 425 platform. The IXP425 has a known bug
> > that when the UART break indicator (fourth bit of LSR) is de-asserted,
> > it is possible for the UART to detect a start bit and receive an
> > incorrect 0xFF byte. And this bug is not fixed.
> >
> > So when this incorrect 0xFF byte received the bootloader goes in
> > blocking read mon_read_char() and the bootloader gets stuck up there.
> >
> > Does anybody have any workaround for this?
>
> >You could try fixing it in the driver: after detecting a break throw
> >away any 0xFF bytes received.
>
> >It may also be worthwhile working out why you are getting breaks in
> >the first place.
>
>
> >--
> >Nick Garnett
>
>
> Hi,
> The bug is when the UART break indicator (fourth bit of LSR) is
> de-asserted (made zero),it is possible for the UART to detect a start
> bit and receive an incorrect 0xFF byte.
> There is no problem when the break indicator is one. The problem
> could when the UART break indicator(fourth bit of LSR)is zero.The Break
> indicator is reset when the processor reads the Line Status
> Register(LSR).
Presumably for this bit to transition from one to zero it must have
transitioned from zero to one at some point. That transition was
presumably as a result of a break condition which you can detect, by
inspecting this bit. At this point you can presumably look for 0xFF
bytes and discard them.
--
Nick Garnett eCos Kernel Architect
http://www.ecoscentric.com The eCos and RedBoot experts
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss