Hi Team,
My customer has issues with EDMA with UART communication where receiving unexpected data leaves UART FIFO and DMA events.
There was an issue where subsequent messages would become invalid.
As a countermeasure, I am thinking of resetting the UART FIFO state and EDMA events before sending and receiving messages.
Are the following steps correct?
They want to reach the same state as when they finished the necessary initial settings after a hard reset.
①UART LSR read (to check for UART errors)
②UART RBR read once (to clear UART Parity, Framing, Overrun)
③UART PWREMU_MGMT register URRST set to 0
④UART PWREMU_MGMT register UTRST set to 0
⑤UART FCR set to 0x0000000F
⑥UART PWREMU_MGMT register URRST set to 1
⑦UART PWREMU_MGMT register UTRST set to 1
⑧EDMA EECR bit 4 set to 1
⑨EDMA EMCR bit 4 set to 1
⑩EDMA SECR bit 4 set to 1
⑪EDMA ECR bit 4 set to 1
Some additional information for your reference:
- For UART communication, they are using UART0, and UART RXFIFTL is set to 0.
- Two types of data are sent and received for communication: 3 bytes and 268 bytes.
Best regards,
Mari Tsunoda
