problem with termios
阎淼
yanmiaobest at gmail.com
Tue Jul 1 15:07:11 UTC 2008
Hi,
I am debugging my program using gdb downloaded from here:
http://www.slac.stanford.edu/~strauman/rtems/gdb/index.html
I connected gdb through /dev/console, baud rate is 9600. I found
that termios rawInBuf always overflow, when gdb sending data to rtems,
I print out the following message:
termios recv buffer overflow! 1 chars dropped
termios recv buffer overflow! 1 chars dropped
termios recv buffer overflow! 32 chars dropped
termios recv buffer overflow! 1 chars dropped
......
I increased rtems_termios_raw_input_size to 163840 (160 KB), still
it overflows!!
Following is part of serial driver code:
/* rx interrupt */
else if((isrStatus == IIR_RDA) || (isrStatus == IIR_TIMEOUT))
{
i = 0;
do
{
ST16552_REG_READ(uart_data[0], RBR, ch);
buf[i++] = ch;
ST16552_REG_READ(uart_data[0], LSR, pollStatus);
} while ((i < 32) && ((pollStatus & LSR_DR) != 0));
if ((dropped = rtems_termios_enqueue_raw_characters(uart_data->tty,
buf, i)) > 0)
printk("termios recv buffer overflow! %d chars dropped\n", dropped);
}
More information about the users
mailing list