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

关于Clock gen的读取 (block mode)

[复制链接]
发表于 2009-12-17 10:19:21 | 显示全部楼层 |阅读模式
最近在练习用C编写在windows下读取smbus设备的程序。% @# U8 U  E$ i' D- P' U
看了下相关的资料,并且结合RW的帮助文档,发现读取Clock Generator要采用block mode(block read)方式。- P8 D) n* Y3 I) `7 S( Y
请教各位大牛,关于block read的大概步骤(我也找到了相关的步骤,但是对其中的某些步骤没有理解。)。0 J, L9 \* m9 D. |
最好能给些例子。
  w7 [) n+ u0 N9 t% p谢了。
- Q; g6 l, {; F9 U! A/ M! LPlatform:montevina' S5 P9 M+ d1 Y3 d8 Q  b" e3 m8 H5 Q
chipset:PM45(ICH9M). v  v2 U% n  d- F8 `8 [, `
再次感谢。
发表于 2009-12-23 17:46:31 | 显示全部楼层
先说我不是大牛喔; ^3 O, ^9 h' E5 ?% x; r
4 m' F! C) n# K+ n3 S: U& h* \. ^6 p
没错,读clockgen是用block r/w2 G/ }7 V: J' z  u9 X2 |; u1 t6 b; m
2 i3 I; |' j! X9 s7 W/ `9 ^7 a
流程和byte,word r/w类似' Z$ H0 w8 e: ]# ?, i
. h2 a' `* W0 G
1) check  host_status reg(smbusbase+0x0)的busy bit(bit0)=0,否则clear status(写0xfe进去)
) ?8 O4 s( c- d. }0 n3 M. K2)按部就班,写clkgen的slave address和protocol和cmd到相应的寄存器并且开始读写(smbusbase+0x2 bit6)
/ X" R; g5 Z/ U9 a7 e0 m3)等待smbusbase+0x0 bit7,bit2=1并且check smbase+0x0 bit4位看有没有错误(=0就OK)
! v  J& S. A8 Z) y  c4)在host data0 reg可以拿到block count,然后依次在smbase+0x07就可以拿到clkgen data啦
% I8 D' P: Q% y# [% w' ?4 {) a1 ]7 q+ f$ i8 s1 x$ w, H3 o2 u' T
写也类似7 L+ i; j7 _4 j9 s9 s: [4 M7 w

+ Y. A4 {+ k; ~% C小弟这里也写了一个类似的工具hwiotest hwiotest.rar (566.7 KB, 下载次数: 1323)
回复

使用道具 举报

发表于 2009-12-26 10:01:15 | 显示全部楼层
二楼的大牛,佩服了,做的工具不错!
! R  W6 b( e* O/ M* ^1 V不过不知道为啥,经常会死掉,是不是我不会使用啊
( f: Q" Z! }2 i( g+ l另外能不能把代码跟我们分享一下,供小弟们学习学习!
回复

使用道具 举报

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

HardwareEditorv0.27.rar

539.6 KB, 下载次数: 1261

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

回复 4# Faintsnow 的帖子

这个工具很不错,我最近在练习在Win环境下读取各种HW,不知道能否发扬一下Open Source精神 - l0 t, Z& F7 p5 |8 H5 U
或者发到我的邮箱:lscumt@163.com,谢了
回复

使用道具 举报

发表于 2010-1-24 22:03:08 | 显示全部楼层
共享方法,学习. l& G8 Z' W- _: f
4 x) V/ z: x: q
读写clockgen基本都是用i/o的方法,但是要对不同的chipset写不同的控制流程,应该还有更好的一劳永逸的方法1 ?5 f' f% |  F0 }3 `; b2 W# n

+ ~4 H5 W, M  @) m' U" Y% R- g/ E/ h0 b
1 ^: S2 O( d1 y, s3 u4 h1 r另外求realtek瑞昱的clockgen的datasheet(小弟不在bios行业,realtek clockgen数据表又不能公开下载).
& r( t4 v' ~: Z: S- R9 Q! K1 O' z2 g9 V: ]5 t# b
如果哪位大哥好心能提供的话,请把datasheet email到chengjunlinfifa@gmail.com,感谢~
回复

使用道具 举报

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 14:39 , Processed in 0.241631 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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