This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Serial buffer overrun


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]