lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1775回复:10

9054的LA端地址问题

楼主#
更多 发布于:2004-08-19 12:08
9054的LA端地址是怎么定义的啊?我的意思是怎样取得我想要的LA地址。

我用的32bit模式,就应该是LA[32:2]为我的本地地址吧

我是这样配置的LAS0RR与LAS0BA
LAS0RR:FFFFFFFFD,I/O读写。
LAS0BA:0001000D,
PCIBAR0由系统分配的地址为0000d801。

这样我在驱动里进行读写时,系统是不是自动从0000d801这个端口地址进行读写呢?而此时的9054的LA[32:2]即为LAS0BA[32:2]=00008003呢?

我就是这样理解的,不知道对不对。关键就是不知道PCI端分配的I/O端口地址是多少,该如何变化。对应的9054的LA[32:0]地址是多少,该如何变化,由什么来定义它

请各位详细指点,谢谢
lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-19 12:12
我把论坛里与LAS0BA有关的帖子都搜索出来看了下,没发现有详细说明我这个问题。看来大家都明白这个问题,正好请大家帮忙回答一下了。我想了好几天都没弄明白
wkq清秋枫叶
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2008-08-07
  • 粉丝1
  • 关注0
  • 积分53分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-19 14:02
“而此时的9054的LA[32:2]即为LAS0BA[32:2]=00008003”这句话我不懂。LA是32位的,如果读0X00008003,则LA地址仍为0X00008000,然后屏蔽调最低3个字节,取最高字节。我认为阁下不妨按照这个思路理解一下PCI地址和LA地址,也许或发现问题的所在。
lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-20 09:29
那LA[32:0]到底该为多少呢?
是LAS0BA的0001000D,还是PCIBAR0的0000d801呢?
而且是照你说的那样不算最后三位

这论坛上的人都走哪去了?帮帮忙啊
zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-21 17:39
我觉得当访问PCIBAR0(偏移地址为0)LA应该是0001000D。不过我觉得你的local端是32位的,那么LAS0BA是不是也应该是32位对齐的啊?
lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-22 00:34
我的意思也是LA[31:0]为0001000D,我写的是LA[31:2]即截断了后两位的值,又不知道该怎么表示。

我现在尝试了一下读数据,首先在LD[31:0]用FPGA放上数据0xf1f1f1f1。这下来读space0,端口地址为d801。
偏移地址为0时读出数据为0xf1f1f1f1,偏移地址为1时,读出的数据为0xfff1f1f1,偏移地址为2,读出数据为0xfffff1f1,以后没偏移1位,读出的数据就右移8位,

请问这是什么意思啊。这个偏移地址是在LA[31:0]=0001000D上面偏移还是在端口地址d801上偏移呢?  FPGA默认数据为1,不过好象跟这个没关系吧,因为我是一直让它把数据保持在0xf1f1f1f1的,那后面来的1又是从那来的呢?
zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-22 11:07
你的FPGA内部是怎么对LA[31:2]进行译码的?也就是当LA[31:2]为多少时FPGA输出数据0xF1F1F1F1?译码时是否用到了LBE#[3:0]?
lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-22 14:09
没有对LA[31:2]译码,没管LA[31:2]和LBE[3:0]这几位
lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-23 18:40
算了,问了也白问,没人关心。幸好我自己解决了

zab兄虽然你没帮我解决,但还是感谢你的热心。把分送上
lyjyjj
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-08-23 18:42
哦,还有wkq清秋枫叶兄
zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-23 20:21
怎么解决的啊,说来听听:)
游客

返回顶部