Tool/software:
Currently my set up is we have 1 UDMA Instance for the OSPI that use UDMA_INST_ID_BCDMA_0 and I want to add another udma instance for the uart, namely UDMA_INST_ID_PKTDMA_0.
But the second "Udma_chOpen()" is failed because the "drvHandleInt->drvInitDone" is not done yet. If I debug this function, it runs to "Udma_chPair()" and return fail.
So I test it on the uart dma echo example on the Evaluation Module and observed that if I add another instance to the code (by add it in example.syscfg):
/* UDMA driver instance object */ Udma_DrvObject gUdmaDrvObj[CONFIG_UDMA_NUM_INSTANCES]; /* UDMA driver instance init params */ static Udma_InitPrms gUdmaInitPrms[CONFIG_UDMA_NUM_INSTANCES] = { { .instId = UDMA_INST_ID_PKTDMA_0, .skipGlobalEventReg = FALSE, .virtToPhyFxn = Udma_defaultVirtToPhyFxn, .phyToVirtFxn = Udma_defaultPhyToVirtFxn, }, { .instId = UDMA_INST_ID_BCDMA_0, .skipGlobalEventReg = FALSE, .virtToPhyFxn = Udma_defaultVirtToPhyFxn, .phyToVirtFxn = Udma_defaultPhyToVirtFxn, }, };