Quote:
What can cause the tty input overrun(s) as a kernel_warning and how can i prevent this?
|
The tty input overrun means you reciever buffer at BeagleBoard-xM is getting filled and overflowed before the processor is processing all the data in buffer. It means you are loosing the input data stored at reciever buffer of BB-xM here due to new data being overwrriten into buffer before the old data is completely processed.
This might be due to data coming simultaneously from all 4 RS-232 ports (as you mentioned) and the BB-xM reciever buffer is bottle-necked.
An overrun error generally means that the buffer, usually in the UART peripheral, was already full when a new byte arrived in the receive register. This happens from reading the receiver buffer too infrequently. Usually, reading will be done in response to an interrupt that is generated when the UART receives a byte, or possibly when the UART's receiver buffer reaches a set level of 'fullness' (some UARTs have multi-byte buffers).
To overcome, I think we can try for interrupt at tty port and use threading so we can read the data at buffer quickly & allow new bytes to fill the buffer.. Find any way to tell all the 4 ports at outside that reciever buff is full and wait for GREEN FLAG.