论坛» 嵌入式开发» MCU

s3c44b0x DMA 紧急求救

菜鸟
2005-09-02 18:35 1楼

有那位大虾做过关于S3C44B0X的 DMA的试验或程序吗?

我想使用ZDMA的handshake+on_the_fly mode 来进行数据传输。我也用过44B0X的test代码,但是运行不成功。以下是44b0x ext dma的test code中的一部分,我怎么看都不明白编写者的意思,那位大虾可否指点一下。(这部分代码是在s3c44b0x的标准test code的extdma.c文件中)

#define SET_XDREQ16() rPDATG=(rPDATG&~(3<<3))|(0x1<<3)
#define SET_XDREQ1() rPDATG=(rPDATG&~(3<<3))|(0x2<<3)
#define START_XDREQ() {rPDATE=(rPDATE&~(1<<4))|(0x0<<4);\
rPDATE=(rPDATE&~(1<<4))|(0x1<<4);}

void Test_ZDma0Xdreq(void)
{
char x;
U32 savePCONC;
rINTMSK=BIT_GLOBAL;
pISR_ZDMA0=(U32)IsrZdma0Done;
rINTMSK=~(BIT_GLOBAL|BIT_ZDMA0);

Cache_Flush(); //to clear the cache memory.

savePCONC=rPCONC;
rPCONC=0xaaaaaaaa; //DATA[16:31] is selected.

rPCONF=rPCONF&(~(0xf<<6))|(0xf<<6);//PF3=nXDACK0,PF4=nXDREQ0
rPCONE=rPCONE&(~(3))|(3); //PE0=CLKOUT

rPDATG=rPDATG&(3<<3);
rPCONG=rPCONG&~(0xf<<6)|(5<<6); //PG3,4=OUTPUT
rPDATE=rPDATE&~(1<<4)|(1<<4); //PE4=H,PE5=H
rPCONE=rPCONE&~(0xf<<8)|(5<<8); //PE4,PE5=OUTPUT

rPDATE=rPDATE&~(1<<5)|(0<<5);//nUDE=L(PE5=L) to enable EPM7256A d[23:4]

.......

}

还有我想问下采用ZDMA的handshake+on_the_fly模式的传输速度大概是多少啊?

[em06]
菜鸟
2005-09-02 18:54 2楼

这个Project比较赶,有那位知道44b0x zDMA handshake 模式也麻烦赐教一下,SAMSUNG的标准test code看不懂,郁闷中~~~谢谢啦[em06]

斑竹救命啊~~~~~
共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]