Hi, I come across some questions about ADCdataBuf in out-of-demo.(SDK 2.0)
1. The allocation of ADCdataBuf . From this code, the size of ADCdataBuf is ,for example, 256*4*2.
MMW_ALLOC_BUF(ADCdataBuf, cmplx16ReIm_t, heapL3start, MMWDEMO_MEMORY_ALLOC_DOUBLE_WORD_ALIGN, obj->numRangeBins * obj->numRxAntennas * obj->numTxAntennas);
But when we use it to transfer data to adcDataIn by EDMA, for example, set the source address for the channel MMW_EDMA_CH_1D_IN_PONG, where numChirpsPerChirpEvent is 8 and chirpIndxInMultiChirp loops from 0 to numChirpsPerChirpEvent. Apparently, it is beyond the size TI set before. How could this happen?
EDMA_setSourceAddress(context->edmaHandle[MMW_DATA_PATH_EDMA_INSTANCE], MMW_EDMA_CH_1D_IN_PONG, (uint32_t) &obj->ADCdataBuf[(chirpIndxInMultiChirp + obj->numChirpsPerChirpEvent) * obj->numAdcSamples]);
2. I noticed that closely after the allocation of ADCdataBuf , it appears this situation:
if (adcBufAddress != NULL)
{
obj->ADCdataBuf = (cmplx16ReIm_t *)adcBufAddress;
#ifndef NO_OVERLAY
ADCdataBuf_end = heapL3start;
#endif
}
I guess this is used to reassign orign address to ADCdataBuf, and adcBufAddress is 0x21000000. Does it affect the size of ADCdataBuf?
3. I know that the raw ADC samples is saved in two 32KB ADC buffers. How to extract data from them? Is ADCdataBuf the extracted values?
Thank you for reading and please help me!