赞助论坛
  • 7299阅读
  • 0回复

强力推荐:BIOS刷新教程 [图解] [复制链接]

楼层直达
admin  

级别: Admin
发帖
4665
精华
9
金币
1066
威望
33
贡献
187
好评
97
注册
2008-01-05
楼主    admin 发表于: 2008-05-29 19:29:26 
昨天有朋友分享了一般的教程,我今天帖一份图解的给大家!
“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等模块,我们可以在这其间加入其它模块(如[url=http://detail.zol.com.cn/motherboard_index/subcate5_273_list_1.html]捷波[/url]恢复精灵);第三部分为BOOT BLOCK块,这也是BIOS文件中唯一没有被压缩的模块,因其支持ISA[url=http://detail.zol.com.cn/vga_index/subcate6_list_1.html]显卡[/url]和软驱,因此当BIOS被破坏后,我们可以利用这一部分来启动机器并重新恢复。BIOS文件一般有1M(128KB*8)、2M(256KB*)、4M(512K*8)之分。1Mbit=8*128Kbyte(1Byte=8bit)
[img]http://www.pc-hospital.net/image1/bios1.jpg[/img]
[img]http://www.pc-hospital.net/image1/bios2.jpg[/img]
  BIOS芯片,其实就是BIOS文件的载体。BIOS文件存储在芯片中,通过芯片的外部接口可对芯片中的程序进行擦除和读写。BIOS芯片我们可以理解为一个有多个单元的楼房(芯片的存储单元),每一个单元存储一个二进制代码(0或1)。二进制的BIOS文件,就是这样一一按顺序排列存储在芯片中的。BIOS芯片根据存储原理和工艺,可以分为EPROM、EEPROM、FLASHROM等。EPROM是非易失型存储器(图三)(图四),
[img]http://www.pc-hospital.net/image1/bios3.gif[/img]
[img]http://www.pc-hospital.net/image1/bios4.gif[/img]
  具有掉电不丢失的特性;其存储单元由浮栅型场效应管构成,利用高压使浮栅带电实现对芯片的写入,擦除内部数据靠紫外线消除浮栅上的电荷,使其不带电。EPROM工作电压为5V,在写入时要用专用的编程器,并且写入时必须要加一定的编程电压(VPP=12-24V,随不同的芯片型号而定),EPROM的型号是以27开头(如ATMEL27C020)。
  EEPROM是电擦除非易失型存储器(图五)(图六),其存储单元也是由浮栅型场效应管构成,写入时,利用高压下的隧道效应,令浮栅带电;擦除时,仍是利用高压下的隧道效应,不过电压极性相反,因此令浮栅不带电。EEPROM工作电压为5V,在写入时,需要加上一定的编程电压(VPP=12V),EERPROM的型号以28开头(如AM28F020)。
[img]http://www.pc-hospital.net/image1/bios5.gif[/img]
[img]http://www.pc-hospital.net/image1/bios6.gif[/img]
  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电源。芯片无论是读取、擦除还是编程,都需要各种信号按一定的时序、一定的电平相互配合才能完成,控制信号时序是由编程程序来完成的。完成这段时序的过程,也称为刷新流程(其也是一段程序码,由生产厂家提供,同型号的芯片,虽然生产厂家不同,但是其刷新流程是一致的);不同的芯片,其控制时序也是不同的,因此编程程序也会根据芯片的型号进行相应的控制。
[img]http://www.pc-hospital.net/image1/bios7.gif[/img]
  不同芯片,其控制时序不同,编程程序会根据芯片的型号进行相应的控制,刷新程序是如何识别芯片的型号呢?其实,每一种芯片,都有自己的标识,这就是芯片ID(也称为芯片的身份证),由于不同的芯片,有不同的ID,因此刷新程序就是通过读取芯片的ID,来分辨不同的芯片,同时根据其芯片ID来调用不同的刷新流程代码(控制程序),来完成对芯片的编程的。
[img]http://www.pc-hospital.net/image1/bios8.gif[/img]