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

EC与BIOS启动XP时候之间的关系

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?
3 U! D* E7 B) k2 |7 `  d& w我所知道的:/ Z8 L1 |6 B) i! F! L* o: r. I
(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;9 l3 }6 h- a# ?
(2)BIOS通过SHM到SPI Flash上更新数据;
1 P  z' U1 |7 {" n) ~& C(2)HOST通过PM1端口与EC交互键盘的标准命令;* [, Q/ `; U4 \6 }" Q4 _
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
; ^6 b, k; a: T4 \; x. J6 v, r9 h/ H" {% g  U2 ~- ^: X6 z
小弟出入EC & BIOS领域,请各位老大指教!
发表于 2010-1-13 00:55:32 | 显示全部楼层
进windows时,windows会打开ACPI Mode.EC的一些SMI的功能,会转为SCI来做.见ACPI SPEC中的图.
回复

使用道具 举报

发表于 2010-1-26 22:29:40 | 显示全部楼层
目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。8 p7 t, A8 r5 t+ F2 m3 K

! e4 J0 ]3 G1 A+ h; j# i- }这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;4 v. d& E2 z, O

" r9 S/ Q, Q7 A& o; K: @0 f. n还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

发表于 2010-1-27 10:12:39 | 显示全部楼层

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题." G3 y" x6 f  g6 y/ U6 l4 V# X" E
2.调整一下SCI#信号的脉冲宽度试试看.- H% N: I3 q' K# k9 G4 ~2 _) {
3.让EC架串口debug抛一些信息出来看看.7 v3 A3 L/ \6 V8 _' E
4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。1 ?1 O0 x& V$ y% K% Z, ~+ e! \. m
或者将ec 相关的asl直接拿掉试试看。
回复

使用道具 举报

发表于 2010-1-27 11:40:14 | 显示全部楼层

我碰到同样的问题

我在滚动条的时候会停很久,在OS底下能发出SCI(ASL Q Event丢80口验证)。在滚动条的时候用示波器量ECSCI不停的被拉低。Debug Code 40-》45-》41-》40-》45-》41-》45-》进OS,看起来时没有读到电池的状态所以一直在读。
* B7 E% E# ~6 C1 S; k: hDevice(BAT0){; B& W# {1 W* y4 m! K* V
        Method(_STA){
, _' \. D# a! W7 ?8 {, |                Store(0x0F,Local0)        // Initial state = Absent* a, e% @0 {4 }- Q! l8 D, T
                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?  V% ?" |- Z% G% r9 K: |2 V5 J
                        Store(0x40,DBG8)
7 x, C; D# y. I, N6 a6 I                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000
' `- ^0 W2 C! u2 b1 ^( N1 Q( y                                Store(0x41,DBG8)
3 n* j! q0 A8 |+ v% i4 h' M                                If(\_SB.PCI0.SBRG.H_EC.BPRS){; B% _2 m& V0 _2 F+ F
                                        Store(0x42,DBG8)( t0 `; s$ J( M6 L
                                        Store(0x1f,Local0)        // Battery Present
: r3 W# P; N1 y' l                                }7 S3 m/ F9 S: E  {& k$ [
                                Store(0x43,DBG8)3 \8 h0 g* r' B8 D# @9 y2 Q
                                     Release(\MUTX)
7 H- |& R7 f1 e. Y% X                            }5 F2 i6 L+ u! i/ ^* Y+ T
                  } // End of ECON9 ~$ e8 R" ?* ?
                Store(0x45,DBG8)
  A7 i' x1 D. K                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
  Q9 \0 ~& S* B+ A# q& w        } // End of _STA
8 x! Z# Z9 M1 _}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  
: z* J. b: a4 f3 A% v系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时
: K0 l. _% ^8 q* w, T加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  . N6 h9 J; D9 l6 |7 l! ^
给你点灵感 呵呵
回复

使用道具 举报

发表于 2010-12-5 18:57:12 | 显示全部楼层

望望

望望,打酱油!这个论坛人怎么这么少啊!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-13 07:00 , Processed in 0.035368 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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