找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 13058|回复: 8

关于Clock gen的读取 (block mode)

[复制链接]
发表于 2009-12-17 10:19:21 | 显示全部楼层 |阅读模式
最近在练习用C编写在windows下读取smbus设备的程序。
( N% U1 W6 F3 O1 B4 T; `+ n: c看了下相关的资料,并且结合RW的帮助文档,发现读取Clock Generator要采用block mode(block read)方式。
8 Q+ E1 F0 }2 ]" n( l( p请教各位大牛,关于block read的大概步骤(我也找到了相关的步骤,但是对其中的某些步骤没有理解。)。
, J) Z; T5 G( @% p最好能给些例子。' u) X% R9 p  D
谢了。3 ]  U( d$ R+ \/ M
Platform:montevina
8 n: F: H5 e/ f1 Gchipset:PM45(ICH9M)
. q' W5 r) e+ c9 q1 I# G再次感谢。
发表于 2009-12-23 17:46:31 | 显示全部楼层
先说我不是大牛喔
; k" f& W0 L% R0 O! N& J3 H4 N2 Q: `6 F( z) O5 H, J1 C2 f
没错,读clockgen是用block r/w
* A7 p7 q& c4 H4 @% e) ?; n7 x0 P& f( l
流程和byte,word r/w类似
- j$ l3 Q, _; \. S$ Y; N2 z* \4 q8 i3 W7 ^+ g: Z2 M
1) check  host_status reg(smbusbase+0x0)的busy bit(bit0)=0,否则clear status(写0xfe进去)
$ ?% s; G5 r4 s4 _/ Y2)按部就班,写clkgen的slave address和protocol和cmd到相应的寄存器并且开始读写(smbusbase+0x2 bit6)
. s! Q: G) r( v3)等待smbusbase+0x0 bit7,bit2=1并且check smbase+0x0 bit4位看有没有错误(=0就OK)
0 S% b! `5 D8 s. R4)在host data0 reg可以拿到block count,然后依次在smbase+0x07就可以拿到clkgen data啦0 ~* ^* z6 o) M
! T/ t4 ~  ^& Z% ^
写也类似8 ]0 n& w8 ?2 X) H+ @  f5 I2 V# z

4 }) f" N6 D% I  T3 q8 r小弟这里也写了一个类似的工具hwiotest hwiotest.rar (566.7 KB, 下载次数: 658)
回复

使用道具 举报

发表于 2009-12-26 10:01:15 | 显示全部楼层
二楼的大牛,佩服了,做的工具不错!
: V$ @7 |/ @; m" ~9 m2 d& E7 G不过不知道为啥,经常会死掉,是不是我不会使用啊
6 d0 C. h9 p. f1 \" r( G) Z" |( Q另外能不能把代码跟我们分享一下,供小弟们学习学习!
回复

使用道具 举报

发表于 2009-12-26 11:36:04 | 显示全部楼层
俺也搞了个比较实用的tool。功能还算齐全。

HardwareEditorv0.27.rar

539.6 KB, 下载次数: 591

回复

使用道具 举报

 楼主| 发表于 2009-12-28 11:34:26 | 显示全部楼层
非常感谢各位的帮助。你们的工具也都相当强大,向你们学习。; v! T2 i; {: f
这个问题我已经搞定了。我找到了BWG里的详细步骤,调用WinIo的函数,严格遵守步骤,结果就读出来了。
回复

使用道具 举报

发表于 2009-12-28 19:03:59 | 显示全部楼层
有沒有FOR DOS版本及范例,謝謝。
回复

使用道具 举报

 楼主| 发表于 2009-12-29 22:47:05 | 显示全部楼层

回复 4# Faintsnow 的帖子

这个工具很不错,我最近在练习在Win环境下读取各种HW,不知道能否发扬一下Open Source精神
% b' S" @9 _5 c1 c1 G) r7 r* v或者发到我的邮箱:lscumt@163.com,谢了
回复

使用道具 举报

发表于 2010-1-24 22:03:08 | 显示全部楼层
共享方法,学习# `+ U0 g1 J2 n, y! p0 i9 o
. k& S+ D  e/ }7 V2 n! e  Q
读写clockgen基本都是用i/o的方法,但是要对不同的chipset写不同的控制流程,应该还有更好的一劳永逸的方法- q3 p8 |3 _: c7 O3 s, h

0 ?* P- G1 Q% q: m# k" P1 c0 x* C9 N! m. T4 O: `
另外求realtek瑞昱的clockgen的datasheet(小弟不在bios行业,realtek clockgen数据表又不能公开下载).
, H  E. z+ k) ?0 g# s! R
0 e( E0 G7 D! `4 x如果哪位大哥好心能提供的话,请把datasheet email到chengjunlinfifa@gmail.com,感谢~
回复

使用道具 举报

发表于 2010-12-20 00:21:31 | 显示全部楼层

共享资源,是我们中华民族传统美德!

共享资源,是我们中华民族传统美德!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-3-5 00:13 , Processed in 0.028129 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表