linjing
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2008-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1363回复:4

请教pci9052的地址映射

楼主#
更多 发布于:2003-06-13 18:28
请教pci9052的地址映射,
看了databook感觉很含糊,可能是理解不清楚,
请大虾指教在配置芯片中如何写入地址映射的范围,
在databook中space、space(remap)和cs的配置有什么对应关系,
哪个是基地址、哪个是地址映射范围、哪个是由pci总线写入,哪个是由用户烧写的。
粼粼
lamxu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-23 17:45
据我了解,PCI配置空间寄存器用于操作系统找到PCI卡,并且分配地址空间以及初始化,以给驱动程序使用。配置空间寄存器通过上电载入EEPROM的信息进行初始化。PCI配置空间与EEPROM的内容是两个概念,EEPROM包含的是配置空间寄存器的初始化值,驱动程序操作的是PCI配置空间寄存器。

空间的分配通过LAS0RR寄存器设置,EEPROM的初始值如下表示分配64K:
MSW range space0=0xFFFF
LSW range space0=0x0000

Plx905x缺省分配空间是1M
MSW range space0=0xFFF0
LSW range space0=0x0000

可以简单理解为需要几位地址译码的Local Bus就设置几位0。第一个例子,板子需要64K的空间,需要16位地址线,于是低16位全部为0。如此类推。

请多指教
linjing
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2008-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-23 18:57
刚开始的时候我是把pci配置空间和eeprom搞混了,
现在总算基本搞清了,
不过还有一事不明,
就是pci总线分配的基地址和eeprom中用户分配的基地址的对应关系,看databook中的说是一对一,
但我用nivisa或windriver实际操作时,
好像不是一一对应的,很乱,
而且用这两个软件,每操作一次地址会自动增一,
我的硬件逻辑接法是这样的:把local的地址线和数据线接在一起,
进行读操作,这样就能读会的由pci总线的地址转换成local以后的地址回读回来,
你觉得这样对吗?

粼粼
lamxu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-24 12:57
从硬件角度说,数据线如果只和地址线接是可以直接接的,时序上应该不成问题,否则就要加三态门。


lifeship
驱动小牛
驱动小牛
  • 注册日期2002-10-18
  • 最后登录2005-07-19
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-01 00:21
pci配置空间是告诉系通,你需要哪些资源的,比如地址空间,而具体的,有pci地址空间怎么映射的本地地址空间(Local bus)是由硬件本省决定的,具体到9052,记的就是设置里面几个寄存器,具体记不得了
杯汝前来,  老子今朝,  放荡形骸!  甚长年抱渴,  咽如焦釜,  于今喜醉,  气似奔雷!  慢说刘伶,  古今达者,  醉后何妨死便埋! 
游客

返回顶部