lpc3131 SD卡的DMA读写问题
我用的NXP的LPC3131试图用DMA方式读取SD卡的内容,但是始终没有什么反应,希望有人不吝赐教一下,我都怀疑那个SD卡到底有没有DMA模式啊?对于数据手册所写有点怀疑。 开DMA的时候,是否打开了MMU和数据缓存? 这是我2440用DMA显示SD卡里面的图片的函数DMA_SWHW.DMA_SWHW_SEL=1;
DMA_SWHW.DMA_HW_ID =2;
DMA_Install(0,0x5A000040,1,1,(U32)g_ausLCD_BUFFER,0,0,1,nLength,DMA_SWHW,1,DMA_End);
DMA_Start(0);
while(g_DmaFlag==1);
DMA_Stop(0);
char g_DmaFlag=0;
void DMA_Install(U8 nChannle,
U32 ulSrcAddr,
U8 cSrcAddrAddEn,
U32 cSRCSelHP,
U32 ulDstAddr,
U8 cDstAddrAddEn,
U32 cDSTSelHP,
U32 cDataSize,
U32 nLength,
DMA_SWHW_SEL_T cSWHW_Sel,
U32 cIntEn,
DmaIrqFunc Func)
{
DMA_REG_T *pstDMA=NULL;
switch(nChannle)
{
case 0:
{
pstDMA=(void *)0x4b000000;
if(cIntEn==1)
{
IRQ_Install(INT_TYPE_SUB_DMA0,0,Func);
}
break;
}
case 1:
{
pstDMA=(void *)0x4b000040;
if(cIntEn==1)
{
IRQ_Install(INT_TYPE_SUB_DMA1,0,Func);
}
break;
}
case 2:
{
pstDMA=(void *)0x4b000080;
if(cIntEn==1)
{
IRQ_Install(INT_TYPE_SUB_DMA2,0,Func);
}
break;
}
case 3:
{
pstDMA=(void *)0x4b0000c0;
if(cIntEn==1)
{
IRQ_Install(INT_TYPE_SUB_DMA3,0,Func);
}
break;
}
default:
return ;
}
pstDMA->DMA_DISRC= ulSrcAddr;
pstDMA->DMA_DISRCC = (cSRCSelHP<<1)|cSrcAddrAddEn;
pstDMA->DMA_DIDST= ulDstAddr;
pstDMA->DMA_DIDSTC = (cDSTSelHP<<1)|cDstAddrAddEn;
pstDMA->DMA_DCON = (1<<31)+(1<<30)+(cIntEn<<29)+(DMA_TANS_WIDTH<<28)+\
(0<<27)+(cSWHW_Sel.DMA_HW_ID<<24)+(cSWHW_Sel.DMA_SWHW_SEL<<23)+\
(1<<22)+(cDataSize<<20)|nLength;
}
void DMA_Start(U8 nChannle)
{
switch(nChannle)
{
case 0: rDMASKTRIG0=(1<<1)|(rDCON0&(1<<23));
break;
case 1: rDMASKTRIG1=(1<<1)|(rDCON1&(1<<23));
break;
case 2: rDMASKTRIG2=(1<<1)|(rDCON2&(1<<23));
break;
case 3: rDMASKTRIG3=(1<<1)|(rDCON3&(1<<23));
break;
default:
return ;
}
g_DmaDoneFlagN=1;
g_DmaFlag=1;
}
void DMA_Stop(U8 nChannle)
{
switch(nChannle)
{
case 0: rDMASKTRIG0=(1<<2);
break;
case 1: rDMASKTRIG1=(1<<2);
break;
case 2: rDMASKTRIG2=(1<<2);
break;
case 3: rDMASKTRIG3=(1<<2);
break;
default:
return ;
}
g_DmaDoneFlagN=0;
IRQ_Uninstall(INT_TYPE_SUB_DMA0+nChannle,0);
} DMA是否成功 要注意 配置源与目标的地址设置 和 DMA触发方式(软件 硬件) 回复【楼主位】lijun2010
-----------------------------------------------------------------------
已经打开了啊! 关注楼主进展如何?
页:
[1]