copper
驱动牛犊
驱动牛犊
  • 注册日期2002-12-05
  • 最后登录2003-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:993回复:2

pci(20)!

楼主#
更多 发布于:2003-04-28 10:46
pci在读取rom 数据时,是否必须要进行映射。如有一个64kb的rom,通过pci bus读取时,是否要先映射一个64kb的空间。然后从内存进行读取。IO读取是何种机制,pci bus上IO最大256BYTE,根据映射原理,是否IO读只能访问256BYTE的空间。谢谢!
czja
驱动牛犊
驱动牛犊
  • 注册日期2002-05-09
  • 最后登录2005-05-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-30 18:59
系统是通过mem映射读取boot rom数据的。用户也可以通过io口读取boot rom中的数据,不过不同的芯片寄存器偏移地址是不同的,一般用户可以通过以下三个寄存器读取boot rom中的数据,
bootrom地址寄存器、bootrom数据寄存器和bootrom控制寄存器。
heruo220
驱动牛犊
驱动牛犊
  • 注册日期2003-04-16
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-01 12:10


照我理解,你的rom应是指配置空间吧。PCI系统上电时扫描PCI总线上的设备。PCI总线通过C/BE[3..0]上发1010,1011来标志此次访问为配置空间访问。对应pci设备通过IDSEL确认。x86系统只有内存空间和io空间,而没有pci所需的配置空间。具体如何实现将配置空间访问用IO空间来访问,由PCI桥来确定。一般情况下,他会在IO空间上留两个端口,一个用来确定并锁存目标总线编号、设备编号、功能编号和配置空间偏移(范围6比特,寻址你说的64双字)等。另一个数据端口用来传递数据。当然,如果你说的ROM为其应用他数据,须在其他时候传递,可将它映射到内存空间,如何访问,可由你在板上用硬件逻辑设定。

要是对你有帮助的话,请支持一下兄弟。还有什么问题,要兄弟知道,也能替你解答
游客

返回顶部