Opened on Oct 2, 2016 at 8:54:58 AM
Closed on Oct 2, 2016 at 9:44:07 AM
#2794 closed defect (fixed)
ARM TMS570 BSP: Serial port hangs when baudrate change initiates before all characters are sent
Reported by: | Pavel Pisa | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 4.11 |
Component: | bsps | Version: | 4.11 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
The function tms570_sci_set_attributes() clears Tx enable interrupts and serial port core is never informed about final character transmission.
Change History (2)
comment:1 Changed on Oct 2, 2016 at 9:43:37 AM by Pavel Pisa
comment:2 Changed on Oct 2, 2016 at 9:44:07 AM by Pavel Pisa
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Fixed in 94e3c8384ff2573877d61f387eb090e2e5e12aff
bsp/tms570: ensure that change of SCI baudrate is not applied in the middle of character Tx.
The rtems_monitor_task() setups/updates termios attributes
of the opened TTY and if there is ongoing some other output
it leads to the stuck.
It would be better to use some termios API function which
would call drainOutput() in rtems/cpukit/libcsupport/src/termios.c.
But functionality is not accessible outside of core termios
implementation.
The loop waiting for last character to be sent has to be there anyway
because hardware does not provide Tx machine/shift register empty
interrupt.
Closes #2794