[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