免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2433 | 回复: 3
打印 上一主题 下一主题

pci的寄存器的大小 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-30 19:12 |只看该作者 |倒序浏览
看《linux设备驱动程序》上写的,所有的PCI设备都有至少256个字节的地址空间,前64字节是标准化的,而其余的是设备相关的。这256字节是不是都是配置寄存器的空间?
我装上我自己的pci板卡后,用pci_resource_len(pdev,0)得到IO内存的长度为128,这单位应该是字节,我想问下:这IO内存所对应的寄存器是包括在之前那256字节里吗?还说是说另外的寄存器,专门的拿来实际应用的?
另外,这里是128,但是我实际的人家给的datasheet里只有32字节有对应的说明啊?那是不是说另外的96字节没有应用?

论坛徽章:
0
2 [报告]
发表于 2011-03-31 00:37 |只看该作者
PCI 规范里规定了至少2个以上的地址空间。一个是“配置空间”,另外一个是一般的IO访问空间(具体名字记不清了 = =)。前面是标准的,所有PCI设备都要支持(当然,里面有些字节是可选的)。 后面一个是每个设备不同的。

你看的书里面说的是配置空间,代码里那个函数拿到的应该是后面的一般IO空间。二者没关系。人家给你的手册里,32的单位是啥? byte? dword?

论坛徽章:
0
3 [报告]
发表于 2011-03-31 08:38 |只看该作者
回复 2# accessory

32应该是字节,因为他写的寄存器是32位的,而BASE+00用于测试,下一个单元是BASE+04,所以应该是字节,也就是有32字节

论坛徽章:
0
4 [报告]
发表于 2011-04-01 00:11 |只看该作者
那就问问做硬件的人。。。其实空间大了还是小了无所谓,设备的功能都能实现就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP