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.

DRA78: Processor SDK RTOS Automotive - UART driver cannot receive 0xFF bytes

Part Number: DRA78

There seems to be an error in the UART driver for DRA7xx devices provided with Processor SDK RTOS Automotive 4_03_00_05 and the related pdk_dra7xx_1_0_10. The function UARTCharGetNonBlocking returns -1 or 0xFF in error case (If the RX FIFO(or RHR) was found to have at least one byte of data, then this API reads and returns that byte. Else it returns -1). That condition is finally used by function UART_v1_readData to terminate the UART reception.

static inline int32_t UART_v1_readData(UART_Handle handle, int32_t size)
{
    int32_t             readIn;
    UART_V1_Object     *object;
    UART_HwAttrs const *hwAttrs;

    object = (UART_V1_Object*)handle->object;
    hwAttrs = (UART_HwAttrs const *)handle->hwAttrs;
    readIn = (int32_t)UARTCharGetNonBlocking(hwAttrs->baseAddr);

    /* Receive chars until empty or done. */
    while ((size != (int32_t)(0)) && (readIn != (-((int32_t)1))))
.....

This termination conditions prevents the UART from receiving any data streams containing 0xFF byte data.

Would be great if that could be fixed in one of the next PDK releases.

Best regards,

Manfred