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.

DMA vs QDMA

Hi,

I am working with the C6472 and C6678 platforms and I need to make mem to mem copies by using the EDMA3, since I would like that each core can perform copies, I am not sure if I should DMA or QDMA, because DMA has more channels available, so if is the case that all the cores are performing memory copies at the same time, it might be that there are not enough QDMA channels available. So I would like to know if in this case is better to use DMA channels instead of QDMA? Is there a difference in performance?

Thanks,

Miguel

  • Miguel,

    The only differences between DMA and QDMA are how they are triggered and how they behave after the transfer has completed. For memory-to-memory copies, the transfer will be the same. There are many details that could make this be an extended argument of fine points, but the transfers are the same for your purposes. For all the details, please see the EDMA3 User's Guide.

    If you want each core to have one QDMA channel, then you can certainly allocate them that way for either device. The same is true for the DMA channels.

    For a manually triggered transfer, a QDMA will generally require 8 writes to configure all eight PARAM entries and to also trigger the transfer. A DMA channel will require 8 writes to configure all eight PARAM entries and then a 9th write to ESR or ESRH is required trigger the transfer. There could be advantages to either case.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.