This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM625: SDK 08.06.00.42: Kernel 5.10: Console UART0 dropping characters

Part Number: AM625

Our test software using the console port to interact with the processor and run various test scripts.  I noticed several test failures that showed a single character had been dropped from the PC to the SOM.  These are not long commands 3-10 bytes.  The kernel is dropping a single character at random from incoming console data.  This messes up our automated testing and is not expected.  The failure rate seems to be about 2 failed lines over a total of 64k lines.  It seems like there might be more failures if lines are sent slower, though I haven't been able to quantify this.

I created a stress test script to test for these dropped characters.  The script generates a 32byte random alphanumeric character string and sends it over the UART, it then reads the echo from the command and verifies it matches.  Test setup requires logging into linux and running cat - > /dev/null to avoid bash from getting confused by all the incoming text.

Through testing, I was able to rule out the PC and USB-UART converter by trying various hardware.  I was also able to reproduce this on the AM62 EVM.

PSEUDO CODE:

			string errors = "";

			for (int i = 0; i < Count; i++)
			{
				string line = RandomString(32);
				line = $"{i} {line}";
				deviceStream.WriteLineFlush(line);

				// Readback echo
				string echo = deviceStream.ReadLine();

				if (line.Trim() != echo.Trim())
                {
					string error = $@"Error: Echo did not match
Sent: {line}
Echo: {echo}
";
					errors += error;
					Console.WriteLine(error);
				}
			}

Test failure example output:

Echo didn't match
Sent: 1189 o8zm75Tr6TLAHe1A1g0cGifbMrcPppmp
Echo: 118 o8zm75Tr6TLAHe1A1g0cGifbMrcPppmp

Echo didn't match
Sent: 917 DMuwSyu4m6lTqjnrS6bxQWiQHYWISrwW
Echo: 917 DMuwSyu4m6lTqjnrS6bQWiQHYWISrwW