This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM33C321A: Using DMA1 controller with UART on MSPM33

Part Number: MSPM33C321A

I'm working on a project needing multiple UARTs using DMA for both Tx and Rx.
DMA0 controller works without error, replacing DMA0 with DMA1 of any given uart does not work for either transmit or receive.  As DMA0 controller only has 4 channels available I need to also use DMA1 for additional uarts.  The example projects using DMA1 controller all work but are all software triggered.  Using the "uart_tx_console_multibyte_repeated_fifo_dma" example and switching that over to use DMA1 controller also does not work.

Is there any limitation in using the DMA1 controller for hardware driven IO ?

I'm using code composer 20.5.0 and the MSPM33C321A eval board at present.

  • May have figured this out, can someone confirm that that this (for UC12) is needed ?

    DL_GSC_setRegularTriggerDMAInstance(GSC, DL_GSC_DMA_TRIG_UC12_TX, DL_GSC_DMA_INSTANCE_1);
    DL_GSC_setRegularTriggerDMAInstance(GSC, DL_GSC_DMA_TRIG_UC12_RX, DL_GSC_DMA_INSTANCE_1);
  • Hi James,

    I believe that you may be hitting one of the security related configurations for this device. Do you go to the default handler when using DMA1?

    See this section of the GSC chapter in the TRM:

    If you're hitting the default handler you can just change the DMA settings to set it as secure and priviledged.

  • I had already tried that as one of the examples (dma1_block_transfer) was doing that for memory to memory DMA transfer.

    The solutions seems to be as I described above, the DMA triggers from the UART apparently need to be routed to the other DMA controller using.

    DL_GSC_setRegularTriggerDMAInstance

    There's minimal documentation for that, although the tech reference manual does mention it.

    so for now everything is working with 6 UARTS using 12 channels of DMA for rx and tx.