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

关于Clock gen的读取 (block mode)

[复制链接]
发表于 2009-12-17 10:19:21 | 显示全部楼层 |阅读模式
最近在练习用C编写在windows下读取smbus设备的程序。& [0 b- ?, I, n& V7 F) s% t" x
看了下相关的资料,并且结合RW的帮助文档,发现读取Clock Generator要采用block mode(block read)方式。
' s- l8 N- u0 ]  t) x* N请教各位大牛,关于block read的大概步骤(我也找到了相关的步骤,但是对其中的某些步骤没有理解。)。* r6 a6 U& ^0 r. c* F! v5 p
最好能给些例子。3 d$ q! O8 d  s' |) n
谢了。& E. x$ X- c" k$ ?- s8 l
Platform:montevina
+ Z) p) L5 `+ e( Pchipset:PM45(ICH9M)
5 r3 R$ m1 B$ K再次感谢。
发表于 2009-12-23 17:46:31 | 显示全部楼层
先说我不是大牛喔
& a' M; L8 Y$ O' a( h4 m
" K" ^1 T6 J: ?3 F+ [5 o0 }# F' k没错,读clockgen是用block r/w+ |( J+ R0 a9 ]0 v# B% R5 P6 @

$ o; _* n4 e0 D2 a' F" H/ K0 [( z流程和byte,word r/w类似# S4 _9 c( m' z7 `: n+ `% M
7 P+ s) O; U/ |/ x1 j, W6 r5 a0 x
1) check  host_status reg(smbusbase+0x0)的busy bit(bit0)=0,否则clear status(写0xfe进去)
0 \+ r( p; k; r1 I! S2)按部就班,写clkgen的slave address和protocol和cmd到相应的寄存器并且开始读写(smbusbase+0x2 bit6)- D" M3 W) U) d. N2 R3 E7 q5 R
3)等待smbusbase+0x0 bit7,bit2=1并且check smbase+0x0 bit4位看有没有错误(=0就OK)
* j2 u; i# @# d; f( [9 O( j4)在host data0 reg可以拿到block count,然后依次在smbase+0x07就可以拿到clkgen data啦4 E8 ^7 p9 X9 t: }/ ]7 _4 [7 z8 R
: z; H# b  ^6 i; V" I
写也类似1 S; |9 t0 L$ @+ x0 Q

4 x- a4 r# E5 d! \  z% d/ _/ T小弟这里也写了一个类似的工具hwiotest hwiotest.rar (566.7 KB, 下载次数: 1346)
回复

使用道具 举报

发表于 2009-12-26 10:01:15 | 显示全部楼层
二楼的大牛,佩服了,做的工具不错!
# k5 v8 L1 Y% f不过不知道为啥,经常会死掉,是不是我不会使用啊4 b6 S# ^& y, u3 h" s" k5 M/ n6 J) U
另外能不能把代码跟我们分享一下,供小弟们学习学习!
回复

使用道具 举报

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

HardwareEditorv0.27.rar

539.6 KB, 下载次数: 1289

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

回复 4# Faintsnow 的帖子

这个工具很不错,我最近在练习在Win环境下读取各种HW,不知道能否发扬一下Open Source精神 " j0 J1 Z3 r" X( Q2 L
或者发到我的邮箱:lscumt@163.com,谢了
回复

使用道具 举报

发表于 2010-1-24 22:03:08 | 显示全部楼层
共享方法,学习" |7 n% p. W; B; [7 q- T6 C
' z$ @9 X2 a" s. ]
读写clockgen基本都是用i/o的方法,但是要对不同的chipset写不同的控制流程,应该还有更好的一劳永逸的方法; K' k& |9 ~7 K0 `7 o; l8 {/ Y$ Q1 K, @
3 U2 k; {3 d6 t/ o
- ]& q, _' {$ N/ h3 B5 T
另外求realtek瑞昱的clockgen的datasheet(小弟不在bios行业,realtek clockgen数据表又不能公开下载).
$ l! \" H0 M; A, i- x  z# G; ], s3 Q- Y
如果哪位大哥好心能提供的话,请把datasheet email到chengjunlinfifa@gmail.com,感谢~
回复

使用道具 举报

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-1 17:37 , Processed in 0.251212 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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