[ECOS] Re: Uart missing chars when in Release

Laurie Gellatly laurie.gellatly@netic.com
Sun Jan 27 06:46:00 GMT 2008


Hi Grant,
>> I have an LPC2112 UART0 running at 117K (2112 does not have
>> the fractional divider, 2112/01 does).
>>
>> I'm sending it 100 characters (1 to 100) at that baud and
>> printing out the characters after they have all arrived.

>Arrived where?  Sending from where?
Coming from a LPC2103 not running eCos.

>Is eCos running on both the sending and receiving device? Are
>the "missing" caracters actually on the wire or not? (That
>would tell you whether it's the sender's fault or the
>receiver's fault).
The missing chars are on the wire - I've snooped them.

>> I get consistently 100 chars arriving when the app is run in
>> RAM under debug in eclipse. When running the Release code from
>> flash, about 30% of the time I get less than 100. By less I
>> mean up to 14 characters less. The missing characters are
>> typically together in 1 or 2 bursts.
>>
>> I can't spot what is making the difference.

>I'm not familiar with your platform, but on many platforms
>running from flash can be much, much slower than running from
>RAM -- in some cases up to maybe 8-10X slower, but 4X slower is
>more typical.  Flash often has much slower access times that
>RAM and is often narrower than RAM.  2X bus cycles with 4X
>access time can add up pretty fast.

The same platform also runs an Ethernet interface without problems.
10Mbit is quite a bit faster than 115K baud so I feel I can
probably discount that.

>Are you seeing rx overrun errors?  If the rx end is running too
>slowly for the data rate, you would see rx overrun errors.

>From what I've read, the OE gets cleared on each read of RBR.
How can I check on this? Is there a counter of OE and other errors
kept in eCos that I can access?

Thanks			...Laurie:{)

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