阅读:914回复:4
PCI总线问题,请高手指点。
我用EPM7128制作PCI板,我申请了256个i/o端口,例如:1000-10FF,请问PCI访问I/O端口的时候,PCI的高地址段A8--A15是10,还是高阻态,还是别的什么值?我的驱动程序中只用了偏移量如:0X80。
由于条件关系,我不能去试。 |
|
沙发#
发布于:2003-10-22 08:27
早上醒来,感觉A8--A15应该是10,应该和基址的A8--A10一样,因为
如果你申请了两段I/O地址的话,如:还有一个是2000--20FF,那么 PCI总线对I/O的访问我们如何识别呢?只有通过A8--A15来区分。是这样吗?希望大家讨论。 |
|
板凳#
发布于:2003-10-22 15:37
我的理解:你申请256个I/O端口,范围是100h(00-FFh)。这个需要在
配置寄存器里面声明范围的大小。 你在设备管理器中看到的资源范围基址都是浮动的,是系统分配 好给你的。用就可以了。 |
|
|
地板#
发布于:2003-10-22 22:22
PCI的IO地址是32位的,a0-a31应该是000010xx
|
|
地下室#
发布于:2003-10-23 00:54
刚做完调试,正如x_ray所说,A8-A15应该是10,也就是,基址里的
A8-A15就是系统分配给你的,做为PCI设备,利用A8-A15进行姨妈,事实上,PCI规范要求必须对A31-A8全部姨妈。但我只有对A8-A15进行姨妈,我的7128资源很有限啊。 |
|