版块
论坛
喜欢
话题
应用
搜索
登录
注册
bengbengsnake的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=26875
一个PCI地址空间问题
我在PCI总线下挂一个设备,这个设备需要访问某块分配的内存,好像PCI设备在访问这块内存前需要对该地址进行转换?为什么?如 int *p=(int*)malloc(4),pci设备的某个寄存器存放是该块内存的首地址,为什么需要对p进行转换(映射)到pci空间的问题。
回复
(
3
)
2004-09-25 08:51
来自版块 -
USB驱动开发
◆
◆
表情
告诉我的粉丝
提 交
wdy9927
:
唉,具体的我也不清楚。 但有的时候,一个pci 设备会即会分到 io 地址,又会分到 mem 地址。 但这个时候,这2个地址的值虽然不一样,但他们所指向的内容是一样的。只不过是读取的方法不一样。 hoho,没细研究过。
(2004-10-23 10:18)
回复
bengbengsnake
:
有一些概念想澄清: 1)PCI地址映射时有IO空间和MEM空间之分,是不是IO空间映射的是PCI设备的命令寄存器,而MEM空间对应的是设备RAM?? 2)如果上述所说的成立,PCI设备存取的内存有两类:一是本身设备内存,另一种是CPU正在用的系统内存DRAM,在CPU看来这对...
(2004-10-22 17:02)
回复
wdy9927
:
寄存器中需要的一般都是物理地址。 而 pc 上,有malloc 得到的一般都是线性地址。 想办法得到你需要的物理地址吧。
(2004-09-25 15:22)
回复
bengbengsnake
加关注
写私信
0
关注
0
粉丝
43
帖子
返回顶部