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.

Question of C6670 edma3 example

hello!

I tested the c6670 edma3 examples in the directory of "\Texas Instruments\edma3_lld_02_11_03_02\examples\edma3_driver\src", all the cases are correct.

      According to my project design, I tried to modify the file "dma_chain_test.c" to enable three logic channels to chain.(in the example case there are to channels chained), but it did not work when I use the cmd "EDMA3_DRV_requestChannel" for the third logic channel. and return the error code 0xFFFFFF7C.(the first two logic channel are still ok).

        why?

  my code is below, totally the same as the examples 

    tcc3 = EDMA3_DRV_TCC_ANY;
    ch3Id = EDMA3_DRV_DMA_CHANNEL_ANY;

    if (result == EDMA3_DRV_SOK)
        {
        result = EDMA3_DRV_requestChannel (hEdma, &ch3Id, &tcc3,
                                            (EDMA3_RM_EventQueue)0,
                                            &callback1, NULL);
        }

       waiting for your reply, ths!

  • The error you seem to be getting is "EDMA3_DRV_E_DMA_CHANNEL_UNAVAIL". 

    What are the channel numbers returned by the first two calls to EDMA3_DRV_requestChannel () function

    If you are using EDMA #0 (i.e. TPCC0), can you try with EDMA #1 or EDMA#2 ?

    Reason :

    If you see the EDMA3 driver's RMAN (resource manager) default configuration for C6670 at

    "..\edma3_lld_02_11_03_02\packages\ti\sdo\edma3\rm\sample\src\platforms\sample_c6670_cfg.c", you will notice only 2 channels are reseved in case of EDMA#0.
    However 4 are available for the other two EDMAs.

    Please try and let us know. If I have more information I will update.

    Hope this helps.

  • we can use EDMA#1 together with EDMA#0, then we can apply 3 channels :))