主题 : 求助:micro2440在linux下的DMA驱动(版主能给解决一下吗?) 复制链接 | 浏览器收藏 | 打印
我终究没能飚得过那辆宝马,只能眼看着它在夕阳中绝尘而去,不是我的引擎不好,而是我的车链子 ..
级别: 新手上路
UID: 11759
精华: 0
发帖: 32
金钱: 160 两
威望: 32 点
综合积分: 64 分
注册时间: 2009-12-20
最后登录: 2011-01-11
楼主  发表于: 2010-07-02 17:32

 求助:micro2440在linux下的DMA驱动(版主能给解决一下吗?)

管理提醒: 本帖被 qq2440 从 micro2440技术交流专区 移动到本区(2013-11-18)
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,不明白?


谢谢大虾指教!!!
[ 此帖被wmt-777在2010-07-17 09:23重新编辑 ]
我终究没能飚得过那辆宝马,只能眼看着它在夕阳中绝尘而去,不是我的引擎不好,而是我的车链子 ..
级别: 新手上路
UID: 11759
精华: 0
发帖: 32
金钱: 160 两
威望: 32 点
综合积分: 64 分
注册时间: 2009-12-20
最后登录: 2011-01-11
1楼  发表于: 2010-12-07 09:54
顶一下