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.

Linux/PHYTC-3P-PHYCORE-AM335X: Why does one of the UARTs of AM335x data is getting delayed when other UART port is transmitting/receiving more data continuously

Part Number: PHYTC-3P-PHYCORE-AM335X

Tool/software: Linux

We are using UART2 and UART3 of AM335x as RS485 ports.

The application(1) which is using UART3  port with real-time high priority and UART port is configured with 1200 bps as it is receiving IRIG-B data from GPS to synchronize the system time with GPS time.

Where as other application(2) which is using UART2 with default priority and UART port is configured with 115200 bps and it is polling the devices data those are connected with RS485 ports.

The problem is that  application(1) data  is delayed when the application(2) is active with more data.

Observations are as follows,

This behavior is not only limited to only UART2 but also other UARTs of our board, means data from UART3 is  delayed when other UART ports are busy with more data.

And this behavior is purely depends on data flow of UARTs not related to processes priorities as I have already tested with test application which is consuming more CPU time than the application(2), but no impact on application(1) data flow.

The Questions are

How does the UART2 or any other UARTs  data flow effects the data flow of UART3? Or, to make the question more open, what is the dependency of one UART port data flow on other ports data flow?

Are  there any shared memory/buffers/structures of UART driver between different UART ports which causes delays in data transmitting/receiving?

Data received by application(1) is meeting the timing requirements when other UART ports are not active but observed random delays in receiving data when other ports are active with more data.

Hope my question and explanation is clear.



  • Hi Prabhak,

    Do you use AM335x TI PSDK Linux (link below)? If yes, which version?

  • Hi Pavel,

    Thank you for your prompt response.

    We are not using software from the list referred by you, we are using Linux-3.12.61-rt81 kernel which is taken from OSADL as we need real-time capability.

    In addition to previous question, Could you please let us know whether OMAP UART ports can be configured to 100 bps baud rate, if yes, what is the configuration to be done.

    Thanks & Regards,


  • Hi Prabhak,

    Unfortunately we only support the Processor SDK releases (released within 2 years), any other 3P software are not supported.
    By the way, the Processor SDK Linux has a -RT version kernel. Would you check if it meets your requirement?

    Regarding your second question of 100bps baud rate, please check the TRM section 19.1.1: the minimum baud rate is 300bps.