我想用SDMA来读GPMC,但目前配置了很多方法依然不能成功,想请教了一下大家看我做的方式有没有错。
1, GPMC_InitInputDMA(inValue->length,(ULONG)(BasicAddress[inValue->baseCs]+inValue->Paddress),NULL,p_gpmcDmaAddr,v_gpmcDmaAddr);
2,GPMC_StartInputDMA();
3,testValue = *(DWORD*)(BasicAddress[inValue->baseCs]+inValue->Paddress);
4,memcpy(tempBuf,v_gpmcDmaAddr,sizeof(WORD)*(inValue->length));
1是初始化DMA的一些配置,自己开辟了一个物理空间,然后映射到读的基地址在偏移地址
{这里的问题是映射的时候是映射到基地址,还是映射到具体要读的基地址加偏移地址上}
2,DmaStart()
3,这个是读值,直接读的是GPMC的基地址在偏移地址
{这里的问题是,我需要通过这个方式去触发读的波形吗?还是不需要有其它的方式}
4,这个是假使DMA映射成功了,且在映射后的内存上有值,我们从这里读出去
这里我的操作的整个流程,目前没有读出来数据,想问一下这个整个流程是否存在问题