stroll
驱动小牛
驱动小牛
  • 注册日期2001-10-26
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分161分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:1454回复:8

pci&rom

楼主#
更多 发布于:2004-02-02 13:33
PCI接口芯片中如何读取扩展ROM中的数据,是以字节还是双字方式,属于配置读吗?

最新喜欢:

tyzzrtyzzr
waiyan
驱动牛犊
驱动牛犊
  • 注册日期2003-10-21
  • 最后登录2009-05-21
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-02 13:59
我也很想知道这个问题
网卡扩展ROM那样
changjt
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-02 15:41
首先通过一个配置写周期,将offset(30H)置位,可将OptionROM映射到系统内存空间中,然后对Expansion ROM Address进行普通的内存读取即可,不是配置读,可用字节方式.
ttzwater
驱动小牛
驱动小牛
  • 注册日期2003-06-07
  • 最后登录2011-10-04
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-03 16:11
changjt兄弟的意思是自己为扩展ROM分配地址吗?那CPU的DS要设置吗?
changjt
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-03 18:22
不是,用BIOS自动分配的地址就可以了。只需将remap控制位置1,然后就可以在大实模式下直接从系统内存空间里读到PCI&ROM的内容了
stroll
驱动小牛
驱动小牛
  • 注册日期2001-10-26
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分161分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-02-09 10:00
在请教一下,对ROM的读取是用字节,字还是双字是由什么决定的。与什么有关。比如一般我们都用8bit的ROM,那么PCI是否会用双字方式进行操作。谢谢!
changjt
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-02-09 10:53
当进行PCI配置空间的操作时才需要使用双字方式,对于ROM芯片的读写,不同的芯片有不同的方式,大多ROM在写入命令字时都需要用到word方式,如"5555"、“aaaa”等,我们对ROM的读取是通过内存映射I/O的方式来实现的,将ROM的内容映射进内存空间以后,就象普通内存读取一样操作就可以了,不涉及读取方式的转换
stroll
驱动小牛
驱动小牛
  • 注册日期2001-10-26
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分161分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-02-09 13:53
但是,当进行映射时PC还是需要先读取ROM中的数据,不然PC映射的数据就未定了。PC在映射时需要读取ROM,此时的读取是以何种方式字节,字,双字?协议中好像规定字节,字,双字都可能,不知道在实际的操作中用常哪种方式。您说的“将ROM的内容映射进内存空间以后。。。”但是这个映射过程如何实现,难道PC不需要读取ROM中的数据吗?或者只映射基地址,当实际需要读取时才从ROM中读取,并且字节,字,双字均支持。有兴趣可以留下联系方式,讨论一下。
changjt
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-02-09 19:41
我认为映射只是建立一个地址对应关系,PC端不需要知道ROM的内容,只需要根据Base addr和Size分配相应大小的PCI内存空间即可.实际读取时会将地址解码到ROM里,从ROM芯片中读取.这个映射过程是由PCI卡上的译码器件完成的.对于ROM芯片的读操作,应该是字节、字、双字都支持,写操作会有区分。
可发邮件联系
游客

返回顶部