Adrian Rockall

KSDK 1.1 uart with dma

Discussion created by Adrian Rockall on Mar 26, 2015
Latest reply on Jun 8, 2015 by overdamped

I have created a project for the K64F12 using PEx with KSDK 1.1.0 and MQX. I added the fsl_uart and set the eDMA Enable option (plus the other settings) for UART4.

 

I think I have found a bug in the fsl_uart_edma_driver.c -> UART_DRV_EdmaInit function. The switch block only checks for UART0 and UART1 to setup the uartRxEdmaRequest and uartTxEdmaRequest settings. That means dma transfers don't work for the other uarts.

Our design uses UART4 and initially transfers under dma were not working. I have added:

 

case 4:

     uartRxEdmaRequest = kDmaRequestMux0UART4;

     uartTxEdmaRequest = kDmaRequestMux0UART4;

     break;

 

and now it works.

 

I presume the switch block should be setup for all the UARTS.

 

Best regards,

Adrian.

Outcomes