2024年1月14日发(作者:)

一、故障诊断卡概述

电脑主板故障诊断卡,习惯称之为Debug卡。顾名思义,它其实一块可以用于电脑主板故障诊断的板卡。同电脑主板所有内、外接口设备一样,诊断卡在使用的时候,也是需要依附于主板上的某些功能端口的。笔记本电脑常见的诊断卡接口有:并口、内置mini PCI、内置mini PCIE 等接口。每一种接口类型,对应着一种样式的诊断卡。也有些电脑主板上,会专门预留有专用诊断接口,用于主板故障诊断、维修时候使用。下面,我们就目前笔记本电脑常见的三种接口诊断卡为各位简要介绍一下。

(一)并行口接口诊断卡

如图1所示,为并行口接口类型的诊断卡。显然,它只能用于配置并口端口的主板上,早期的一些机型,如Intel 855芯片组之前(含)的主板,通常会带有并口,它们就可以方便的使用了。此外,我们还注意到,此诊断卡并没有专门的8段LED显示管,而是通过8个简单的LED灯组成的两个4位二进制的状态指示灯。学习数字电子线路的朋友知道,它同样可以显示“00~FF”十六进制数范围之内的数字代码含义。

图1

(二) mini PCI接口诊断卡

下图,我们看到的就是典型的笔记本电脑主板内置mini PCI接口的诊断卡,它构成了诊断的所有要素,即相应的设备接口、两个8段LED发光管及引出发光管的排线。在这里,两个8段LED发光可以很直观的显示“00~FF”之间的16进制数了。此处的排线,是为了引出发光二极管,主要为了我们读取错误代码时的方便,也有将发光二极管直接焊接在板卡上的。我们知道,从Intel 915芯片组平台的主板之前(含),笔记本电脑主板几乎都包含一个mini PCI接口。因此,我们可以很方便的使用该接口的诊断卡。

图2

(三)mini PCIE接口诊断卡

相对于上面的mini PCI界面的诊断卡,mini PCIE (实际为侦测mini PCIE接口上的LPC总线信号)诊断卡最大的不同点,就是接口界面的不同。因为,我们知道,自Intel 945芯片组推出之后,mini PCI接口几乎在笔记本电脑主板上绝迹了,取而代之的就是mini PCIE接口了。为了电脑主机、主板故障诊断的需要,相应的mini PCIE 诊断卡也应运而生。mini

PCIE卡看起来体积小、更为简洁,使用起来也很方便,目前市场上还不多见。

图3

二、诊断卡基本原理

在向大家介绍了完了笔记本电脑故障诊断中常用到几种类型的诊断卡后,我们再来稍微学习一下诊断卡的基本原理。它的工作原理其实很简单,因为我们知道,无论哪个品牌的笔记本电脑主板,归集起来,其采用的BIOS软件的厂家无非就Phoenix、AMI和Insyde等几家老牌BIOS厂商的。每家BIOS厂商,都有自己所谓的Post Code,即上电自检代码,当BIOS要进行某项测试和动作时,首先会将该Post Code写入一个固定的地址。如果测试顺利完成,则会再写入下一个Post Code信息。因此,如果此时的电脑系统发生错误或死机,根据该地址内的Post Code值,就可以了解主机系统大致出现了什么问题。而我们所说的诊断卡的任务,就是通过电脑主板上的相应总线,读取代码地址内的Post Code,并经过译码器译码,最后由数码管显示出来。这样,我们就可以通过诊断卡上显示的两位16进制错误代码,判断问题出在硬件的哪一部分,而不用仅依靠计算机主板那几声单调的警告声来粗略判断硬件错误了。而且实际上,现有的很多笔记本电脑主板,已经取消了相应的错误报警声了。如果一个电脑主机系统,在加电POST后,能够正常通过所有Post Code自检,显示在诊断卡上数字应该是不断跳变的,直至系统POST完毕。而如果此时,主板系统某一功能模块出现了问题的话,诊断卡的Post Code就会停滞下来,显示的当前的Post Code,往往正是我们要分析的问题所在。相应的BIOS软件厂商,都会提供这样的一个Post Code对应的硬件列表,可以方便的通过列表查出电脑主机系统大概哪个功能模块出现了问题,如CPU、内存功能模块的故障等等。

在掌握了诊断卡工作的原理和它能够在电脑主机POST过程中,可能起到的诊断作用后,有兴趣的朋友,已经开始跃跃欲试了。是不是电脑发生任何故障,诊断卡都能派上用场呢?答案当然是否定的。不难理解,既然诊断卡是靠在电脑主机上电自检时,搜集Post Code来完成工作的。所以,如果一个电脑主机,根本不能加电的情况下,诊断卡插在主板上,是没有任何诊断意义的,相信连诊断卡的显示管也不会亮。

接下来,我们将以笔记本电脑显示屏上是否有显示为界限。又可以分成两大类故障:一

类故障称为“关键性故障”。即电脑主机在开机时,都要进行所谓的POST上电自检的过程,在主板BIOS的引导下,严格检测系统的各个功能组件。如果此时计算机存在硬件故障,一般情况下会在此时反映出来。通常来讲,笔记本电脑的POST过程大致为:加电→CPU→ROM

BIOS→ System CLOCK→DMA→64Kb RAM →IRQ →Display Card等大的步骤,检测显卡以前的过程,称为关键性部件测试,任何关键性部件有问题,计算机都将处于挂起状态,只能按复位键或重新开机,这一类故障就就是我们所说的“关键性故障”,习惯上又将这些故障称之为“核心故障”。产生核心故障的功能部件主要有:主板、CPU、显卡、内存等。我们知道,针对一个笔记本电脑系统,只要在满足主板(含显卡)、CPU、内存三个功能部件都良好的情况下,就能够正常加电、显示了。

另一类故障,称为“非关键性故障”。即在系统BIOS检测完显卡后,计算机将对其余的,如I/O功能端口、软硬盘驱动器、键盘、即插即用设备、CMOS设置,内存容量等进行检测,并在显示屏上显示各种信息和出错报告。在这期间检测到的故障,就是“非关键性故障”。此时如果有不正常的设备,就会在相应的检测部位停下来,并报告错误信息,提示用户选择是继续进行还是重新启动计算机。如果一切正常,计算机将设备清单在屏幕上显示出来,并按CMOS中设定的系统启动驱动器,装载引导程序启动到相应的设备系统中。

三、典型诊断卡的使用方法

在了解了诊断卡的一些基本原理和其在电脑故障诊断中的职能后,再来实际应用它,其实并不是一件难事了。总的来说,在诊断卡面前,电脑主板的上电自检过程中的故障都会暴露无遗。可以说,有了诊断卡,维修电脑主板故障不再愁,真正做到,一卡在手,查障无忧。当然,前面也提到,诊断卡也不是万能的,它只是检查电脑主板某一阶段故障的一个工具,专业电脑故障诊断、维修中,更多的是靠技能和经验。关于诊断卡在笔记本电脑主板故障中的使用方法,可以采用一个简易的操作流程图向各位阐述。注意,我们这里事先假设主板测试中使用到的CPU、内存等测试工具都是OK的。请参考如下流程示意图:

图4

四、配发mini PCIE诊断卡介绍

(一)基本介绍

下图所示是联想为渠道服务工程师配发的标准mini PCIE故障诊断卡,该卡采用了世界一流的FPGA、CPLD和ASIC芯片半导体生产商ALTERA公司提供的控制芯片解决方案,采用四层PCB板设计,二位8段数码显示。

图5

与普通的mini PCIE诊断卡相比,该诊断卡增加了复位(RST)和时钟(CLK)信号指示灯。当主板有RST复位信号时,RST指示灯长亮;当主板有CLK时钟信号时,CLK指示灯长亮。如果有其中之一指示灯无法正常指示,则说明该故障复位或时钟线路出了问题。

复位指示 时钟指示

图6

(二)外观结构

图7

(三)工作原理

同典型mini PCIE接口的故障诊断一样,该诊断卡可以用在笔记本电脑主板内置的mini

PCIE接口上。在了解其基本原理之前,我们先来了解一下典型笔记本电脑主板内置mini PCIE接口的线路原理图:

PCIE总线

USB总线

SM总线

LPC总线

图8

通过上面的线路原理图,我们可以清楚的看到。典型的mini PCIE接口线路除了包含了必要的PCIE总线的PCIE_TX/PCIE_RX/PCIE_CLK基本的信号,还包含了USB2.0总线、SM总线及LPC(LOW PIN COUNT)总线信号。但是,后面的几组信号线对普通的mini PCIE接口设备来说,不是必需的。如内置mini PCIE接口的无线网卡,只用到PCIE总线信号。

特别需要说明的是,我们的mini PCIE故障诊断卡实际采用的是LPC信号总线来抓主板的POST不良代码的。这就意味着,mini PCIE诊断卡,更确切的来说,应该是LPC总线诊断卡。

接上图,该诊断卡所需要的LPC总线所包含的信号名称有:

LAD0、LAD1、LAD2、LAD3、LFRAME#、PLTRST#、PCLK_LPC_DEBUG以及+3VRUN、GND电源共计9个引脚。稍作一下变通,只要该诊断卡能够正确接收主板以上9针信号,它就能够正常的跑码了。

下图所示,是直接通过联想天逸F40主板上预留的LPC信号引脚,同诊断卡相应的信号进行焊接,同样实现诊断卡跑码的图示信息:

图9

到此,我们可以针对现有mini PCIE故障诊断卡,做以下几点总结:

(1)mini PCIE接口诊断卡实际采用的是LPC总线信号,而不是PCIE总线信号;

(2)因为LPC总线信号不是mini PCIE接口所必需的,部分主板生产商并没有将主板系统LPC总线引到mini PCIE接口上;

(3)对于没有将LPC总线引到mini PCIE接口的主板,如果直接将诊断插在接口上,一定无法正常使用!解决问题的办法,就是需要找到主板LPC总线,通过人工焊接的方式,将其引到诊断卡的相应引脚,同样实现诊断卡跑码的功能。注意:此操作涉及到焊接等动作,不推荐联想服务站工程师采用!

(四)诊断卡适用机型

目前联想的笔记本电脑机型在Intel 945芯片组平台后(含)的主板,普遍配置有内置的mini PCIE接口。但是,通过前面的信息,我们知道,并不是所有的电脑主板mini PCIE接口都包含LPC总线的,这就意味着部分机型可能无法直接使用该故障诊断卡。根据现有信息来看,笔记本电脑代工厂广达(Quanta)和大众(FCI)生产的主板内置miniPCIE接口,包含LPC总线。而其他代工厂,如仁宝(Compal)、纬创(Wistron)及华硕(Asus)等厂商生产的主板,则不包含。目前,该诊断卡可以直接使用的笔记本电脑机型有:

天逸系列:天逸F30、天逸F31

昭阳系列:昭阳E290、昭阳E680

旭日系列:旭日210、旭日410、旭日C430

(五)诊断卡应用示例

现在,我们针对诊断卡在Phoenix BIOS笔记本电脑主板故障诊断中的实际应用,举一个常见的例子,以便各位进一步的体会。

下图我们看到的就是,将主板上安装故障内存,模拟主板故障诊断的做法。此时,我们通过诊断卡在系统上电自检的过程中,代码停留在了“03”处,就意味着,系统在上电自检的过程中,无法检测到内存的存在。所以,就无法进行下一步运行了。从另一个角度来看,如果主板等内存功能模块发生了故障,即使在有安装良品内存的情况下,系统在上电自检的过程中,诊断卡仍有可能报“E0”错。由此,我们就可以依此代码推断是否主板上的内存控制器北桥芯片或内存接口线路及本身出现了故障。这样,我们的故障范围一下子,就缩小了很多。

图10

(六)常见问题解答:

a.为什么诊断卡在有些机器不能跑码?

前面提到,mini PCIE诊断卡,在跑码时,需要去抓mini PCIE接口上的LPC总线信号,如果该接口不包含LPC总线,诊断卡直接插上去,肯定是无法运行的,会一直停留在“00”代码处。这是主板设计的规范限制,并非诊断卡本身问题。

b.如何判定某电脑主板mini PCIE接口是否包含LPC总线?

比较简便的办法,就是将万用表打到欧姆档,检查主内置mini PCIE第10、12、14、16针脚对地阻值,如果万用表指示阻值无穷大,则说明该mini PCIE接口无LPC信号,不支持该诊断卡的使用。

如图中红框内的4个pin脚,即为LPC总线的LAD[3:0]的4根数据总线,如果mini PCIE接口不包含该总线,万用表测量的“对地阻抗”阻值应该为无穷大。

图11

c.故障诊断卡适用于哪些场合的功能故障?

通过前面对故障诊断卡原理的简单了解,它的适用范围在笔记本电脑能够加电,但LCD屏幕无显示、电脑上电自检阶段(POST),通常表现的故障现象就是“加电无显示”故障的机器。如果某电脑不加电,或显示后的某个端口功能故障,则该诊断卡将不适用。

d.如何根据诊断卡显示的故障代码判断机器故障点?

使用过诊断卡的朋友知道,故障机器主板的不良代码会通过诊断卡的两位8段LED指示显示出来,如十六进制数“59”。很多时候,我们并不一定知道“59”代表的具体含义,此时我们可以通过附件提供的常见BIOS故障代码表来,查找对应的报错代码含义。但是,主板厂商一般都会对BIOS进行二次开发。因此,有些代码在代码表上可能没有,这种情况需参考附件接近的代码查找故障。此外,个人的维修、诊断经验也是非常重要的,它需要较长时间的积累,这里就不再赘述。

五、诊断卡常见代码表

需要说明的是,不同的BIOS软件提供商,他们的BIOS不良代码及代码所代表的故障信息含义,可能是不相同的。我们会在附件列出PHOENIX、Award BIOS厂商的典型不良代码表,以方便维修工程师在后续的故障诊断中的查询。最新故障代码可以在Phoenix或AMI网站下载。网址分别为, 。代码表中代码的含义请以英文为准,中文翻译仅供参考。

附件:

(1)Phoenix、Award BIOS代码表

Code Beeps POST Routine Description

02h

03h

04h

06h

08h

09h

0Ah

0Bh

0Ch

0Eh

0Fh

10h

11h

12h

13h

Verify Real Mode

Disable Non-Maskable Interrupt

(NMI)

验证实模式

禁止无法屏蔽式中断(NMI)

Get CPU type 获取CPU类型

Initialize system hardware 初始化系统硬件

Initialize chipset with initial 以POST初始参数初始化芯片组

POST values

Set IN POST flag

Initialize CPU registers

Enable CPU cache

设置POST标记

初始化CPU寄存器

启用CPU高速缓存

Initialize caches to initial POST 为POST参数开辟高速缓存

values

Initialize I/O component 初始化输入输出(I/O)组件

Initialize the local bus IDE

Initialize Power Management

Load alternate registers with

initial POST values

初始化本地IDE总线

初始化动力管理系统

将POST初始参数装入变址寄存器

Restore CPU control word during 在热启动中恢复CPU控制字

warm boot

初始化PCI总线控制器设备

初始化键盘控制器

BIOS ROM检验和

内存自调整大小前初始化高速缓存

初始化8254计时器

初始化8237DMA控制器

重启可编程终端控制器

检查DRAM刷新情况

检查8742键盘控制器

设置ES段寄存器为4GB

启用A20线路

Initialize PCI Bus Mastering

devices

14h Initialize keyboard controller

16h 1-2-2-3 BIOS ROM checksum

Initialize cache before memory

17h

autosize

18h

1Ah

1Ch

20h

22h

24h

26h

8254 timer initialization

8237 DMA controller

initialization

Reset Programmable Interrupt

Controller

1-3-1-1 Test DRAM refresh

1-3-1-3 Test 8742 Keyboard Controller

Set ES segment register to 4 GB

Enable A20 line

28h Autosize DRAM 自调整大小的DRAM

29h Initialize POST Memory Manager 初始化POST存储器管理程序

2Ah Clear 512 KB base RAM 清空512KB基本RAM

2Ch 1-3-4-1 RAM failure on address line xxxx* 地址线路为XXXX的RAM故障

2Eh

2Fh

30h

32h

33h

36h

38h

3Ah

3Ch

3Dh

42h

45h

1-3-4-3 RAM failure on data bits xxxx* of 存储总线低字节数据位的RAM故障

low byte of memory bus

Enable cache before system BIOS 在系统BIOS屏蔽前禁用高速缓存

shadow

存储总线高字节数据位的RAM故障

检查CPU总线时钟频率

初始化Phoenix调度管理器

关闭热启动

屏蔽系统BIOS ROM

1-4-1-1 RAM failure on data bits xxxx* of

high byte of memory bus

Test CPU bus-clock frequency

Initialize Phoenix Dispatch

Manager

Warm start shut down

Shadow system BIOS ROM

Autosize cache 自调整大小的高速缓存

Advanced configuration of chipset 芯片组寄存器的高端配置

registers

Load alternate registers with

CMOS values

Initialize interrupt vectors

POST device initialization

将CMOS初始参数装入变址寄存器

初始化中断向量

POST设备的初始化

检查ROM版权 46h 2-1-2-3 Check ROM copyright notice

48h

49h

Check video configuration against 基于CMOS检查显示配置

CMOS

初始化PCI总线及其设备

初始化系统中所有显示适配器

静引导启动(可选择)

屏蔽显示 BIOS ROM

POST常规描述

显示BIOS版权布告

显示CPU类型及速度

初始化EISA

检查键盘

Initialize PCI bus and devices

Initialize all video adapters in

4Ah

system

4Bh QuietBoot start (optional)

4Ch Shadow video BIOS ROM

Code Beeps POST Routine Description

4Eh Display BIOS copyright notice

50h Display CPU type and speed

51h

52h

Initialize EISA board

Test keyboard

54h Set key click if enabled 设置电键声(如果启用的话)

58h 2-2-3-1 Test for unexpected interrupts 检查未预料中断

59h

5Ah

5Bh

5Ch

60h

62h

Initialize POST display service

Display prompt "Press F2 to enter

SETUP"

Disable CPU cache

初始化POST显示服务

即时显示"Press F2 to enter

SETUP"

禁用CPU高速缓存

Test RAM between 512 and 640 KB 检查512到640KB的RAM

Test extended memory 检查扩展内存

Test extended memory address 检查扩展内存地址线

lines

64h

66h

67h

68h

69h

6Ah

6Bh

6Ch

6Eh

70h

72h

76h

7Ch

7Eh

80h

81h

82h

83h

84h

85h

86h

87h

88h

89h

8Ah

8Bh

8Ch

8Fh

90h

91h

Jump to UserPatch1 跳转至用户补丁1

Configure advanced cache 配置高端的高速缓存寄存器

registers

Initialize Multi Processor APIC 初始化多处理器APIC

Enable external and CPU caches 启用外部和CPU高速缓存

Setup System Management Mode

(SMM) area

建立系统管理编码(SMM)区域

Display external L2 cache size 显示外部高速缓存L2大小

Load custom defaults (optional) 载入自行修改的默认值(可选)

Display shadow-area message 显示被屏蔽区域信息

Display possible high address for 显示UMB恢复可能需要的高位地址

UMB recovery

Display error messages 显示错误信息

Check for configuration errors 检查配置错误

Check for keyboard errors 检查键盘错误

Set up hardware interrupt vectors 建立硬件的中断向量表

Initialize coprocessor if present 初始化存在的协处理器

Disable onboard Super I/O ports 禁用机载的特级I/O端口以及中断and IRQs 请求

Late POST device initialization POST设备的后期初始化

Detect and install external RS232 侦测并安装外部的RS232端口

ports

Configure non-MCD IDE controllers

Detect and install external

parallel ports

配置非人工控制(non-MCD)的IDE控制器

侦测并安装外部的并行端口

Initialize PC-compatible PnP ISA 初始化PC兼容且即插即用的ISA设devices 备

Re-initialize onboard I/O ports. 重新初始化机载I/O端口

Configure Motheboard 配置主板设备(可选)

Configurable Devices (optional)

Initialize BIOS Data Area 初始化BIOS数据区域

Enable Non-Maskable Interrupts

(NMIs)

Initialize Extended BIOS Data

Area

启用无法屏蔽式中断(NMI)

初始化扩展的BIOS数据区

Test and initialize PS/2 mouse 检查及初始化PS/2鼠标

Initialize floppy controller 初始化软盘控制器

Determine number of ATA drives 确定ATA驱动数量(可选)

(optional)

Initialize hard-disk controllers 初始化硬盘控制器

Initialize local-bus hard-disk 初始化本地总线硬盘控制器

controllers

92h

93h

95h

96h

97h

98h

99h

9Ah

9Ch

9Dh

9Eh

9Fh

A0h

A2h

A4h

A8h

AAh

ACh

AEh

B0h

B2h

B4h

B5h

B6h

B9h

BAh

BBh

BCh

BDh

BEh

BFh

C0h

C1h

C2h

C3h

C4h

1-2

Jump to UserPatch2 跳转到用户补丁2

Build MPTABLE for multi-processor 为多处理器底板建立MPTABLE

boards

Install CD ROM for boot 为导入程序(boot)安装CD-ROM

Clear huge ES segment register 清空庞大的ES段存储器

Fixup Multi Processor table 修补多处理器列表

Search for option ROMs. One long, 搜寻备用的ROM设备,在校验和错two short beeps on checksum 误时发出一长两短哔哔声

failure

Check for SMART Drive (optional) 检测SMART驱动(可选)

Shadow option ROMs 屏蔽备选ROM设备

Set up Power Management 启动动力管理系统

Initialize security engine

(optional)

Enable hardware interrupts

初始化安全引擎(可选)

启用硬件中断

1

Determine number of ATA and SCSI 确定ATA及SCSI驱动数量

drives

Set time of day 设置时间

Check key lock

Initialize Typematic rate

Erase F2 prompt

Scan for F2 key stroke

Enter SETUP

Clear Boot flag

Check for errors

POST done - prepare to boot

operating system

One short beep before boot

Terminate QuietBoot (optional)

Check password (optional)

Prepare Boot

Initialize DMI parameters

Initialize PnP Option ROMs

Clear parity checkers

Display MultiBoot menu

检查键盘锁

初始化打击速率

消去F2 命令

扫描F2击键动作

进入SETUP启动程序

清除Boot标志位

检测错误

完成POST后,准备进入boot系统

在进入Boot前发出一个短促哔声

终止静引导(Boot)(可选)

检查密码(可选)

Boot准备

初始化DMI参数

初始化即插即用(PnP)的备选ROM

清空奇偶检验器

显示多Boot菜单

Clear screen (optional) 清除屏幕(可选)

Check virus and backup reminders 检查病毒以及文件备份提示

Try to boot with INT 19 用INT 19命令进行boot

Initialize POST Error Manager 初始POST错误管理器(PEM)

(PEM)

Initialize error logging 初始化错误记录

Initialize error display function 初始化错误显示功能

Initialize system error handler 初始化系统错误处理器

C5h

C6h

C7h

C8h

C9h

D2h

E0h

E1h

E2h

E3h

E4h

E5h

E6h

E7h

E8h

E9h

EAh

EBh

ECh

EDh

EEh

EFh

F0h

F1h

F2h

F3h

F4h

F5h

F6h

F7h

1

PnP and dual CMOS (optional) PnP及双CMOS检查 (可选)

Initialize notebook docking 初始化笔记本扩展坞(可选)

(optional)

Initialize notebook docking late 稍候初始化笔记本扩展坞

Force check (optional) 强制检测(可选)

Extended checksum (optional)

Unknown interrupt

Initialize the chipset

Initialize the bridge

Initialize the CPU

Initialize system timer

Initialize system I/O

Check force recovery boot

Checksum BIOS ROM

Go to BIOS

Set Huge Segment

Initialize Multi Processor

Initialize OEM special code

Initialize PIC and DMA

Initialize Memory type

Initialize Memory size

Shadow Boot Block

System memory test

Initialize interrupt vectors

Initialize Run Time Clock

Initialize video

Output one beep before boot

Boot to Mini DOS

Clear Huge Segment

Boot to Full DOS

扩展的校验和(可选)

未知中断

初始化芯片组

桥(北桥,南桥)初始化

初始化CPU

初始化系统计时器

初始化I/O

检查强制恢复boot

BIOS ROM 校验和

转向BIOS

设置大型段

初始化多处理器

初始化OEM特殊编码

初始化PIC及DMA

初始化内存类型

初始化内存大小

屏蔽引导块

系统存储器检测

初始化中断向量列表

初始化运行时钟

初始化显示设备

在Boot前发出哔声

导向迷你DOS

清空大型段

导向完整DOS

Initialize System Management Mode 初始化系统管理编码

(2)AMI BIOS代码表

Checkpoint Description

Before D1 Early chipset initialization is done. 完成早期芯片组初始化,完成包Early super I/O initialization is done 括RTC和键盘控制器在内的特级including RTC and keyboard controller. I/O设备的初始化并禁用NMI。

NMI is disabled.

D1 Perform keyboard controller BAT test. 对键盘控制器进行BAT测试。检查Check if waking up from power 从动力管理中恢复是否会暂停状management suspend state. Save 态进程。将上电的CPUID值写入power-on CPUID value in scratch CMOS. CMOS。

D0 Go to flat mode with 4GB limit and GA20 进入4GB为限的页面模式并启用enabled. Verify the bootblock GA20。检验引导块校验和。

checksum.

Disable CACHE before memory detection. 在内存侦测前禁用高速缓存。执Execute full memory sizing module. 行满量程存储模块。检测是否启Verify that flat mode is enabled. 用页面模式。

If memory sizing module not executed, 如未执行存储大小设置模块,则start memory refresh and do memory 进行内存刷新并在引导块编码中sizing in Bootblock code. Do 设置内存大小。进行附加的芯片additional chipset initialization. 组初始化,重启高速缓存。检验Re-enable CACHE. Verify that flat 页面模式是否启用。

mode is enabled.

Test base 512KB memory. Adjust

policies and cache first 8MB. Set

stack.

Bootblock code is copied from ROM to

lower system memory and control is

given to it. BIOS now executes out of

RAM.

Both key sequence and OEM specific

method is checked to determine if BIOS

recovery is forced. Main BIOS

checksum is tested. If BIOS recovery

is necessary, control flows to

checkpoint E0. See Bootblock

Recovery Code Checkpoints section of

document for more information.

Restore CPUID value back into

register. The Bootblock-Runtime

interface module is moved to system

memory and control is given to it.

Determine whether to execute serial

flash.

The Runtime module is uncompressed

into memory. CPUID information is

stored in memory.

Store the Uncompressed pointer for

future use in PMM. Copying Main BIOS

into memory. Leaves all RAM below 1MB

Read-Write including E000 and F000

shadow areas but closing SMRAM.

Restore CPUID value back into

register. Give control to BIOS POST

(ExecutePOSTKernel). See POST Code

检测512KB基础内存。调整策略并缓存前8MB内容。建立栈。

从ROM向较低层系统内存拷贝引导块编码并对其实施控制。BIOS现于RAM外执行。

根据键顺序以及OEM具体方法确定BIOS是否被强制恢复。检查主要BIOS的校验和。如果必须进行BIOS恢复,在校验点E0进行控制。可从说明文件的引导块恢复编码校验点部分获取更多信息。

D2

D3

D4

D5

D6

D7 将CPUID值重新写入寄存器。将运行中的引导块接口移入系统内存并加以控制。决定是否执行串行闪存。

D8 运行模块以为压缩的方式存入内存。将CPUID信息写入内存。

把将来使用的无压缩指针存入PMM同时将主要BIOS写入内存。保留包括E000和F000被屏蔽区的所有1MB以下的RAM并关闭SMRAM。

将CPUID值重新写入寄存器。对BIOS POST进行控制。可从说明文件的POST编码校验点部分获取更D9

DA

Checkpoints section of document for

more information.

E0

多信息。

Initialize the floppy controller in 初始化特级I/O的软盘控制器、部the super I/O. Some interrupt vectors 分中断向量、DMA控制器以及8259are initialized. DMA controller is 中断控制器。启用L1高速缓存。

initialized. 8259 interrupt

controller is initialized. L1 cache

is enabled.

Set up floppy controller and data.

Attempt to read from floppy.

Enable ATAPI hardware. Attempt to

read from ARMD and ATAPI CDROM.

建立软盘控制器。尝试从软盘中读取数据。

启用ATAPI硬件。尝试从ARMD和ATAPI CDROM中读取数据。

E9

EA

EB

EF

Disable ATAPI hardware. Jump back to 禁用ATAPI硬件,跳转回校验点checkpoint E9. E9。

Read error occurred on media. Jump

back to checkpoint EB.

读取媒体错误,跳转回校验点EB。

确定恢复媒体的根目录。 E9 or EA Determine information about root

directory of recovery media.

F0

F1

F2

Search for pre-defined recovery file 在根目录中寻找预定义的恢复文name in root directory. 件名。

Recovery file not found.

Start reading FAT table and analyze FAT

to find the clusters occupied by the

recovery file.

Start reading the recovery file

cluster by cluster.

Disable L1 cache.

无法找到恢复的文件。

开始读取FAT列表并分析FAT,寻找被恢复文件占用的集群器。

开始对恢复文件以集群器为单位进行读取。

禁用L1高速缓存。

F3

F5

FA Check the validity of the recovery file 检查恢复文件配置以及现阶段闪configuration to the current 存部分配置的合法性。

configuration of the flash part.

Make flash write enabled through

chipset and OEM specific method.

Detect proper flash part. Verify that

the found flash part size equals the

recovery file size.

The recovery file size does not equal

the found flash part size.

Erase the flash part.

通过芯片组和OEM进行快速记录,检测合适的闪存部分。检验找到的闪存部分的大小是否等于恢复文件的大小。

恢复文件大小不等于已找到的闪存部分。

消除闪存部分。

FB

F4

FC

FD

FF

Program the flash part.

The flash has been updated

successfully. Make flash write

disabled. Disable ATAPI hardware.

Restore CPUID value back into

register. Give control to F000 ROM at

F000:FFF0h.

Disable NMI, Parity, video for EGA, and

DMA controllers. Initialize BIOS,

POST, Runtime data area. Also

initialize BIOS modules on POST entry

and GPNV area. Initialized CMOS as

mentioned in the Kernel Variable

"wCMOSFlags."

Check CMOS diagnostic byte to

determine if battery power is OK and

CMOS checksum is OK. Verify CMOS

checksum manually by reading storage

area. If the CMOS checksum is bad,

update CMOS with power-on default

values and clear passwords.

Initialize status register A.

Initializes data variables that are

based on CMOS setup questions.

Initializes both the 8259 compatible

PICs in the system

Initializes the interrupt controlling

hardware (generally PIC) and interrupt

vector table.

Do R/W test to CH-2 count reg.

Initialize CH-0 as system timer.

Install the POSTINT1Ch handler.

Enable IRQ-0 in PIC for system timer

interrupt.

Traps INT1Ch vector to

"POSTINT1ChHandlerBlock."

Initializes the CPU. The BAT test is

being done on KBC. Program the

keyboard controller command byte is

being done after Auto detection of

KB/MS using AMI KB-5.

对闪存部分进行编程。

成功更新闪存。禁用闪存的写入功能。禁用ATAPI硬件,将CPUID值重新写入寄存器。对F000ROM的F000:FFF0h部分进行控制。

03 禁用NMI,奇偶校验,EGA显示,以及DMA控制器。初始化BIOS,POST,运行中的数据区。同时,初始化BIOS的POST进入模块以及GPNV区域。对CMOS中的核心变量“wCMOSFlags”进行初始化。

对CMOS的诊断字节进行检查,确定电池电源与CMOS校验和是否良好。通过读取存储区域对CMOS校验和进行手动检验。如果CMOS校验和错误,用默认值带电更新CMOS并清除密码。初始化状态寄存器A。初始化基于CMOS建立问题的变量数据。初始化主机中的8259可兼容PIC。

04

05 初始化中断控制硬件(主要是PIC)以及中断向量列表。

对于CH-2计数寄存器进行读/写测试。将CH-0作为主机计时器进行初始化。安装POSTINT1Ch处理器。为系统计时器中断启动IRQ-0。俘获向量INT1Ch并置于“POSTINT1Ch处理器模块”。

初始化CPU。在KBC上完成基本保障检验(BAT)。在使用AMI KB-5对KB/MS进行检测后,完成键盘控制器命令字的编写。

06

08

C0

C1

C2

C5

C6

C7

0A

0B

0C

0E

Early CPU Init Start -- Disable Cache 开始早期CPU初始化—禁用高速- Init Local APIC 缓存—本地APIC配置初始化。

Set up boot strap processor

Information

设置自举式处理器的有关信息。

Set up boot strap proccessor for POST 为POST建立自举式处理器。

Enumerate and set up application

processors

Re-enable cache for boot strap

processor

Early CPU Init Exit

Initializes the 8042 compatible Key

Board Controller.

列举并启动应用程序处理器。

为boot的自举式处理器重启高速缓存。

早期CPU初始完成

初始化8042可兼容式键盘控制器。

Detects the presence of PS/2 mouse. 检测PS/2鼠标是否存在。

Detects the presence of Keyboard in KBC 检测KBC端口的键盘是否存在。

port.

Testing and initialization of

different Input Devices. Also,

update the Kernel Variables.

Traps the INT09h vector, so that the

POST INT09h handler gets control for

IRQ1. Uncompress all available

language, BIOS logo, and Silent logo

modules.

Early POST initialization of chipset

registers.

检测并初始化不同的输入设备。同时,更新核心变量。俘获向量INT09h,使用 POSTINT09处理器控制IRQ1端口。解压缩所有可用的语言,BIOS标志,以及静态商标模块。

13

24

30

2A

对于芯片组寄存器的早期POST初始化。

Uncompress and initialize any platform 解压并初始化所有具体的BIOS平specific BIOS modules. 台模块。

Initialize System Management

Interrupt.

Initializes different devices through

DIM.

See DIM Code Checkpoints section of

document for more information.

Initializes different devices.

Detects and initializes the video

adapter installed in the system that

has optional ROMs.

初始化主机管理器中断。

通过DIM对于不同的设备进行初始化。可以从说明文件的DIM编码校验点部分获取更多信息。

初始化不同的设备。检测并初始化主机中含有可选ROM的显示适配器

2C

2E

31

Initializes all the output devices. 初始化所有输出设备。

Allocate memory for ADM module and

uncompress it. Give control to ADM

module for initialization.

Initialize language and font modules

for ADM. Activate ADM module.

为ADM模块分配内存并进行解压。控制ADM进行初始化。初始化ADM的语言及字形模块并激活ADM模块。

33 Initializes the silent boot module. 初始化静态引导模块。为显示文Set the window for displaying text 本信息设置窗口。

information.

Displaying sign-on message, CPU

information, setup key message, and

any OEM specific information.

Initializes different devices through

DIM. See DIM Code Checkpoints section

of document for more information.

Initializes DMAC-1 & DMAC-2.

Initialize RTC date/time.

显示开始命令信息,CPU信息,安装关键字信息,以及OEM的具体信息。

通过DIM初始化不同设备。可以从说明文件的DIM编码校验点部分获取更多信息。

初始化DMAC-1以及DMAC-2

初始化RTC日期/时间。

37

38

39

3A

3B Test for total memory installed in the 检测主机中的所有内存。并且检system. Also, Check for DEL or ESC keys 查DEL和ESC键以便限制内存的检to limit memory test. Display total 测。显示所有系统中的内存信息。

memory in the system.

Mid POST initialization of chipset

registers.

Detect different devices (Parallel

ports, serial ports, and coprocessor

in CPU, … etc.) successfully

installed in the system and update the

BDA, EBDA…etc.

芯片组寄存器的中期POST初始化。

检测成功安装于主机的不同设备(并行端口,串行端口,以及CPU中的协处理器等等)并且更新BDA,EBDA。

3C

40

50 Programming the memory hole or any kind 如果需要的话,确定内存孔槽的of implementation that needs an 位置或者在主机RAM大小方面做adjustment in system RAM size if 出调整。

needed.

Updates CMOS memory size from memory

found in memory test. Allocates

memory for Extended BIOS Data Area from

base memory.

Initializes NUM-LOCK status and

programs the KBD typematic rate.

对内存测试中找到的CMOS内存大小进行升级。为扩展的BIOS数据区域分配内存。

初始化NUM-LOCK状态并对于键盘的打击速率进行安排。

52

60

75

78

7A

7C

84

85

87

8C

8D

8E

90

A0

A1

Initialize Int-13 and prepare for IPL 初始化Int-13并为IPL检测做准detection. 备。

Initializes IPL devices controlled by 初始化由BIOS控制的IPL设备以BIOS and option ROMs. 及可选ROM。

Initializes remaining option ROMs. 初始化剩余的可选ROM。

Generate and write contents of ESCD in 生成并写入NVRAM中ESCD的内容。

NVRam.

Log errors encountered during POST. 在POST过程中遇到的日志错误。

Display errors to the user and gets the 将显示误差显示给用户,并获取user response for error. 其反应。

Execute BIOS setup if needed /

requested.

Late POST initialization of chipset

registers.

Build ACPI tables (if ACPI is

supported)

Program the peripheral parameters.

Enable/Disable NMI as selected

Late POST initialization of system

management interrupt.

Check boot password if installed.

如果需要的话,启动BIOS。

后期芯片组寄存器的POST初始化。

建立ACPI表(如果支持ACPI的话)

规划外围变量。根据选择启用或禁用NMI。

主机管理中断的后期POST初始化。

如安装的话,检查boot密码。

Clean-up work needed before booting to 导入OS系统前进行清空工作。

OS.

Takes care of runtime image 监护不同BIOS模块的镜像准备工preparation for different BIOS 作。在F000h段中的空闲区域写入modules. Fill the free area in F000h 0FFh。初始化微软IRQ路由表。准segment with 0FFh. Initializes the 备运行时的语言模块。如果需要Microsoft IRQ Routing Table. 的话,禁用主机配置显示。

Prepares the runtime language module.

Disables the system configuration

display if needed.

Initialize runtime language module. 初始化运行时刻的语言模块。

Displays the system configuration 如果启用的话,显示主机配置。screen if enabled. Initialize the 在boot前初始化CPU中包含MTRRCPU’s before boot, which includes the 编程的部分。

A2

A4

A7

programming of the MTRR’s.

A8

A9

AA

Prepare CPU for OS boot including final 为包括最终MTRR值的OS导入做好MTRR values. CPU准备。

Wait for user input at config display 如果需要的话,在显示配置的同if needed. 时等待用户输入。

Uninstall POST INT1Ch vector and 卸载POSTINT1Ch向量和INT09h向INT09h vector. Deinitializes the ADM 量。取消ADM模块的初始设置。

module.

Prepare BBS for Int 19 boot. 为INT 19 boot准备好BBS。

End of POST initialization of chipset 结束芯片组寄存器的POST初始registers. 化。

Save system context for ACPI. 为ACPI保存主机语境。

AB

AC

B1

00

2A

Passes control to OS Loader (typically 对于OS加载器进行控制(特别是INT19h). INT 19h)

Initialize different buses and perform

the following functions: Reset,

Detect, and Disable (function 0);

Static Device Initialization

(function 1); Boot Output Device

Initialization (function 2).

Function 0 disables all device nodes,

PCI devices, and PnP ISA cards. It

also assigns PCI bus numbers.

Function 1 initializes all static

devices that include manual configured

onboard peripherals, memory and I/O

decode windows in PCI-PCI bridges, and

noncompliant PCI devices. Static

resources are also reserved.

Function 2 searches for and

initializes any PnP, PCI, or AGP video

devices.

Initialize different buses and perform

the following functions: Boot Input

Device Initialization (function 3);

IPL Device Initialization (function

4); General Device Initialization

(function 5). Function 3 searches for

and configures PCI input devices and

初始化不同的总线并完成以下功能:重启,检测,以及禁用(功能0);静态设备的初始化(功能1);Boot输出设备的初始化(功能2)。功能0禁用所有设备节点,PCI设备,以及即插即用的ISA卡。同时功能0可以指派PCI总线的号码。功能1初始化所有的静态设备,包括手动配置的机载外围设备,内存,在PCI-PCI桥中的I/O解码窗口,以及无法控制的PCI设备。同时保存静态资源。功能2搜寻并初始化所有的PnP,PCI,以及AGP显示设备。

38 初始化不同的总线并完成如下功能:Boot输入设备的初始化(功能3);IPL设备的初始化(功能4);通用设备的初始化(功能5)。功能3搜寻PCI输入设备的配置并检测主机是否拥有标准的键盘控制器。功能4搜寻所有PnP和PCI boot

detects if system has standard 设备并进行配置。功能5对拥有自keyboard controller. Function 4 动配置并配有PnP和PCI的机载外searches for and configures all PnP and 围设备进行配置。

PCI boot devices. Function 5

configures all onboard peripherals

that are set to an automatic

configuration and configures all

remaining PnP and PCI devices.

AC

AA

First ASL check point. Indicates the 第一个ASL校验点。表示主机正在system is running in ACPI mode. ACPI模式下运行。

System is running in APIC mode. 主机在APIC模式下运行。

01, 02, 03, Entering sleep state S1, S2, S3, S4, or 进入睡眠状态S1,S2,S3,S4,04, 05 S5. 或者S5。

10, 20, 30, Waking from sleep state S1, S2, S3, S4, 从睡眠状态S1,S2,S3,S4,或40, 50 or S5. 者S5中苏醒过来。

一、

(3)AMI声音报警含义

Number Description

of Beeps

1 Memory refresh timer error.

2

3

4

5

Parity error

内存计时器刷新失败

奇偶校验错误

Main memory read / write test error. 基本内存 读/写测试故障

Motherboard timer not operational 主板计时器无法操作

Processor error 处理器故障

6 Keyboard controller BAT test error. 键盘控制器基本保障检验故障

7 General exception error. 通用异常事件错误

8 Display memory error. 显示内存故障

9 ROM checksum error ROM校验和错误

10 CMOS shutdown register read/write error CMOS寄存器掉电读/写失败

11 Cache memory bad 高速缓存故障

1, 2 or 3 Reseat the memory, or replace with known 内存复位,或用已知的良好模块进good modules. 行替换。

4-7,

9-11

Fatal error indicating a serious

problem with the system. Consult your

system manufacturer.

Before declaring the motherboard beyond

all hope, eliminate the possibility of

interference by a malfunctioning add-in

card. Remove all expansion cards cards

except the video adapter.

• If the beep codes are generated even

系统出现问题属于致命故障,需要同主机生产厂家进行咨询。

在判定主板无法修复之前,需要排除因为主板上附加卡故障引起干扰的可能性。取下除显示适配器之外所有的扩展卡。

·如果所有扩展卡被取下后仍有哔哔声发出,则可以判断主板出现严重问题。此时需与系统生产厂家联

when all other expansion cards are

absent, the motherboard has a serious

problem. Consult your system

manufacturer.

• If the beep codes are not generated

when all other expansion cards are

absent, one of the add-in cards is

causing the malfunction. Insert the

cards back into the system one at a time

until the problem happens again. This

will reveal the malfunctioning add-in

card.

8 If the system video adapter is an add-in

card, replace or reseat the video

adapter. If the video adapter is an

integrated part of the system board, the

board may be faulty.

系。

·如果所有扩展卡被取下后没有哔哔声发出,则可以判断故障原因是某一扩展卡。依次将扩展卡插回主板直到再次出现哔哔声,则此时可以判断故障原因是最近一次插入的扩展卡。

如果主机的显示适配器是附加卡,将其复位或者替换。如果显示卡是集成在主板上的,则该主板有可能已经损坏。