micro2440在linux下的DMA驱动一直不好使:感觉是一直没启动成功。
编写一段DMA驱动,功能是在SDRAM内部两段内存之间的数据搬移,
在本程序中源地址是0x33800000,目的地址是0x33808000,
寄存器赋值也没有问题,DMASKTRIG=0x3,DISRCC=0,DIDSTC=0,
DCON=(1<<31)|(1<<30)|(1<<28)|(1<<27)|(0<<23)|(1<<22)|(00<<20)|(1024);//软件触法,
初始化时使用了s3c2410_dma_config,s3c2410_dma_chan,s3c2410_dma_config,s3c2410_dma_devconfig函数。
在read函数中s3c2410_dma_enqueue和copy_to_user。
但printk调试后感觉dma并没有启动,
我使用的是软见触发,不知dma是哪个函数启动,软件触发的话应该怎么启动。
而且insmod驱动后,DMASKTRIG寄存器一直显示是0x2,我赋值赋的是3,不明白?
谢谢大虾指教!!!