firing
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2013-04-25
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望250点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:7354回复:13

请教如果读取Memory的SPD信息?

楼主#
更多 发布于:2004-11-15 17:39
我知道大概和SMBus有关,不知道具体的。
谢谢过来人指点一二

最新喜欢:

zhleonixzhleon...
Email: flykz1122@yahoo.com.cn
terrychen
驱动小牛
驱动小牛
  • 注册日期2002-04-15
  • 最后登录2014-03-13
  • 粉丝0
  • 关注0
  • 积分174分
  • 威望68点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-16 09:48
有机会看看intel的spec,或者bios的code,spd是一个标准,里面存放了内存的一些很bt的参数,呵呵。通常是用smbus连接,在bios里面,北桥初始化的时候,需要从spd中读数据的。至于spd的smbus的address,都忘记了。:)
liugang93
驱动牛犊
驱动牛犊
  • 注册日期2004-02-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望19点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-18 12:47
memory SPD EEPROM 是走 SMBus 总线,SMBus总线下的设备是通过SlaveAddress来标识,一般Slot 0上的memory SPD EEPROM的SlaveAddress为0x0A0,Slot 1上的memory SPD EEPROM的SlaveAddress为0x0A2...,你可以向SMBus控制器发送命令来读取SPD中数据。

可以和我联系:liugang93@163.com
boly81
驱动小牛
驱动小牛
  • 注册日期2004-06-25
  • 最后登录2012-06-08
  • 粉丝0
  • 关注0
  • 积分490分
  • 威望73点
  • 贡献值0点
  • 好评度49点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-19 15:42
现在这么多人做这个呀!
楼上的说错了 是 0xa1 0xa3 0xa5
看intel的82801datasheet能学会,想支持全部主板那就麻烦了
firing
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2013-04-25
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望250点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-30 16:07
谢谢大家。我搞定了!
基本按这个步骤(我在Intel芯片组上工作)
1.打开SMBUS controlloer这个设备
2.在PCI配置空间里读出SMBUS baseaddress
3.读取slot0, slot1,...的memory spd信息
slot0,slot1,...的SMBUS devceID是A0,A2,A4...
按这个流程读一个BYTE:
a. start
b. wait smbus ready
c. output Base+04, (DeviceID+1)
d. out Base+03, offset
e. out Base+02, 48H
f. wait 200ms
g. wait smbus ready
h. input base+05
i. OK
就得到了对应offset的一个byte.

具体的要看Intel南桥里SMBus controller这一块。
其实对于所有的SMBus device都可以这样操作。
Email: flykz1122@yahoo.com.cn
firing
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2013-04-25
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望250点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-30 16:10
如果读deviceID要+1, 所以是0xa1,0xa3,0xa5
如果是write的话,就是0xa0,0xa2,0xa4

现在这么多人做这个呀!
楼上的说错了 是 0xa1 0xa3 0xa5
看intel的82801datasheet能学会,想支持全部主板那就麻烦了
Email: flykz1122@yahoo.com.cn
hv015
驱动牛犊
驱动牛犊
  • 注册日期2002-12-13
  • 最后登录2005-01-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-13 20:47
to firing朋友:
    你知道在WINDOWS XP 怎样读取memory内容吗?
 高分相送! 如果其他朋友知道也一样.
  我的邮箱:jiangnanqing@tom.com
boly81
驱动小牛
驱动小牛
  • 注册日期2004-06-25
  • 最后登录2012-06-08
  • 粉丝0
  • 关注0
  • 积分490分
  • 威望73点
  • 贡献值0点
  • 好评度49点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-16 09:31
 

谢谢大家。我搞定了!
基本按这个步骤(我在Intel芯片组上工作)
1.打开SMBUS controlloer这个设备
2.在PCI配置空间里读出SMBUS baseaddress
3.读取slot0, slot1,...的memory spd信息
slot0,slot1,...的SMBUS devceID是A0,A2,A4...
按这个流程读一个BYTE:
a. start
b. wait smbus ready
c. output Base+04, (DeviceID+1)
d. out Base+03, offset
e. out Base+02, 48H
f. wait 200ms
g. wait smbus ready
h. input base+05
i. OK
就得到了对应offset的一个byte.

具体的要看Intel南桥里SMBus controller这一块。
其实对于所有的SMBus device都可以这样操作。

只能intel好使
jolee1124
驱动牛犊
驱动牛犊
  • 注册日期2007-11-21
  • 最后登录2007-11-25
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-11-22 17:24
引用第4楼firing于2004-11-30 16:07发表的  :
谢谢大家。我搞定了!
基本按这个步骤(我在Intel芯片组上工作)
1.打开SMBUS controlloer这个设备
2.在PCI配置空间里读出SMBUS baseaddress
3.读取slot0, slot1,...的memory spd信息
.......
jolee1124
驱动牛犊
驱动牛犊
  • 注册日期2007-11-21
  • 最后登录2007-11-25
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-11-22 17:27
基本按这个步骤(我在Intel芯片组上工作)
1.打开SMBUS controlloer这个设备
2.在PCI配置空间里读出SMBUS baseaddress
3.读取slot0, slot1,...的memory spd信息
slot0,slot1,...的SMBUS devceID是A0,A2,A4...
按这个流程读一个BYTE:
a. start
b. wait smbus ready
c. output Base+04, (DeviceID+1)
d. out Base+03, offset
e. out Base+02, 48H
f. wait 200ms
g. wait smbus ready
h. input base+05
i. OK
就得到了对应offset的一个byte.
-----------------------------------------------------
在intel ICH4上测试OK,但是在ICH7/ICH8/ICH9上。没有找到D31:F3,怎么办?
ICH8 datasheet也没有说这个,而且也没有ICH4 上的D31:F0 offset F2H 的FUNC_DIS的寄存器,怎么办怎么办,郁闷了好几天。。。
lfzxs
驱动牛犊
驱动牛犊
  • 注册日期2004-09-03
  • 最后登录2008-04-07
  • 粉丝1
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-01-23 09:56
痛苦,我连SMBUS baseaddress 都不知道怎么读
alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2008-01-26 14:38
用了一个月的时间搞的呀。呵呵。
我的博客:xpddk.bokee.com
sgxhope
驱动牛犊
驱动牛犊
  • 注册日期2008-09-12
  • 最后登录2009-03-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-09-12 16:36
intel芯片组可以读出来,但现在是nvidia nforce 560芯片组,又没有资料,不知哪位知道,帮帮忙
sgxhope
驱动牛犊
驱动牛犊
  • 注册日期2008-09-12
  • 最后登录2009-03-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2009-03-19 12:31
请问楼上的问题解决了吗?
游客

返回顶部