查看: 12208|回复: 15

IBM的BIOS和Embedded Controller一些问题

[复制链接]

该用户从未签到

发表于 2007-3-19 23:21 | 显示全部楼层 |阅读模式
不管是刷BIOS还是Embedded Controller,均存在一定风险,请没有把握的勿随便刷


起因是我自己的X30前几天刷Embedded Controller,结果刷完重启发现电池一直认不出了
一直处于充电状态,主要原因是我的电池是OEM的,不是原装电池
结果找人借了原装的电池,把EDP(Embedded Controller Program)和BIOS都刷到最高
再重新插上我的OEM电池,就能用回了
在这也给要刷的本友一些有关IBM这两个东西的讨论


中文网站只有一些不新不久的版本,如果要下载所有版本可以到以下地址:
http://www-307.ibm.com/pc/suppor ... 0&validate=true

[ 本帖最后由 mingmingcaizi 于 2007-3-19 11:41 PM 编辑 ]

该用户从未签到

 楼主| 发表于 2007-3-19 23:23 | 显示全部楼层
大约是2001年以后的机型开始,除了BIOS之外,还有一个和BIOS密切相关的Embedded Controller Program,而且升级时通常要配套升级


Embedded Controller Program Update Utility是BIOS升级所必须的,可看作是BIOS的辅助控制升级程序,该程序主要作用是辅助将主BIOS文件写入BIOS芯片,有些BIOS的升级文件需要此控制程序的版本达到某个版本以上才能顺利升级。如果该控制程序版本不够高,可能会导致刷新BIOS失败。

说白一点,依我的理解,就是bios升级的一个辅助平台,bios就是通过平台写入的,打个太不恰当的类比,如果把bios的新旧版本看作fat,fat32,ntfs,winfs等不同格式的数据,那么想把某种bios格式数据写入硬盘就需要不同的windows系统平台的支持。而The Embedded Controller Program Update Utility就好比windows系列,假如你的版本过低,就好比你只有98的操作系统,自然读写ntfs格式的会出错,同样道理,低版本的embedded controller无法支持高版本的bios。所以新的bios需要新的Embedded Controller Program Update Utility。而同样道理,新的controller需要新的bios。

该用户从未签到

 楼主| 发表于 2007-3-19 23:25 | 显示全部楼层

基本概念

1、BIOS:
--英文Basic Input/output System的缩写,意思是“基本输入/输出系统”。
实际上它是被固化在计算机ROM(只读存储器)芯片上的一组程序(但大多数人把他当成了一块芯片或是CMOS),为计算机提供最低级的、最直接的硬件控制与支持。更形象地说,BIOS就是硬件与软件程序之间的一个"桥梁"或者说是接口(虽然它本身也只是一个程序) ,负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。负责在电脑开启时检测、初始化系统设备、装入操作系统并调度操作系统向硬件发出的指令。
PS:谈到BIOS,不能不先说说Firmeare(固件)和ROM(Read Only Memory,只读存储器)芯片。Firmeare是软件,但与普通的软件完全不同,它是固化在集成电路内部的程序代码,集成电路的功能就是由这些程序决定的。ROM是一种可在一次性写入Firmware(这就是“固化”过程)后,多次读取的集成电路块。由此可见,ROM仅仅只是Firmware的载体,而我们通常所说的BIOS正是固化了系统主板Firmware的ROM芯片。

2、Embedded Controller:
--即:嵌入式控制器,简称EC。
EC在笔记本电脑中有着相当重要的作用,用于控制主要I/O的周边设备,例如:键盘、鼠标、触控板等。EC中一般内建某种型号的微处理器(如8032),可以让笔记本完成各种复杂的ACPI电源管理(包括风扇控制管理)等等。EC除了本身硬件之外,还需要Firmeare(微代码),这个部分主要由EC厂商和和几大BIOS生产公司(如Phonix等)配合开发完成。
很多EC都采用了share memory的架构,也就是EC的代码和系统BIOS代码共同储存于同一个FlashRom内。
-也正是因为这一点,IBM的BIOS升级时,往往需要连同EC一块升级。

3、Embedded Controller Program
--我们就简称为ECP吧。知道了EC,ECP的意思就不难理解了。
通常,我们能看到IBM发布最新的BIOS后,同时还发布了相对应版本的Embedded Controller Program Update Utility,这也就是EC固件的升级工具(类似PC机上常用的Winflash等软件)。
而由厂家所提供的升级程序中,往往包含了对应版本的Embedded Controller Program,这也就是前面所说的--EC的固件(controller firmware)。

该用户从未签到

 楼主| 发表于 2007-3-19 23:28 | 显示全部楼层
BIOS(Basic Input/Output System,基本输入输出系统)在整个系统中的地位是非常重要的,它实现了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。
而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。如图是H8,记得在某型号的IBM里有应用。
1.JPG

该用户从未签到

 楼主| 发表于 2007-3-19 23:29 | 显示全部楼层
EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。
在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇等设备的控制,它甚至控制着系统的待机、休眠等状态。主流笔记本系统中,EC在系统架构中的地位如下图:

2.JPG

现在的EC有两种架构,上图左边是比较传统的,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。右边的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。
EC上一般都含有键盘控制器,所以也称KBC(Keyboard Controller)。
那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下,具体的过程在本文的最后会详细介绍。
在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开(这部分在最后详细介绍)。CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。
这里开始分两种情况,对于上图左边的结构:CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用。
对于上图右边的结构:在这地址南桥后,会直接通过LPC到BIOS,不需要EC的桥接。
这里需要说明的是,对于台式机而言,一般是不需要EC的。这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的冲放电等功能,而智能冲放电则需要EC的支持;另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。
总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。
看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。

[ 本帖最后由 mingmingcaizi 于 2007-3-19 11:30 PM 编辑 ]

该用户从未签到

 楼主| 发表于 2007-3-19 23:40 | 显示全部楼层
在网站上看Embedded Controller的说明
都要要求一定的BIOS版本,而BIOS升级也需要一定版本以上的ECP
那到底应该先升哪个?


一般的流程是:先升ECP,然后才升级BIOS
在上面的内容已经阐述了一部分

如果一些本友在刷的过程中出现死机,应该继续等待
ECP的升级时间为30秒,而BIOS的升级时间为1分钟

最重要的一点是:刷的过程中是要求电源和电池都是必须接上的,以防断电
而且电池必须为原装,要不然在刷完后,最常的情况就是笔记本不能认电池(我的情况)和不能开机

现在IBM的这两个东西的升级文件最新的都是硬盘版的,较老的一些版本还需要用软件来进行启动安装
如果本友在刷的过程中出现问题,可以参考一下几个方法:

1,如果是不认电池,借别人的原装电池来再升级,或者刷回原来的版本
2,老的版本很多都需要软件,准备好软件和老版本的文件,做成启动盘启动安装
3,如T43的BIOS如果刷坏了,只能拿去KF或者二手笔记本市场找人硬刷BIOS,收费50到100多不等


最后题型一句:刷机乐趣无穷,但是也存在风险,请小心谨慎。

该用户从未签到

发表于 2007-3-20 08:45 | 显示全部楼层
谢谢才子分享~


再次提醒:刷BIOS有风险。刷BIOS时电池一定要充满电。

该用户从未签到

 楼主| 发表于 2007-3-20 11:09 | 显示全部楼层
而且要原装电池!!哈哈

该用户从未签到

发表于 2007-3-30 00:26 | 显示全部楼层
比较全面~

该用户从未签到

发表于 2007-3-30 21:07 | 显示全部楼层
客服会帮你硬刷BIOS吗?需要拆下BIOS来刷吗?
如果不用拆下来,我考虑到客服刷一个带SLIC信息的BIOS,最多给他们一些费用

该用户从未签到

 楼主| 发表于 2007-3-31 03:43 | 显示全部楼层
原帖由 tellhow 于 2007-3-30 09:07 PM 发表
客服会帮你硬刷BIOS吗?需要拆下BIOS来刷吗?
如果不用拆下来,我考虑到客服刷一个带SLIC信息的BIOS,最多给他们一些费用


保修期内可以,不怕的可以自己刷

该用户从未签到

发表于 2007-4-2 13:32 | 显示全部楼层

该用户从未签到

发表于 2007-4-2 13:37 | 显示全部楼层
顶顶顶

该用户从未签到

发表于 2007-4-20 16:56 | 显示全部楼层

同感

上次刷一个T22的时候也出现这个问题,因为是买的二手机,所以不知道电池是不是原装的,刷完了发现电池灯老是黄色的,也没有电量提示了,后来借用别人的电池重新刷一次后正常了。

该用户从未签到

发表于 2010-12-7 09:43 | 显示全部楼层
楼主说的好,总结的也好,看了以后我就决定不刷了,呵呵,我的是X30二手,还不知道硬件是不是原装的,呵呵
  • TA的每日心情
    郁闷
    2016-12-25 09:18
  • 发表于 2010-12-16 10:11 | 显示全部楼层
    我是不刷的,即便是原装,刷的成功机率很高,但风险也不小;何况刷的目的是有更好的软,硬支持;而目前的版本也能支持日常应用,还是不刷了;

    17年8月精华宗师

    了解更多>>

    关注本友会

    • 本友会微信公众号
    • VR微信公众号
    • benyouhui2012
    • VR伐木累
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    意见反馈|Archiver|手机版|小黑屋|本友会 ( 北京市公安局海淀分局网监中心备案编号:11010802020118  

    GMT+8, 2018-10-19 21:11 , Processed in 0.075279 second(s), 14 queries , Memcache On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

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

    每月活动不重样
    请为我打call 关注试客公众号:it168sk