[ECOS] Serial buffer overrun

Shannon Holland holland@loser.net
Fri Jan 17 02:59:00 GMT 2003


On Thursday, January 16, 2003, at 12:26  PM, Shannon Holland wrote:

> As an experiment, I think I'll try toggling a PIO on the ISR/DSR so I 
> can measure the switch time on a scope. My app is doing pretty much 
> nothing in terms of interrupts/tasks/etc so it should be minimal in 
> terms of the switch time. We shall see.
>

So I tried toggling one of the led's on the eb40a - turn the led on in 
the ISR and back off in the DSR (brought out a problem in the current 
eb40a tree - the led PIO's aren't enabled).

In general the delay between the ISR and DSR is around 5.5 microseconds. 
However, sometimes it seems to bump out to around 15 or so microseconds. 
I would imagine that 5.5 uS is more than fast enough - what about 15? 
I'm only running the serial line at 19,200 baud so I would still expect 
that to be fast enough. While these tests were running I didn't detect 
any dropped bytes, so that would indicate that these latencies are more 
than fine.

Just as an added measure of security, I think I might modify the ISR so 
it reads the current character. The DSR would then pick that up along 
with any other bytes that are available (very similar to the current 
implementation, just that the ISR would read the first byte).

I did try to switch the console to tty0 and it didn't appear to work (no 
output on the console) by setting CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE to 
use tty0 (and enabled serial 0 along with setting tty0 to use 
/dev/ser0). I'm sure I missed something stupid so I'll go back and look 
at that later.

Shannon


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