在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 4745|回复: 2

vxworks PLX9054驱动开发中对DMA操作遇到的问题

[复制链接]
发表于 2009-6-30 19:47:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我们知道PLX9054DMA操作中进行数据传输有四个寄存器:
1:PCI 地址寄存器
2:本地地址寄存器
3:传输数据长度寄存器
4:传输方向寄存器

现想实现PCI MASTER (既CPU板)读取目标板存储器上地址为Local Address的长度为length的数据到CPU板的buffer
char *buffer
buffer=malloc(length);


问:

PCI 地址寄存器 写入的就是buffer指向的地址?
本地地址寄存器 写入的就是Local Address?     
这两个寄存器的填写都需要物理地址,我不知道怎么去理解。DMA 传输还需要是连续的
malloc buffer地址是物理地址还是虚拟地址? 其分配的长度为length的空间是否连续?Local Address是目标板的本地地址 还是目标板Local Address映射到PCI的地址?
malloc buffer市虚拟地址的话用什么方法转换到我所需要的物理地址?

哪位高手能帮我将这方面的迷惑解答下和理清下?小弟很是感激
我的邮箱是:shiweibadboy@163.com
 楼主| 发表于 2009-6-30 20:14:18 | 显示全部楼层
没有朋友能够一起来讨论下给点帮助吗?
大家一起谈谈会很有帮助的
 楼主| 发表于 2009-6-30 20:19:50 | 显示全部楼层
有没有朋友在,懂这方面的,我们互相探讨下,或者留言 我每天都上论坛看的 大家交流下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 19:34 , Processed in 0.014532 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表