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

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

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?6 k0 c5 }3 O- c) O1 ~1 s& D8 I0 N/ ~6 [
我所知道的:6 G/ ^2 r& a9 d) _& [' C
(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;& O8 t! u4 V- ]1 Z
(2)BIOS通过SHM到SPI Flash上更新数据;" F* ]+ c7 W0 O$ c# r& @/ \5 t) c) u; |; {. v
(2)HOST通过PM1端口与EC交互键盘的标准命令;/ `' P) H5 I. a' L. K' H( F
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
" X9 c, x4 k( G& r0 ]
# Z) c% z0 `1 R+ i" }$ ^小弟出入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启动进度条。; _  A# j! b3 N) ^: b+ F- o
" D& P( q* _$ d6 @+ R7 `# h
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;" J, w: w9 F* C6 U
) B# T0 }8 F5 X( ^2 s4 g
还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

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

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.
2 o9 y: g* r" T* B2.调整一下SCI#信号的脉冲宽度试试看.6 F( _* x. r, p- ^; M3 u- X9 q
3.让EC架串口debug抛一些信息出来看看.
4 f3 Y4 Z/ g  r1 H, s5 t) E4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。$ t; T/ T8 a0 {9 P8 @: S0 K% i
或者将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,看起来时没有读到电池的状态所以一直在读。
& e$ Y$ `  ?( ^! V) u3 O2 J) fDevice(BAT0){
. s9 z6 i9 T& z, w% a; `        Method(_STA){  _0 \: ^6 Z- y
                Store(0x0F,Local0)        // Initial state = Absent( Q4 X6 p6 _0 S% R
                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?
5 ]& }+ t. j# ~: B                        Store(0x40,DBG8)$ D3 }' d- f, ]% x; l3 ]
                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000
  i" I! _, \( r+ x                                Store(0x41,DBG8). J3 G9 j* U1 O3 O( ]+ A- F) J
                                If(\_SB.PCI0.SBRG.H_EC.BPRS){) _! ^* [8 @" `
                                        Store(0x42,DBG8)
' a/ C8 O6 w* o& Y                                        Store(0x1f,Local0)        // Battery Present# }- Q( G* ^% T# b/ l- I( r
                                }  T, f; X7 j: ^4 H) N0 A$ u/ {
                                Store(0x43,DBG8)
- X$ c- C: r6 F  e# E. h& x7 E                                     Release(\MUTX)
/ b, v; {& p; v' k8 s                            }6 E3 k( m3 F8 J4 q: p
                  } // End of ECON' T! k# Q9 b; S( w
                Store(0x45,DBG8)
! b. u/ G1 x: C/ J2 g                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )  h. e; Z& G! }2 C( s+ O  s
        } // End of _STA
$ W) W% U9 V) I( B1 G7 v# C7 y}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  
% g5 M- N$ l! I" i! W% d系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时' {. i, y0 i% Q: z+ _
加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  
) Z* G: d6 X* l7 }. i) k' w2 C* z给你点灵感 呵呵
回复

使用道具 举报

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

望望

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-5 00:34 , Processed in 0.037272 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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