Part Number: TDA4VM
Hi,
We are developing our own uart driver base on CSL driver.
The gps module data is massive over 10kbps at 468000.so we think the better way to do that is using dma.The driver layer only support fixed length uart dma read method, and if we want to continuous receive our data, we need to create a thread to polling data.that may losing some bytes; so we want to trigger the next dma receive when UART_dmaRxIsrHandler is called.so it can continuous trigger dma receive.
it's work well when the data is send in the low rate, the dma receive complete ISR will call dma receive again, but when we raise up the speed, uart will enter overflow state, which disables further reception, and no more UART_dmaRxIsrHandler will be call. we try to clear the overrun error according TRM 12.1.6.4.8.1.3.6, but after we clear the error, it still enter overflow state and the dma ring queue will fail if any further byte receive.
we want to know it's ok to call the next dma receive in UART_dmaRxIsrHandler, which will be call when dma reception completed.