执行CSL_edma3Open()函数后hModule是空,导致无法EDMA功能。不知道为什么出现这个问题?
CSL_EDMA3的值是1。
void EDMAInit()
{
CSL_Edma3ChannelAttr chParam;
CSL_Edma3Context edmaContext;
CSL_Edma3QueryInfo info;
CSL_Edma3CmdIntr regionIntr;
CSL_Edma3CmdDrae regionAccess;
CSL_Status status;
/* Edma Module Initialization */
CSL_edma3Init(&edmaContext); //初始化edma上下文对象变量,返回状态CSL_SOK
/* Edma Module Level Open, 得到EDMA寄存器组的首地址,赋给edmaObj->regs,最后返回的指针hModule实际上指向edmaObj*/
hModule = CSL_edma3Open(&edmaObj,CSL_EDMA3,NULL,&status);
/* Query Module Info ,得到EDMA控制器的状态,实际上就是把PID和CCCFG寄存器的值读出到info*/
CSL_edma3GetHwStatus(hModule,CSL_EDMA3_QUERY_INFO, &info);
......
}