guan_2000
驱动牛犊
驱动牛犊
  • 注册日期2003-05-02
  • 最后登录2011-08-18
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:914回复:4

PCI总线问题,请高手指点。

楼主#
更多 发布于:2003-10-22 05:24
我用EPM7128制作PCI板,我申请了256个i/o端口,例如:1000-10FF,请问PCI访问I/O端口的时候,PCI的高地址段A8--A15是10,还是高阻态,还是别的什么值?我的驱动程序中只用了偏移量如:0X80。
由于条件关系,我不能去试。
guan_2000
驱动牛犊
驱动牛犊
  • 注册日期2003-05-02
  • 最后登录2011-08-18
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-22 08:27
早上醒来,感觉A8--A15应该是10,应该和基址的A8--A10一样,因为
如果你申请了两段I/O地址的话,如:还有一个是2000--20FF,那么
PCI总线对I/O的访问我们如何识别呢?只有通过A8--A15来区分。是这样吗?希望大家讨论。
superrobust
驱动牛犊
驱动牛犊
  • 注册日期2003-01-04
  • 最后登录2007-08-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-22 15:37
我的理解:你申请256个I/O端口,范围是100h(00-FFh)。这个需要在
配置寄存器里面声明范围的大小。
你在设备管理器中看到的资源范围基址都是浮动的,是系统分配
好给你的。用就可以了。
everything is developing
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-22 22:22
PCI的IO地址是32位的,a0-a31应该是000010xx
guan_2000
驱动牛犊
驱动牛犊
  • 注册日期2003-05-02
  • 最后登录2011-08-18
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-23 00:54
刚做完调试,正如x_ray所说,A8-A15应该是10,也就是,基址里的
A8-A15就是系统分配给你的,做为PCI设备,利用A8-A15进行姨妈,事实上,PCI规范要求必须对A31-A8全部姨妈。但我只有对A8-A15进行姨妈,我的7128资源很有限啊。
游客

返回顶部