注册
登录
南街家园
帮助
南街社区
»
数码世界
» BIOS刷新过程
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
BIOS刷新过程
漫步走
初级会员
恋人
寻觅中
帖子
254
注册时间
2007-6-22
个人空间
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2007-7-30 20:48
只看该作者
BIOS刷新过程
“BIOS刷新”并不陌生,因为通过“刷新BIOS”不但可以增加新功能,而且可以解决一些兼容上的问题。但是我们在刷新的过程中,有时会出现一些这样、那样的问题,而使刷新失败。那么是什么原因造成刷新失败呢?其实如果你了解一下BIOS的刷新过程,将解开这些疑问。 要将BIOS文件写入到BIOS芯片中,要涉及到:BIOS文件、BIOS芯片以及BIOS刷新程序。因此我们就从这三方面做一下详细介绍。(主要介绍BIOS芯片,因为了解了BIOS芯片,也就明白了刷新的过程)
BIOS从类型上可分为:AWARD BIOS、AMI BIOS、Phoenix BIOS。三种BIOS各有各的特点(我们这里不详细说明),但是无论是那一类型的BIOS,都是给系统硬件提供最低层、最直接的驱动。BIOS文件是一个压缩的二进制文件(以AWARD BIOS为例,AMIBIOS的原理与其是一致的,有些地方甚至完全一致。如其两种BIOS文件的BOOT块起始地址,1M文件都从1E000H处开始,2M文件从3E000H处开始)(图一),大体可分为三部分,一部分称为SYSTEM BIOS,是系统中最基本的部分,文件名一般为Original.tmp,所有的BIOS都有这一部分(图二),其中包含有基本的BIOS程序、提示信息及指令等;其实这一部分同时也是解压缩程序,在这以后的各模块主要是靠此部分来解压缩的;同时在其中定义了文件的寻址空间。我们用MODBIN程序打开一个BIOS文件时,其临时文件即为SYSTEM BIOS模块,大小为128K(平时,我们修改BIOS中的内容,主要是修改这部分)。第二部分为扩展BIOS程序,是各个厂商自己定制的不同于标准Award BIOS的功能,实际上几乎所有的厂商都会增加这一部分内容;然后是CPU微代码、ACPI等模块,我们可以在这其间加入其它模块(如捷波恢复精灵);第三部分为BOOT BLOCK块,这也是BIOS文件中唯一没有被压缩的模块,因其支持ISA显卡和软驱,因此当BIOS被破坏后,我们可以利用这一部分来启动机器并重新恢复。BIOS文件一般有1M(128KB*8)、2M(256KB*)、4M(512K*8)之分。1Mbit=8*128Kbyte(1Byte=8bit)
BIOS芯片,其实就是BIOS文件的载体。BIOS文件存储在芯片中,通过芯片的外部接口可对芯片中的程序进行擦除和读写。BIOS芯片我们可以理解为一个有多个单元的楼房(芯片的存储单元),每一个单元存储一个二进制代码(0或1)。二进制的BIOS文件,就是这样一一按顺序排列存储在芯片中的。BIOS芯片根据存储原理和工艺,可以分为EPROM、EEPROM、FLASHROM等。EPROM是非易失型存储器(图三)(图四),
具有掉电不丢失的特性;其存储单元由浮栅型场效应管构成,利用高压使浮栅带电实现对芯片的写入,擦除内部数据靠紫外线消除浮栅上的电荷,使其不带电。EPROM工作电压为5V,在写入时要用专用的编程器,并且写入时必须要加一定的编程电压(VPP=12-24V,随不同的芯片型号而定),EPROM的型号是以27开头(如ATMEL27C020)。
EEPROM是电擦除非易失型存储器(图五)(图六),其存储单元也是由浮栅型场效应管构成,写入时,利用高压下的隧道效应,令浮栅带电;擦除时,仍是利用高压下的隧道效应,不过电压极性相反,因此令浮栅不带电。EEPROM工作电压为5V,在写入时,需要加上一定的编程电压(VPP=12V),EERPROM的型号以28开头(如AM28F020)。
FLASH ROM也是电擦除非易失型存储器(快擦写存储芯片)(图七)(图八),其也是浮栅型场效应管构成,写入时,利用热电子注入,使浮栅带电;擦除时,则利用高压下的隧道效应,使浮栅失去电子。FLASH ROM的工作和刷新电压都是5V,其型号一般为29、39、49开头(如SST 39SF020)。目前主板上的BIOS芯片,基本上都属于FLASH ROM。 BIOS芯片有三种基本操作:读取、擦除、编程。要了解以上操作过程,首先了解一下芯片的结构。芯片(存储器)外部接口(引脚)可分为:数据线、地址线、控制线、电源线(图九)。地址线用来确定数据所在的地址,数据线用来输入和输出数据。控制线包括CE、OE、WE;CE是片选信号,当CE为低电平时,芯片被选中(也就是可以对芯片进行任何操作,对于多BIOS芯片串联使用时,可以用CE来选择要操作的芯片是那一片,如RD2000双BIOS系统即为用CE来切换两个BIOS芯片的,通常主板上为单BIOS芯片,因此CE始终为低电平,也就是一直为选中);OE是输出允许,也是低电平时有效,当OE为低电平时,允许数据输出,也就是可以读取芯片中的内容,当OE是高电平时,输出被禁止,无法读取内容;WE为编程允许,也是低电平有效,当WE为低电平时可以对芯片进行编程(写入),当WE为高电平时不能对芯片进行编程(我们可将此脚接为高电平,那么芯片就无法写入,无敌锁即是将此脚升为高电平,来保护芯片的)。对于EEPROM不需要擦除,可以直接进行编程操作,对于FLASH ROM,需要先擦除芯片内的内容,然后才可以写入新的内容。电原线包括VCC、VPP、PR.。VCC为5V工作电源,VPP为28系列写入时12V电源(29系列此脚为NC,即为空脚),PR则是28系列分块式BIOS,对BOOT BLOCK块进行编写的12V电源。芯片无论是读取、擦除还是编程,都需要各种信号按一定的时序、一定的电平相互配合才能完成,控制信号时序是由编程程序来完成的。完成这段时序的过程,也称为刷新流程(其也是一段程序码,由生产厂家提供,同型号的芯片,虽然生产厂家不同,但是其刷新流程是一致的);不同的芯片,其控制时序也是不同的,因此编程程序也会根据芯片的型号进行相应的控制。
不同芯片,其控制时序不同,编程程序会根据芯片的型号进行相应的控制,刷新程序是如何识别芯片的型号呢?其实,每一种芯片,都有自己的标识,这就是芯片ID(也称为芯片的身份证),由于不同的芯片,有不同的ID,因此刷新程序就是通过读取芯片的ID,来分辨不同的芯片,同时根据其芯片ID来调用不同的刷新流程代码(控制程序),来完成对芯片的编程的。
看到这里,我们已经大致明白了刷新是如何进行的。接着我们继续了解刷新程序是如何对芯片进行刷写的。当我们运行刷新程序时(以AWDFLASH为例),刷新程序启动后,直接检测BIOS ID(此为BIOS文件的ID);此时在程序顶端显示BIOS的ID以及BIOS日期,但芯片类型没有显示(由于此时刷新程序是调入内存中的BIOS映象,并没有对BIOS芯片进行操作)(图十);同时提示让你输入即将刷新的BIOS文件名(在这里强调一下,不少网友询问,下载的BIOS文件扩展名不是bin等规则扩展名,如123等。其实BIOS文件只是一个二进制文件,所以无论什么样的扩展名,只要按其文件的文件名和扩展名完整输入即可),当我们输入BIOS文件的路径及文件名回车后,此时刷新程序检测BIOS芯片的CE脚是否为低电平,如是低电平,则为芯片被选中,接着检测芯片的ID,然后根据BIOS ID在程序的上端(Flash Type)显示对应的BIOS芯片的型号(图十一),同时调用其对应的刷新流程代码(这时即可对BIOS芯片进行读写编程了)。如果刷新程序无法读取芯片的ID,由在(Flash Type)显示Unknown Flash,这时我们是无法对BIOS芯片进行读写编程的
(造成的原因可能是BIOS芯片已经损坏,同时如刷新程序无法调入相应的刷新流程代码,则系统会没有任何提示,而退出,这主要是由于刷新程序版本太高或太低的缘故,此时你可更换其它版本的刷新程序)(图十二)。如果正常系统将继续进行,提示是否保存原BIOS,如按保存,则系统根据上步检测到的BIOS ID,调入其对应芯片的刷新流程代码,检测OE脚是否为低电平,如是低电平,则处理器按芯片的刷新流程通过A0~A17地址线确定芯片存储单元的读出地址,然后再通过D0~D7数据线将指定地址的数据从芯片中读出(一次读取8位二进制代码),并按你输入的文件名,保存为文件。如果我们不保存文件,而直接选择写入,首先,系统要将我们即将写入的BIOS文件与内存中的映象文件进行ID对比(此为BIOS文件ID,这也是为什么我们用普通修改工具无法修改ID的原因),如不一致,则提示The Program Files Part Number doesn't match with your system(图十三),如出现这种提示,我们不应强制写入;如一致则处理器按芯片的刷新流程通过A0~A17地址线确定芯片存储单元的写入地址,然后再通过D0~D7数据线将更新的BIOS文件写入到芯片的存储单元中。正常写入后,系统将提示重启或回到操作系统,我们可以自己选择,至此刷新过程完成。 现在我们了解了BIOS芯片的刷新过程,以后在刷新过程中再有什么错误出现,我们就可以清楚知道问题及原因所在了吧!如您对BIOS刷新有不同的见解,请到笔者小居(www.biosrepair.com)与笔者一叙。
笔者注:虽然BIOS芯片的控制线CE、OE、WE有高低电平之分,但在正常情况下都是低电平,也就是可以随时对芯片进行编程操作。上面我们所说的,刷新程序编程时对芯片的控制脚进行检测,只是让大家明白刷新程序是依据芯片的刷新流程来进行读、写操作。这就是为什么CIH病毒可以对芯片中的内容进行破坏的原因。不过,我们可以人为的将WE脚拉到高电平,就是先切断31脚(WE)与主板的连接,然后和32脚(VCC)之间焊接一个1K的电阻,这样就将WE升为高电平,不能再对芯片写入。
pc-hospital.net/cgi?menu=show&id=200401171352&slttitle=20040117140308&see=0发表评论
UID
3468
帖子
254
精华
1
积分
51
威望
0 点
金钱
524 元
阅读权限
20
在线时间
5 小时
查看详细资料
TOP
跟帖是一种美德,回帖是一种尊重!!!
‹‹ 上一主题
|
下一主题 ››
南街—互动
绝对热点
南街杂院
真我风采
南街交友
南街—生活
商场特卖
花样年华
吃喝美食
亲子乐园
投资理财
数码世界
轻车熟路
生活健康
旅游户外
物尽其用
家有宠物
求职招聘
人在职场
房屋租售
南街—乐园
娱乐圈内
明星档案
音乐星空
心情随笔
星座运程
绝对恶搞
视频短片
摄影图贴
公告—内务
站务管理
社区公告
垃圾回收
控制面板首页
编辑个人资料
积分交易
积分记录
公众用户组
勋章
访问推广
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
Powered by
Discuz!
6.1.0
© 2005-2008
Cyndicn.Com
Processed in 0.062270 second(s), 6 queries.
当前时区 GMT+8, 现在时间是 2008-8-29 11:34
豫ICP备06013502号
清除 Cookies
-
联系我们
-
南街社区
-
Archiver
-
WAP
-
界面风格
南街网