Hi TI team!
I am trying to figure out how to implement ADC DMA transfer.
An example in adc_soc_continuous_dma.c is very puzzling.
I want to read to buffer ADC line 32 times with a specific frequency and transfer it to software.
SDK version mcu_plus_sdk_am263x_08_05_00_24
#define ADC0_EDMA_CHANNEL (DMA_TRIG_XBAR_EDMA_MODULE_10) static uint16_t gUnusedBuffer[32]; static uint16_t gAdc0DataBuffer[32]; .......... CacheP_wb((void *)gUnusedBuffer, sizeof(gUnusedBuffer), CacheP_TYPE_ALL); CacheP_wb((void *)gAdc0DataBuffer, sizeof(gAdc0DataBuffer), CacheP_TYPE_ALL); ......... status = SemaphoreP_constructBinary(&gAI_mon.BinSem, 0); DebugP_assert(SystemP_SUCCESS == status); .......... /* Register interrupt */ intrObj.tccNum = tccAlloc0; intrObj.cbFxn = &App_dmach0ISR; intrObj.appData = (void *) &gEdmaTransferDoneSem; status = EDMA_registerIntr(gEdmaHandle[0], &intrObj); DebugP_assert(status == SystemP_SUCCESS); App_dmaConfigure(gAdc0DataBuffer, 32, gEdmaHandle[0], ADC0_EDMA_CHANNEL, CONFIG_ADC0_RESULT_BASE_ADDR, &tccAlloc0); .......... ADC_clearInterruptStatus(gAdc0baseAddr,ADC_INT_NUMBER1); ```````
I am configuring RTI timer for triggering ADC conversion with a specific frequency. But the ISR App_dmach0ISR does not call.
Regards!