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.

TMS320F28388D: Starting DMA transfer from CLA

Part Number: TMS320F28388D

Tool/software:

Hi.

I have a question about DMA. I want to transfer data from the CLA1_DMA_RAM (0x1680) to CPUx_CM_RAM (0x39000).

When I force the transfer from CPU1 using the following command:

DMA_startChannel(DMA_CH3_BASE);
DMA_forceTrigger(DMA_CH3_BASE);


Transfer is done and everything works.

But when I try something similar from CLA :

__meallow();
HWREGH(DMA_CH3_BASE + DMA_O_CONTROL)           |= DMA_CONTROL_RUN;
HWREGH(DMA_CH3_BASE + DMA_O_CONTROL)           |= DMA_CONTROL_PERINTFRC;
__medis();


Nothing happen. Is it possible to start a transfer directly from CLA? I don't see any example with this kind of actions.

Sincerely.


Jérôme

  • Hi Jerome,

    The CLA does not have access to DMA registers (see the CLA column of the F2838x memory map), so this is not possible.

    If you want the CLA to determine the timing of the DMA transfer, you could instead use the CLA SOFTINT registers to software a trigger a CPU interrupt that will call DMA_startChannel(DMA_CH3_BASE); and DMA_forceTrigger(DMA_CH3_BASE); inside the ISR.

    Let me know if this would be a feasible solution for you.

    Best Regards,

    Delaney