请教一个mmwave里面的dma传输的问题



config.paramSetConfig.aCount = aCount;

   config.paramSetConfig.bCount = bCount;

   config.paramSetConfig.cCount = 1U;

   config.paramSetConfig.bCountReload = 0U;

   config.paramSetConfig.sourceBindex = srcBIdx;

   config.paramSetConfig.destinationBindex = dstBIdx;

   config.paramSetConfig.sourceCindex = 0U;

   config.paramSetConfig.destinationCindex = 0U;

   config.paramSetConfig.linkAddress = EDMA_NULL_LINK_ADDRESS;

   config.paramSetConfig.transferType = (uint8_t)EDMA3_SYNC_A;

对于这样一个sync a的dma如果bcount的赋值为2那么当调用一次这个dma时候回传输2个aCount大小的array,还是每次只会传输一个aCount大小的array?

  • config.paramSetConfig.aCount = sampleLenInBytes;
    config.paramSetConfig.bCount = numRangeBins;
    config.paramSetConfig.cCount = (uint16_t) numRxAnt;
    config.paramSetConfig.bCountReload = 0U;

    config.paramSetConfig.sourceBindex = (int16_t) sampleLenInBytes;
    config.paramSetConfig.destinationBindex = (int16_t)(numDopplerBins * numTxAnt * numRxAnt * sampleLenInBytes);

    config.paramSetConfig.sourceCindex = (int16_t)(numRangeBins * sampleLenInBytes);
    config.paramSetConfig.destinationCindex = (int16_t)(numDopplerBins * sampleLenInBytes);

    config.paramSetConfig.linkAddress = EDMA_NULL_LINK_ADDRESS;
    config.paramSetConfig.transferType = (uint8_t)EDMA3_SYNC_AB;
    同样对于sync ab 类型的 每次调用是传输1个aCount*bCount的数据还是cCount个?
  • 你好,
    建议DMA部分,参考以下部分进行理解。
    内有多种用于雷达信号处理的EDMA配置,可以对比参考。谢谢
    函数名MmwDemo_dataPathConfigEdma
    文件名C:\ti\mmwave_sdk_02_00_00_04\packages\ti\demo\xwr16xx\mmw\dss\dss_data_path.c 1259行。

    谢谢