Part Number:AM5728
/** * \briefEDMA3 Initialization * * This function initializes the EDMA3 Resource Manager for the given EDMA3 controller * and opens a EDMA3 RM instance. It internally calls EDMA3_RM_create() and * EDMA3_RM_open(), in that order. * * It also registers interrupt handlers for various EDMA3 interrupts like* transfer completion or error interrupts. * * \param edma3Id [IN] EDMA3 Controller Instance Id (Hardware * instance id, starting from 0) * \param errorCode [IN/OUT] Error code while opening RM instance * \return EDMA3_RM_Handle: If successfully opened, the API will return the *associated RM's instance handle. */ EDMA3_RM_Handle edma3init (uint32_t edma3Id, EDMA3_RM_Result *errorCode); typedef enum { CSL_XBAR_DMA_CPU_ID_SYSTEM_DMA, CSL_XBAR_DMA_CPU_ID_EDMA, CSL_XBAR_DMA_CPU_ID_DSP1_DMA, CSL_XBAR_DMA_CPU_ID_DSP2_DMA } CSL_XbarDmaCpuId;
我有多个外设需要用到EDMA,使用EDMA3 LLD库,遇到一些问题,希望TI工程师可以答疑。
问题1:edma3init() 函数的第一个参数 edma3Id,应该如何配置?是否按照 Table 16-125. EDMA_TPCC_PID 里的instance id配置,还是与 CSL_XbarDmaCpuId enum一致?
问题2:若多个外设都需要使用EDMA,每个外设都需要执行一次edma3init()吗?即EDMA3_RM_Handle是否是共用的?
Nancy Wang:
zy zhao 说:edma3init() 函数的第一个参数 edma3Id,应该如何配置?是否按照 Table 16-125. EDMA_TPCC_PID 里的instance id配置,还是与 CSL_XbarDmaCpuId enum一致?
不一样的,在例程中给出的定义都是不同的。
edma3init中edma3Id :EDMA3 Controller Instance Id (Hardware instance id, starting from 0) 我的理解是指EDMA控制器的ID号。
建议参考SDK中给出的例程学习配置。
ti-processor-sdk-rtos-am57xx-evm-06.00.00.07-Windows\pdk_am57xx_1_0_15\packages\MyExampleProjects\MCSPI_BasicExample_Dma_idkAM572x_armTestProject
zy zhao 说:若多个外设都需要使用EDMA,每个外设都需要执行一次edma3init()吗?即EDMA3_RM_Handle是否是共用的?
这个需要咨询一下相关工程师再给你回复。
,
zy zhao:
edma3init中edma3Id :EDMA3 Controller Instance Id (Hardware instance id, starting from 0) 我的理解是指EDMA控制器的ID号。
问题就是,EDMA控制器的ID号我从哪里获取呢?在DSP或者ARM是否可以设置一样的edma3Id?
,
Nancy Wang:
zy zhao 说:
edma3init中edma3Id :EDMA3 Controller Instance Id (Hardware instance id, starting from 0) 我的理解是指EDMA控制器的ID号。
问题就是,EDMA控制器的ID号我从哪里获取呢?在DSP或者ARM是否可以设置一样的edma3Id?
参考:
e2e.ti.com/…/edma3-on-am5728-rtos-dsp
,
zy zhao:
好的,非常感谢
,
Nancy Wang:
zy zhao 说: 问题2:若多个外设都需要使用EDMA,每个外设都需要执行一次edma3init()吗?即EDMA3_RM_Handle是否是共用的?
我将第二个问题升级到了英文论坛,请等待回复:
e2e.ti.com/…/am5728-edma
,
zy zhao:
好的,感谢回答,我会持续关注
,
Nancy Wang:
不客气。