CN1176422C - 电脑系统的启动前期排错装置及方法 - Google Patents

电脑系统的启动前期排错装置及方法 Download PDF

Info

Publication number
CN1176422C
CN1176422C CNB991248201A CN99124820A CN1176422C CN 1176422 C CN1176422 C CN 1176422C CN B991248201 A CNB991248201 A CN B991248201A CN 99124820 A CN99124820 A CN 99124820A CN 1176422 C CN1176422 C CN 1176422C
Authority
CN
China
Prior art keywords
misarrangement
computer system
startup
early stage
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB991248201A
Other languages
English (en)
Other versions
CN1297194A (zh
Inventor
蔡俊男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitac International Corp
Mitac Inc
Original Assignee
Mitac International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitac International Corp filed Critical Mitac International Corp
Priority to CNB991248201A priority Critical patent/CN1176422C/zh
Publication of CN1297194A publication Critical patent/CN1297194A/zh
Application granted granted Critical
Publication of CN1176422C publication Critical patent/CN1176422C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种电脑系统的启动前期排错装置及方法,包括排错控制单元、通讯控制接口、逻辑电路,其中排错控制单元及通讯控制接口是经接口逻辑电路连接于待测电脑系统的PCI总线。排错控制单元中包含有排错控制程序,其地址相同于该待测电脑系统的基本输入输出系统的存储地址,于该待测电脑系统的电源开启后,该排错控制程序即取代该待测电脑系统的基本输入输出系统的功能。该排错装置通过通讯控制接口而连接于一远端电脑。

Description

电脑系统的启动前期排错 装置及方法
技术领域
本发明涉及电脑的程序排错系统(Debugging System),特别涉及一种电脑系统的启动前期排错(Pre-boot Debugging)装置及方法,其可在电脑的操作系统由磁盘载入至主存储器之前,即可对该电脑系统进行排错工作,而在当电脑系统无法启动、或是无法在操作系统控制下执行排错程序的状况下,亦可按照本发明对该电脑系统进行排错工作。
背景技术
一般商业化的电脑系统架构包括有中央处理器、磁盘装置、输入装置、输出装置、存储器等硬件组件,这些组件是通过总线来达到连结及数据传送、控制的功能。
例如图1是显示一包括有PCI总线及ISA总线的典型电脑系统架构示意图,在该系统架构中,中央处理器10与主存储器11是直接连接于系统局部总线20(Local Bus),该系统局部总线20再通过一PCI桥接器12(PCIBridge)连接一PCI总线21(Peripheral Component Interconnect)。
PCI总线21是由PCISIG协会所提出的总线规格,主要是可作为配合快速微处理器如Pentium级微处理系统中的高速数据转移功能。在该PCI总线21上可供连接各种PCI装置13,例如,在目前商用的电脑周边接口卡中,区域网络接口卡、影像卡、输入输出接口卡等接口装置,大都是插接在该PCI总线21上。此外,该PCI总线21亦连接有一PCI/ISA桥接器14(PCI/ISABridge),在连接一ISA总线22(Industry Standard Architecture),在该ISA总线22上可配置数个ISA插槽,以供插接各种ISA装置15。
在前述的电脑系统架构中,不论在研发或是在检修阶段时,皆有可能需要对该电脑系统执行排错的功能。由于该电脑系统中的运作涉及相当复杂的功能指令,故当电脑工程师欲执行电脑系统的排错功能时,一般皆需借助于排错程序的协助,方能分析出该电脑系统发生错误的原因。
然而,一般现有排错程序的设计,大都是在待测电脑系统完成正常启动程序之后(亦即电脑的操作系统由磁盘载入至主存储器之后),方能执行其排错功能。其意谓着当电脑系统无法启动、或是无法在操作系统控制的状况下,即无法顺利进行该电脑系统的排错功能。
发明内容
因此,鉴于该现有技术的缺陷,本发明的主要目的即是提供一种电脑系统的排错技术,其可在该电脑的操作系统由磁盘载入至存储器之前即可进行排错工作。特别地,当待测的电脑系统无法启动、或是无法在操作系统控制下执行排错程序的状况下,仍可通过本发明对该电脑系统进行排错工作。
本发明的另一目的是提供一种电脑系统启动前期的远端排错装置,该排错装置通过通讯控制接口而连接于一远端电脑,使该远端电脑得以将命令及数据传送至排错装置中、或是由该排错装置接收状态信号或数据。
本发明的另一目的是提供一种连接在待测电脑系统中的PCI总线的排错方法,该排错装置中的排错控制程序的地址相同于该待测电脑系统的基本输入输出系统的存储地址,于该待测电脑系统的电源开启后,该排错控制程序即取代该待测电脑系统的基本输入输出系统的功能,并在该排错控制程序在所有经由PCI总线至该地址的存储器读取/写入周期皆由该排错控制程序所控制,而不是由ISA总线的系统基本输入输出系统所控制。
为了实现上述目的,本发明提供了一种电脑系统的启动前期排错装置,用以对一待测电脑系统进行排错,该电脑系统系包括有一PCI总线以及一ISA总线,该排错装置包括有:一通讯控制接口,连接于一远端电脑的通讯控制接口,以使该远端电脑得以将命令及数据传送至排错装置中、或是由该排错装置接收状态信号或数据;一排错控制单元,其包含有一排错控制程序,其地址相同于该待测电脑系统的基本输入输出系统的存储地址;一接口逻辑电路,用以将该排错控制单元及通讯控制接口连接于该待测电脑系统的PCI总线;于该待测电脑系统的电源开启后,该排错控制程序即取代该待测电脑系统的基本输入输出系统的功能,此后,在所有经由PCI总线至该地址的存储器读取/写入周期皆由该排错控制程序所控制,以取代ISA总线的系统基本输入输出系统的控制。
本发明还提供了一种电脑系统的启动前期排错的方法,用以对一待测电脑系统进行排错,该电脑系统包括有一PCI总线以及一ISA总线,该方法包括下列步骤:a.提供一包括有一通讯控制接口及排错控制单元的排错装置;b.提供一排错控制程序,配置在该排错控制单元中,其地址相同于待测电脑系统的基本输入输出系统的存储地址;c.于待测电脑系统的电源开启后,该排错控制程序经由该PCI总线立即取代该待测电脑系统的基本输入输出系统的功能;d.在该电脑系统所有经由PCI总线至该地址的存储器读取/写入周期,皆由该排错控制程序的控制,以取代ISA总线的系统基本输入输出系统的控制;e.启始该排错控制装置中的通讯控制接口,然后等待接收排错控制指令,以对该待测电脑系统进行排错。
附图说明
本发明的其它目的及其技术,将按照以下的较佳实施例及附图作进一步的说明,其中:
图1是显示一包括有PCI及ISA总线的典型电脑系统示意图;
图2是显示本发明的排错装置连接于电脑系统中PCI总线的系统示意图;
图3是显示本发明排错系统的功能方块图;
图4是显示本发明的控制流程示意示意图。
具体实施方式
图2是显示本发明的排错装置3连接于电脑系统中PCI总线21的系统示意图,且该排错装置3(Debugging Instrument)更可通过通讯控制接口与一远端电脑4(Remote computer)连结,其中该远端电脑4是作为该排错系统的控制主机或终端机,如此以构成一实用的排错系统(DebuggingSystem)。
同时参阅图3所示,其进一步显示本发明排错装置的功能方块图。由图可知,该排错装置3内部主要包括有一接口逻辑电路30(Interface LogicCircuit)、一排错控制单元31、以及一通讯控制接口32。
该接口逻辑电路30的功能是连接一待测电脑系统的PCI总线21与本发明排错装置中的排错控制单元31及通讯控制接口32等相关电路。该接口逻辑电路30内部包括有一连接于该排错控制单元31的存储器数据存取电路301以及存储器地址解码电路302、以及一连接于通讯控制接口32的通讯接口地址解码电路303及一通讯数据存取电路304。排错控制单元31通过接口逻辑电路30中的存储器数据存取电路301以及存储器地址解码电路302而与PCI总线21连接。
排错控制单元31包括一用来控制排错功能的程序,其配置的地址相同于待测电脑系统的基本输入输出系统(BIOS)的存储地址。故在执行本发明的排错功能时,该排错控制单元31会在待测电脑系统的电源开启后,即立即取代该待测电脑系统的BIOS功能。
排错装置3中的通讯控制接口32与远端电脑4中的通讯控制接口41相连接,该两者通讯控制接口32、41可采用例如串行通讯接口(SIO)或并行通讯接口(PIO)的数据通讯接口,以使该排错装置4得以与远端电脑3进行数据或控制信号的传送/接收。
通过该排错装置3的通讯控制接口32与远端电脑4的通讯控制接口41,使该远端电脑4得以将命令(Command)或数据(Data)传送至排错装置3中、或是由该排错装置3接收状态信号或数据。该远端电脑4另包括有键盘42、显示器43等人机接口装置。
在执行排错功能时,可通过该远端电脑4下达各项控制指令,该控制指令例如包括有:
1.Load:将远端电脑的目的码载入至一缓冲存储器中,该目的码可以是待排错的BIOS目的码,或是用来作硬件功能诊断测试用的可执行码。
2.Trace:当下达Trace指令时,排错装置会在中央处理器内一标记暂存器(EFLAG)中设定单步执行标记(Single-Step Trap Flag),并执行指令指针暂存器(Instruction Pointer,CS:IP)中所指到的目的码指令。该目的码可以是待排错的BIOS目的码或是用来作硬件功能诊断测试用的可执行码。当该指令完成后,中央处理器内部暂存器及下一个目的码的指令会被显示于远端电脑的显示器上,最后回到命令循环中。
3.Pass:当下达Pass指令时,排错装置会将该指令指针暂存器(InstructionPointer,CS:IP)中所指到的目的码指令的下一个运算元(Op Code)预先储存,并用数据0CCh(INT3指令)取代,再执行由该指令指针暂存器所指到的指令;当该指令完成后,排错装置会将原先被取代的指令字节重新存储,且中央处理器暂存器及下一个目的码的指令会被显示于远端电脑的显示器上,最后回到命令循环中。
4.Go:当下达Go指令时,排错装置会依序执行目的码指令,如果中央处理器的排错暂存器条件符合或INT3(0CCh)产生了断点,则即中断目的码指令的执行。
5.Breakpoint:用来设定中央处理器中的排错地址暂存器及排错控制暂存器中的断点内容。
6.Register:用来载出或编辑中央处理器暂存器的内容。
7.Dump/Edit:用来载出或编辑特定地址的系统存储器内容。
8.In/Out:用来载出或编辑特定地址的输入输出端口内容。
9.Unassemble:用来将排错控制缓冲存储器中的目的码反译为组合语言助忆程序码。
参阅图4所示,其是显示本发明的排错控制流程示意图,虚线所示乃表示程序流程路径。如前所述,排错控制单元31包括有一用来控制排错功能的程序,其配置的地址相同于待测电脑系统的基本输入输出系统(BIOS)的存储地址。故在执行本发明的排错功能时,该排错控制程序会在待测电脑系统的电源开启后,即立即取代该待测电脑系统的基本输入输出系统的功能。此后,该排错控制程序会在所有经由PCI总线至该地址的存储器读取/写入(R/W)周期,皆会由该排错控制单元31所控制,而不是由ISA总线的系统BIOS所控制。该排错控制单元31的控制程序亦会启始通讯控制接口32的功能,然后等待远端电脑4所下达的控制指令。
在实际的排错功能执行时,用到了电脑系统之中断向量INT1及INT3之中断处理常式。在该电脑系统的存储器缓冲区5内贮存有待排错的BIOS目的码或硬件诊断测试用的目的码。当中央处理器的排错暂存器中有任何条件符合、或在中央处理器的标记暂存器EFLAG中有被设定成单步执行(Single-Step Trap)功能的话,即会启动中断向量INT1之中断处理常式,以执行单步处理程序(Single-Step Handler),当该INT1中断处理常式执行结束后,即返回(IRET)至暂存器数值载出程序(Dump Register Routin),此时可将缓冲存储器地址的数值予以载出。而当执行断点指令(BreakpointInstruction)时,则即启动中断向量INT3的断点处理程序(BreakpointHandler),当该INT3中断处理常式执行结束后,即返回(IRET)至暂存器数值载出程序(Dump Register Routine)。最后,当该暂存器数值载出程序结束后,即返回至命令循环(Command-Shell Loop)。
本排错系统不仅适用于基本输入输出系统(BIOS)位于ISA bus的电脑系统,对于BIOS位于较新的总线如LPC(Low Pin count)bus,亦可适用。
按照以上的实施例说明可知,本发明可以在待测电脑的操作系统由磁盘载入至主存储器之前,即可对该电脑系统进行排错工作。更特别地,在当电脑系统无法启动、或是无法在操作系统控制下执行排错程序的状况下,亦可通过本发明对该电脑系统进行排错工作。因此,本发明的电脑系统排错装置及方法确能提供工程人员在作电脑系统的研发、检修时作为一排错辅助工具。
总之,本发明所提供的电脑系统的启动前期排错技术,具有高度的产业利用价值。

Claims (17)

1.一种电脑系统的启动前期排错装置,用以对一待测电脑系统进行排错,该电脑系统系包括有一PCI总线以及一ISA总线,该排错装置包括有:
一通讯控制接口,连接于一远端电脑的通讯控制接口,以使该远端电脑得以将命令及数据传送至排错装置中、或是由该排错装置接收状态信号或数据;
一排错控制单元,其包含有一排错控制程序,其地址相同于该待测电脑系统的基本输入输出系统的存储地址;
一接口逻辑电路,用以将该排错控制单元及通讯控制接口连接于该待测电脑系统的PCI总线;
于该待测电脑系统的电源开启后,该排错控制程序即取代该待测电脑系统的基本输入输出系统的功能,此后,在所有经由PCI总线至该地址的存储器读取/写入周期皆由该排错控制程序所控制,以取代ISA总线的系统基本输入输出系统的控制。
2.如权利要求1所述的电脑系统的启动前期排错装置,其中该接口逻辑电路包括有:一连接于排错控制单元的一存储器数据存取电路以及一存储器地址解码电路、以及一连接于该排错装置中的通讯控制接口的通讯接口地址解码电路及一通讯数据存取电路。
3.如权利要求1所述的电脑系统的启动前期排错装置,其中该通讯控制接口为一并行通讯接口。
4.如权利要求1所述的电脑系统的启动前期排错装置,其中该通讯控制接口为一串行通讯接口。
5.一种电脑系统的启动前期排错的方法,用以对一待测电脑系统进行排错,该电脑系统包括有一PCI总线以及一ISA总线,该方法包括下列步骤:
a.提供一包括有一通讯控制接口及排错控制单元的排错装置;
b.提供一排错控制程序,配置在该排错控制单元中,其地址相同于待测电脑系统的基本输入输出系统的存储地址;
c.于待测电脑系统的电源开启后,该排错控制程序经由该PCI总线立即取代该待测电脑系统的基本输入输出系统的功能;
d.在该电脑系统所有经由PCI总线至该地址的存储器读取/写入周期,皆由该排错控制程序的控制,以取代ISA总线的系统基本输入输出系统的控制;
e.启始该排错控制装置中的通讯控制接口,然后等待接收排错控制指令,以对该待测电脑系统进行排错。
6.如权利要求5所述的电脑系统的启动前期排错的方法,其中步骤d中的排错控制程序的控制是指该排错控制程序启动通讯控制接口等待由远端电脑下达的排错控制指令。
7.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:将远端电脑的目的码载入至一缓冲存储器中的指令。
8.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:排错装置在中央处理器内一标记暂存器中设定单步执行标记,并执行指令指针暂存器中所指到的目的码的指令。
9.如权利要求8所述的电脑系统的启动前期排错的方法,其中该目的码是待排错的BIOS目的码。
10.如权利要求8所述的电脑系统的启动前期排错的方法,其中该目的码是用来作硬件功能诊断测试用的可执行码。
11.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:将指令指针暂存器中指令指针所指到的目的码指令的下一个运算元,预先储存,并用数据0CCh取代,再执行由该指令指针暂存器所指到的指令,当该指令完成后,排错装置会将原先被取代的指令字节重新存储。
12.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:依序执行目的码指令,如果中央处理器的排错暂存器条件符合或INT 3产生了断点,则即中断目的码指令的执行。
13.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:设定中央处理器中的排错地址暂存器及排错控制暂存器中的断点内容的指令。
14.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:载出或编辑中央处理器暂存器的内容的指令。
15.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:载出或编辑特定地址的系统存储器内容的指令。
16.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:载出或编辑特定地址输入输出端口的内容。
17.如权利要求6所述的电脑系统的启动前期排错的方法,其中该排错控制指令包括有:将排错控制缓冲存储器中的目的码反译为组合语言助忆程序码的指令。
CNB991248201A 1999-11-18 1999-11-18 电脑系统的启动前期排错装置及方法 Expired - Fee Related CN1176422C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB991248201A CN1176422C (zh) 1999-11-18 1999-11-18 电脑系统的启动前期排错装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB991248201A CN1176422C (zh) 1999-11-18 1999-11-18 电脑系统的启动前期排错装置及方法

Publications (2)

Publication Number Publication Date
CN1297194A CN1297194A (zh) 2001-05-30
CN1176422C true CN1176422C (zh) 2004-11-17

Family

ID=5283613

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991248201A Expired - Fee Related CN1176422C (zh) 1999-11-18 1999-11-18 电脑系统的启动前期排错装置及方法

Country Status (1)

Country Link
CN (1) CN1176422C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100362485C (zh) * 2003-11-18 2008-01-16 神达电脑股份有限公司 激活前期单步执行程序的自动检测及信息搜集方法及装置
CN100388227C (zh) * 2003-11-18 2008-05-14 神达电脑股份有限公司 计算机总线周期单步中断除错信息自动搜集方法及装置
CN100373348C (zh) * 2003-11-18 2008-03-05 神达电脑股份有限公司 笔记本计算机启动前期单步中断除错装置及方法
CN100362486C (zh) * 2003-11-26 2008-01-16 神达电脑股份有限公司 计算机总线周期单步中断除错的装置
US9594655B2 (en) * 2013-07-25 2017-03-14 Altera Corporation Cache debug system for programmable circuits

Also Published As

Publication number Publication date
CN1297194A (zh) 2001-05-30

Similar Documents

Publication Publication Date Title
EP0814404A1 (en) Debugging apparatus for debugging a program
JPS5851292B2 (ja) 診断/デバツク計算システム
CN1306639A (zh) 用于嵌入式系统的实时调试器接口
EP0073630B1 (en) Apparatus for external control of computer program flow
CN102063367B (zh) 针对当机程序的离线分析方法及装置
CN1176422C (zh) 电脑系统的启动前期排错装置及方法
JP2005070950A (ja) プログラム処理装置
US8146056B1 (en) Debugging a computer program by interrupting program execution in response to access of unused I/O port
CN111367742A (zh) 调试mvp处理器的方法、装置、终端和计算机可读存储介质
CN101042671A (zh) 一种用于数字信号处理器的调试系统及其调试方法
CN114036047A (zh) 一种基于串口的固件即时调试器的实现方法
CN1831785A (zh) 应用于固件程序除错的微处理器与方法
CN100533401C (zh) 测试具有异步微控制器的集成电路的仿真和调试接口
US5121393A (en) System for testing a microprocessor
CN113535490B (zh) 侦错装置及其操作方法
US12124355B2 (en) Remote software debugging method for embedded terminals
US7716533B2 (en) System and method for trapping bus cycles
TW432277B (en) Pre-boot debugging device and method of computer system
US20240045788A1 (en) Remote software debugging method for embedded terminals
JP2659366B2 (ja) デバッグ方法及びその装置
Li et al. Research of “Stub” remote debugging technique
JPS61221837A (ja) コンピユ−タの検査方法
JPH01287752A (ja) デバッグ装置
KR920010976B1 (ko) 소프트웨어 추적(trace)용 툴(tool)
Grant et al. Pseudo-emulation facilities for the ferranti FDS-10 development system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041117

Termination date: 20091218