Hi Bin Liu,
Based on our previous offline discussion, I modified the "/drivers/tty/serial/8250/8250_omap.c" to direct the UART RX data into the buffer setup to be directly accessed by the application instead of the TTY buffer.
It works as expected when the transmitter sends data equal or less than 64 bytes.
I use below as the sample test data, which is 72 characters length.
const char *pBuf = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ9876543210";
The test will iterate to send 1 character, then 2 character, then 3 character until the full length. Then, the next iteration will start with the full length, and reducing continuously until only sending 1 character.
Below is the print out for the RX data. You can see after it reaches more than 64 characters, it starts to not work correctly. Most of the time, the extra characters will just lost, but sometimes it will receive partial of it.
It becomes intermittent and unreliable to receive data with length more than 64 characters.
01 0 02 01 03 012 04 0123 05 01234 06 012345 07 0123456 08 01234567 09 012345678 10 0123456789 11 0123456789a 12 0123456789ab 13 0123456789abc 14 0123456789abcd 15 0123456789abcde 16 0123456789abcdef 17 0123456789abcdefg 18 0123456789abcdefgh 19 0123456789abcdefghi 20 0123456789abcdefghij 21 0123456789abcdefghijk 22 0123456789abcdefghijkl 23 0123456789abcdefghijklm 24 0123456789abcdefghijklmn 25 0123456789abcdefghijklmno 26 0123456789abcdefghijklmnop 27 0123456789abcdefghijklmnopq 28 0123456789abcdefghijklmnopqr 29 0123456789abcdefghijklmnopqrs 30 0123456789abcdefghijklmnopqrst 31 0123456789abcdefghijklmnopqrstu 32 0123456789abcdefghijklmnopqrstuv 33 0123456789abcdefghijklmnopqrstuvw 34 0123456789abcdefghijklmnopqrstuvwx 35 0123456789abcdefghijklmnopqrstuvwxy 36 0123456789abcdefghijklmnopqrstuvwxyz 37 0123456789abcdefghijklmnopqrstuvwxyzA 38 0123456789abcdefghijklmnopqrstuvwxyzAB 39 0123456789abcdefghijklmnopqrstuvwxyzABC 40 0123456789abcdefghijklmnopqrstuvwxyzABCD 41 0123456789abcdefghijklmnopqrstuvwxyzABCDE 42 0123456789abcdefghijklmnopqrstuvwxyzABCDEF 43 0123456789abcdefghijklmnopqrstuvwxyzABCDEFG 44 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGH 45 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHI 46 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJ 47 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK 48 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL 49 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM 50 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN 51 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO 52 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP 53 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ 54 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR 55 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS 56 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST 57 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU 58 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV 59 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW 60 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX 61 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY 62 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 63 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ9 64 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 65 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 66 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 67 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 68 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 69 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 70 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 71 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 72 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 72 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 71 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98321 70 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 69 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 68 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 67 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 66 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 65 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 64 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ98 63 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ9 62 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 61 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY 60 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX 59 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW 58 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV 57 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU 56 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST 55 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS 54 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR 53 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ 52 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP 51 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO 50 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN 49 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM 48 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL 47 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK 46 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJ 45 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHI 44 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGH 43 0123456789abcdefghijklmnopqrstuvwxyzABCDEFG 42 0123456789abcdefghijklmnopqrstuvwxyzABCDEF 41 0123456789abcdefghijklmnopqrstuvwxyzABCDE 40 0123456789abcdefghijklmnopqrstuvwxyzABCD 39 0123456789abcdefghijklmnopqrstuvwxyzABC 38 0123456789abcdefghijklmnopqrstuvwxyzAB 37 0123456789abcdefghijklmnopqrstuvwxyzA 36 0123456789abcdefghijklmnopqrstuvwxyz 35 0123456789abcdefghijklmnopqrstuvwxy 34 0123456789abcdefghijklmnopqrstuvwx 33 0123456789abcdefghijklmnopqrstuvw 32 0123456789abcdefghijklmnopqrstuv 31 0123456789abcdefghijklmnopqrstu 30 0123456789abcdefghijklmnopqrst 29 0123456789abcdefghijklmnopqrs 28 0123456789abcdefghijklmnopqr 27 0123456789abcdefghijklmnopq 26 0123456789abcdefghijklmnop 25 0123456789abcdefghijklmno 24 0123456789abcdefghijklmn 23 0123456789abcdefghijklm 22 0123456789abcdefghijkl 21 0123456789abcdefghijk 20 0123456789abcdefghij 19 0123456789abcdefghi 18 0123456789abcdefgh 17 0123456789abcdefg 16 0123456789abcdef 15 0123456789abcde 14 0123456789abcd 13 0123456789abc 12 0123456789ab 11 0123456789a 10 0123456789 09 012345678 08 01234567 07 0123456 06 012345 05 01234 04 0123 03 012 02 01 01 0
Any idea what is wrong here ? If this the same issue that the development team is fixing for the next TI SDK release ?
rgds,
kc Wong