在EDMA的参数配置过程中,根据参考资料所述,目标数据区与源数据区的配置的关系中涉及到的ACNT\BCANT\BIDX\CIDX之间关系具体作何解析?
如下图:
上述所描述,若我的参数配置如下可正确(每次从ADCBUFF通过EDMA转移到adcDataIn的数据量为numAdcSamples * BYTES_PER_SAMP_1D )?
retVal =
EDMAutil_configType1(context->edmaHandle[MMW_DATA_PATH_EDMA_INSTANCE],
(uint8_t *)(&obj->ADCdataBuf[0]),
(uint8_t *)(SOC_translateAddress((uint32_t)&obj->adcDataIn[0],SOC_TranslateAddr_Dir_TO_EDMA,NULL)),
MMW_EDMA_CH_1D_IN,
false,
MMW_EDMA_CH_1D_IN_SHADOW,
obj->numAdcSamples * BYTES_PER_SAMP_1D, //ACNT
1,//obj->numChirpsPerChirpEvent, //BCNT
obj->numAdcSamples * BYTES_PER_SAMP_1D, //SBIDX
0, //DBIDX
eventQueue,
NULL,
(uintptr_t) obj);
上述每次重新设置目标地址如下(antIndx为处理接收天线的indx:0-3,,numChirpsPerChirpEvent = 1):
EDMA_setSourceAddress(context->edmaHandle[MMW_DATA_PATH_EDMA_INSTANCE], MMW_EDMA_CH_1D_IN,
(uint32_t) &obj->ADCdataBuf[4*antIndx * obj->numAdcSamples]);
故此,,上述设置是否有问题?
Chris Meng:
你好,
建议看看AWR18xx/16xx/14xx Technical Reference Manual (Literature Number: SWRU520C)里面的EDMA相关章节,会有更详细的介绍。
下面的中文EDMA介绍是其他DSP的,但也可以做参考。
blog.csdn.net/…/51939829