jackey_gu 发表于 2008-7-14 10:40:11

如何读写特定REG

比如,我想设RTC_EN =1
以ICH8为例,该如何操作?

xtdumpling 发表于 2008-7-14 14:04:31

不是很明白你想问什么??

ICH8,RTC_EN是PM_Base+2的bit 10
假设PM_Base在IO space,用汇编可以这么写:
mov dx,PM_Base+2
in ax,dx
jmp $+2
or ax, 400h
out dx,ax
jmp $+2

jackey_gu 发表于 2008-7-14 14:23:08

不好意思,是我说的不清楚, 我的本意是想通过 code,去打开或关闭bios的 RTC项,即打开或关闭定时开机功能

harisan3 发表于 2008-7-15 08:59:58

In DOS mode ,你可以打开或关闭bios的 RTC项,即打开或关闭定时开机功能 (CMOS+PM Reg)
In windows mode , call API

harisan3 发表于 2008-7-15 09:01:27

http://biosengineer.blogspot.com/2008/04/s3s4.html

jackey_gu 发表于 2008-7-15 13:50:34

参照ICH8, 写出一些code,由于本人电脑的南桥是ICH4,不知道是否是这个原因,最后还是达不到定时开机的功能,在DOS MODE运行后在BIOS中的看不到RTC有被ENABLE的情况
有条件的朋友是否能帮忙试试(pm我)

ICH4的datasheet太旧找不到,也不想去看了,所以已经去找ICH8的板子了,如果成功了,我会来这更新帖子

最后,谢谢xtdumpling 的指点

[ 本帖最后由 jackey_gu 于 2008-7-15 14:37 编辑 ]

jackey_gu 发表于 2008-7-16 15:26:29

1.set RTC EN
2.set RTC Alarm Time
3.Soft off (参考ich8)

以上做到就可达到 定时开机的效果(主板要支持RTC)

zclsucc 发表于 2008-7-21 09:13:12

先要取相应的 pci 设备,都是通过CF8 ,cfc 来操作!

jackey_gu 发表于 2008-7-21 10:32:52

Intel CHIP上面已经搞定了,在SIS CHIP上遇到了点问题,

APCRAM_EN(Bus0:Device2:Function0:Reg48h) must be set to one
and EXTEND_EN must be set to zero.

设定后,还是无法访问APC,访问的还是 Internal RTC

depp 发表于 2009-8-17 18:31:13

请教一下, 在 windows 下如何去置位 RTC_EN ?
我用 SE 或者 RW 去手动填的时候,RTC_EN 会自动清零... 不晓得这是为什么?
页: [1]
查看完整版本: 如何读写特定REG