Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#3310 new enhancement

zynq_uart_write_polled could produce a blocking scenario

Reported by: fdpousa Owned by:
Priority: normal Milestone:
Component: bsps Version: 5
Severity: normal Keywords: zynq arm bsp
Cc: Blocked By:
Blocking:

Description

The actual code for the zynq_uart_write_polled has a while loop inside. What could happen if a hw fault occurs? If TX buffer is always full, lower priority tasks may remain in a blocked state. The objective is to use the UART communication directly by RS232/RS422 protocol without any console.

Why is this function codified different than zynq_uart_read_polled()? With the zynq_uart_read_polled codification the blocking risks disappear if hw fails and a byte is never put in RX Buffer. I suggest to apply the same if struct to zynq_uart_write_polled.

Change History (0)

Note: See TracTickets for help on using tickets.