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

#4578 closed defect (fixed)

arm/atsamv: UART loses receive characters when the system has a high interrupt load (cloned)

Reported by: Christian Mauderer Owned by: Christian Mauderer
Priority: normal Milestone:
Component: bsps Version: 6
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

Cloned from #4577:


The UART/USART of the ATSAM doesn't have any FIFO buffer. Therefore every received character has to be processed before the next one arrives. In situations with a high interrupt load or during long interrupt locks, this might not work reliable and the UART/USART can loose characters.

Change History (2)

comment:1 Changed on 01/18/22 at 08:10:47 by Christian Mauderer <christian.mauderer@…>

In [changeset:"fbd18c09af38eadb16c07e11d4aa84b74afc2142/rtems" fbd18c0/rtems]:

bsp/atsam: Merge USART and UART driver

If no extended features of the USART are used and if the comparison
feature of the UART is not used, the two modules are compatible. The
drivers were nearly identical except for some names of the defines.

This patch merges the two drivers into one.

Update #4578

comment:2 Changed on 01/18/22 at 08:10:52 by Christian Mauderer <christian.mauderer@…>

Resolution: fixed
Status: assignedclosed

In [changeset:"aa95122c17707d6eaadcbdae71aad33446fcf66c/rtems" aa95122/rtems]:

bsp/atsam: Optionally use DMA for UART Rx

If the system is busy with other interrupts and the UART is set to a
fast baud rate, it's possible to loose UART interrupts and therefore
characters. This allows to optionally enable a DMA for the UARTs so that
a number of lost interrupts can be tolerated.

The number of DMAs on this chip is limited and not not all applications
need that feature. Therefore the DMA is disabled by default.

Close #4578

Note: See TracTickets for help on using tickets.