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

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

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?7 a3 Q% ^9 l; q5 C( Q# [4 X0 l  ?
我所知道的:$ a* k: `( F6 x6 B
(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;4 M, r9 C+ W/ V9 x! Q2 c- B
(2)BIOS通过SHM到SPI Flash上更新数据;
/ A, j* c5 o/ ?% i, k9 \- [(2)HOST通过PM1端口与EC交互键盘的标准命令;9 o+ A0 N& P6 }8 N- |0 y
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
' G6 y  H" j; T8 `* N" l
% E# E) ^# n; o: c# }  ?小弟出入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 K8 ^/ M, D( A- t6 T+ g2 x1 n# ^7 X+ J; E' x/ V
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;
% y. p; }: [; i$ v
4 Z% F0 r$ Y, I  K( H. [1 I& `还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

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

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.
# h- U7 T9 y: \: z9 E2.调整一下SCI#信号的脉冲宽度试试看., P& _1 G' {2 O+ N
3.让EC架串口debug抛一些信息出来看看.
9 f+ H4 i- e; O2 k4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。
- {5 B5 E, i: a+ t) Q$ @或者将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,看起来时没有读到电池的状态所以一直在读。3 Q& `: ]: b" j& k1 ~
Device(BAT0){
& U6 y" M1 S3 p        Method(_STA){: J+ f' b4 [5 g% \
                Store(0x0F,Local0)        // Initial state = Absent" U* C9 O) J% a
                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?
! n$ E, p& i" c1 X                        Store(0x40,DBG8)
. U4 K8 w, t8 s2 L' `                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000
! K2 q. |* F& ^8 k2 j" R5 f( |                                Store(0x41,DBG8)
7 ~! J0 `; @' G  s                                If(\_SB.PCI0.SBRG.H_EC.BPRS){3 j9 O1 N. J6 M, E4 x! s( E; k
                                        Store(0x42,DBG8)
: H( r# F" c9 X5 K% {5 p. a) K$ Q1 l                                        Store(0x1f,Local0)        // Battery Present! I' t% p7 A  a6 m$ j& p
                                }" A6 H9 p4 U2 N0 t6 N5 m' S* f
                                Store(0x43,DBG8)9 i( X0 x1 _1 E8 K3 c5 y$ y
                                     Release(\MUTX)
& @; E( ?9 ~! D                            }. \2 w( S3 k# @& p
                  } // End of ECON
1 A2 H) N2 l6 d( p) I/ Z4 a8 p                Store(0x45,DBG8)% Y& u; ]: C  t/ R
                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )) j% F: A' p! {; h
        } // End of _STA: U* n+ X- y+ W5 D! z) i
}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  
. [* q1 Y% \- S$ ?1 ]2 C系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时
- _) |  i4 y# `3 M; a* g, h加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  
; S! q: J4 P1 |给你点灵感 呵呵
回复

使用道具 举报

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

望望

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 05:42 , Processed in 0.028378 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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