ISA DMA驱动源地址和目的地址设置的问题

NKLoveRene NKLoveRene 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
	unsigned long flags = claim_dma_lock();
disable_dma(channel);

// 清除dma触发器
clear_dma_ff(channel);

set_dma_mode(channel, mode);

// 为DMA缓冲区分配地址。该函数将addr的最低24位存储到控制器中。addr参数必须是总线地址
set_dma_addr(channel, virt_to_bus((void*)buf));

// 给传输的字节数赋值
set_dma_count(channel, count);

release_dma_lock(flags);

我要从某个硬件地址A开始的64k大小的区域循环读数,用DMA方式做
看LDD里面,有这么一段代码,是用来设置和启动DMA的
里面set_dma_addr()这个函数的第二个参数,我感觉应该是自己申请的dma缓冲区的地址,也就是目的地址,
那源地址在哪里设置呢?也就是说地址A是哪里设置的呢?
谢谢~
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部