nondrinker
驱动牛犊
驱动牛犊
  • 注册日期2003-08-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1412回复:9

9052地址分配问题?很菜,可我不会.希望能指点一下.

楼主#
更多 发布于:2003-10-18 16:39
isa转pci.io功能.16位数据.无中断.8M晶振.9052卡.没有装驱动,开机可以看到硬件.

局部地址 LA9~LA2,ISAA1.ISAA0.组成的局部地址是0x200~0x206

LAS1RR: FFFFFF01  (所以在BAR3中系统分配了0X400--0X4FF,我觉得
                  范围大点好像也没有关系似的)

LAS1BA: 00000201

LAS1BRD:00400022
 
CS1BASE:00000209  (对这个我一直理解不了,干什么用的?值又该如
                  何定义?)
INTCSR: 00001000

cntrl:  007C4012


在windriver中写bar3时(0x400--ox4ff),发现局部地址是这样排列的:
bar3(00--03)地址是一样的,是0x204.bar3(04--07)是0x208.bar3(08-0c)是0x20c.......依此类推.
为什么我的地址会变成这样?
读bar3,发现读出来的是地址?时序不对?那又要怎么调整时序/


我的基本功不好,望能指点一下.


......................
答的好,分一点也不吝啬.

最新喜欢:

mapoflmapofl
mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-20 14:22
我只用过非isa方式。CSXBASE有4个,里面设定你local端开辟的四段空间的基地址和偏移量。注意最后基地址要右移一位。
nondrinker
驱动牛犊
驱动牛犊
  • 注册日期2003-08-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-20 16:46
兄弟,我现在一直处于模糊状态...

9052的三个模式应该是一样的.

LAS1BA为00000201 ,应该是定义基地址为200吧?

LAS1RR: FFFFFF01 (所以在BAR3中系统分配了0X400--0X4fF)?

CS1BASE:00000209 这个家伙的值到底该怎么定义?看了n偏的阴文,和你的说明.还是不知道.....郁闷ing...

我现在就是没有办法让我的局部地址变成200~206.上面的配置结果显示是204,208.20C.210.214.218.21C.

帮帮我,送多少分都可以.


mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-21 10:05
我有一段时间没搞了,记不清了。我查了我以前的工作记录,上次我回的帖子有错误,现在纠正,应该是偏移量的值要右移一位,不是基地址。

(1)CS1BASE:00000209的意思是基地址200H,偏移量10H。
10H-->0001,0000B
右移一位-->0000,1000B
选通CS1BASE-->0000,1001B
所以最后得到209H
(2)你要查一查datasheet,看看端口映射能否开辟256位的端口,如果不行,那你的LAS1RR要重新设置。
(3)你最后写的是什么呀?我看不懂。
dyxing2000
驱动小牛
驱动小牛
  • 注册日期2003-04-19
  • 最后登录2012-04-25
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望50点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-21 12:44
基址除以2然后或基址大小
0位如果是1,就可以
不是1,或1
你试试,肯定行
记得给分
nondrinker
驱动牛犊
驱动牛犊
  • 注册日期2003-08-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-22 14:41
谢谢mustang兄,

偏移量10H是什么意思?是每次局部地址增加的尺度吗?
基地址就是我的局部地址200h吗?

最后一句我自己都不是很明白.呵呵...
主要是我用windriver5.05调试的时候,对bar3进行io口的写.结果如下:

0ffset:0-3(0.1.2.3的值读出来的局部地址是一样的.)
size:16
测试LA9~LA2,ISAA1,ISAA0为  204h

0ffset:4-7
size:16
测试LA9~LA2,ISAA1,ISAA0为  208h

0ffset:8-c
size:16
测试LA9~LA2,ISAA1,ISAA0为  20Ch
    .
    .
    .
    .
    ..//
(我的设想是局部地址要按照从底到高 200.201.202.203.204.205.206这样排列的.)
是我软件用错了吗???


谢谢dyxing2000兄.

\"基址除以2然后或基址大小\"
是这样理解的吗?
我的基地址为200.除以2后为100.或基址为300/?
还是你的基址大小定义为我基址范围?

再次感谢两位的回复.解决了马上就结帐.呵呵......

dyxing2000
驱动小牛
驱动小牛
  • 注册日期2003-04-19
  • 最后登录2012-04-25
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望50点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-23 14:14
“或”就是数字电路的“加”
mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-23 15:07
1,基地址除以2就是右移一位。
2,如果你采用端口映射,偏移量10H就是指端口16位。如果你采用内存映射,偏移量10H就是指申请的内存空间16个字节。基地址就是你的板卡上内存地址200h。
3,我还是没看明白你写的,你是不是用到FPGA了?要先看看你的VHDL程序有没有问题。只要能读写,又不死机,其他的都是小问题。
nondrinker
驱动牛犊
驱动牛犊
  • 注册日期2003-08-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-24 13:46
是的,我是用到了一片gal.局部地址线都连接到上面了...

所以,我希望局部地址线能按照200~206的排列顺序变化.但是用windriver写io口时发现他们是按照204.208.20C.210.214.218.21C顺序排列.这...大概回事什么原因?

对于cs1base我有点理解了.谢谢两位.

最后还有一个问题..

isa模式,16位数据,
我的局部地址是LA9~LA2.ISAA1.那这个地址最地位是ISAA1吗?
剩余的LBE0#.2#.3#三个线怎么处理,?不用管他们,悬空者吗?



dyxing2000
驱动小牛
驱动小牛
  • 注册日期2003-04-19
  • 最后登录2012-04-25
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望50点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-25 08:36
应该是基址范围除以2然后加上基址的值,0位是否为1
不是1,则加1
不好意思,我的记忆有点模糊
游客

返回顶部