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.

Configuration for GPMC Communication between AM335X and FPGA using EDMA

we want to use EDMA to finish the  GPMC Communication between AM335X and FPGA.  GPMC is in synchronous 16bit addr/data multiplexed Burst Read mode,FPGA use cs1 as norflash. The trouble is that when we check the data readed from FPGA, we find some data missing,such as the correct data are 0 to 1000 bytes , the data we get is 0-63 bytes  then missing 36 bytes ,and then 64 bytes with missing 32 bytes. Each get 64bytes data we miss the following 32bytes . The following Figure will show you clearly. we use ucos and starterware SDK.

my GPMC config is :

       GPMC_CONFIG1_1               0x61801200;
       GPMC_CONFIG2_1               0x00001F00;
       GPMC_CONFIG3_1               0x00000200;
       GPMC_CONFIG4_1               0x00001F0E;
       GPMC_CONFIG5_1               0x010F001F;
       GPMC_CONFIG6_1               0x00000000;

my EDMA config is :

    paramSet.aCnt       = 752u;
    paramSet.bCnt       = 1u;
    paramSet.bCntReload = 0u;
    paramSet.cCnt       = 1u;
    paramSet.destAddr   = (unsigned int)(data);
    paramSet.destBIdx   = 752u;
    paramSet.destCIdx   = 1u;
    paramSet.linkAddr   = 0xFFFFu;
    paramSet.srcAddr    = csBaseAddr;
    paramSet.srcBIdx    = 0;
    paramSet.srcCIdx    = 0;
    paramSet.opt = 0x00000000u;

    paramSet.opt &= 0xFFFFFFFCu;

    paramSet.opt |= (( GPMC_EDMA_TCC_NUM << EDMA3CC_OPT_TCC_SHIFT)
                       & EDMA3CC_OPT_TCC);

    paramSet.opt |= (1 << EDMA3CC_OPT_ITCINTEN_SHIFT);
  
    paramSet.opt |= (1 << EDMA3CC_OPT_TCINTEN_SHIFT);

    paramSet.opt |= (1u << EDMA3CC_OPT_SYNCDIM_SHIFT);

Does anyone have any ideas about this question?Thans.