TMS570LC4357: Usage of chaining DMA in SCI

Part Number: TMS570LC4357

I am also using the TMS570LC4357 and i cannot use interrupts to receive the data from SCI.

 

Using this ticket as reference TMS570LC4357: TMS570LC4357: SCI DMA RX without IRQ and variable packet lengths - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums , would the chaining DMA be a solution for this issue?

In other workds, Is it possible to trigger another DMA channel when the first DMA is finished?

Best Regards.

  • Hi Thiago,

    DMA Channel Chaining (Linked Transfers): The TMS570 DMA controller supports a Next Channel feature via the DMAVBUSCTRL and channel control registers. You can configure a DMA channel so that upon completion of its frame/block transfer, it automatically triggers another DMA channel.

    Ping-Pong Buffering via Chaining: A common pattern is to chain Channel A → Channel B → Channel A (circular), so that while one buffer is being processed, the other is being filled. This avoids data loss without needing an IRQ to re-arm the DMA.

    DMA Completion via Polling: Without IRQs, you can poll the DMA status registers (e.g., DMASTAT, DMACHCTRL) to detect when a channel has completed its transfer count.

    So, chaining feature cannot replace interrupts by directly, you need to poll the registers for this purpose.

    --
    Thanks & regards,
    Jagadish.