显示bios查错码的方法及其装置的制作方法

文档序号:6389249阅读:184来源:国知局
专利名称:显示bios查错码的方法及其装置的制作方法
技术领域
本发明涉及一种显示BIOS查错码(debug code)的方法及其装置,尤其是涉及一种通过USB(Universal Serial Bus,通用串联式总线)接口传输显示BIOS查错码的方法及其装置。
一般电脑的结构可用功能层(function layer)来表示,最低一层为硬件,即实际使用的机器;最高一层为应用程序(APP),即使用者操作的接口;介于其间的则是系统软件。系统软件本身可由许多元件组成,包括操作系统(operation system,OS)的核心(kernel)、命令解释程序(或称为外壳,shell)、装置驱动程序及也可能包括的一多任务管理程序(multitaskingsupervisor)。
大部分的结构中同时也包括介于硬件和系统软件之间的一低阶软件层,称之为BIOS(Basic Input/Outptu System,基本输入输出系统)。BIOS利用提供最基础的I/O服务及处理系统的中断(interrupt)请求区分开硬件及系统/应用软件。大多数的电脑系统主要由中断请求所控制,中断请求可经微处理器、系统的硬件或软件产生,BIOS便是其中之一,它能提供一连串逻辑处理的中断信号。当一中断请求发生时,电脑的控制便转移至一中断向量(interrupt vector),定义成“区段(segment)位移(offset)”的地址为BIOS的中断程序(interrupt routine)的入口点(entry point)。BIOS中断服务程序(ISRs,Interrupt Service Routines)能处理由硬件装置传来的中断请求,其使用微处理器及BIOS数据区中的寄存器(register);而BIOS设备服务程序(DSRs,Device Service Routines)则处理由INT指令传来的软件中断请求。通常BIOS使用RAM中的三个数据区,包括中断向量表、BIOS数据区以及延伸的BIOS数据区(例如作电源管理),BIOS同时也使用各种的I/O(输入/输出)口。
当电脑开机时,便会开始启动“引导程序(booting)”,在启动BIOS的过程中首先会执行POST(Power-On Self-Test,加电自检),其包括启动各种测试以确定电脑功能为正确,以及初始化一定硬件装置内的寄存器,且大部分POST执行时也包括载入BIOS程序码(code)到存储器中。POST执行完之后,电脑便载入一如微软的MS-DOS或Windows的操作系统。
BIOS码构成与电脑系统特定硬件最内部的连结,其能测试与初始化特定的硬件装置,诸如存储器控制器、视频控制器、串联通讯控制器、并联通讯控制器、中断控制器、键盘控制器、软盘控制器以及硬盘控制器…等等。BIOS码可作为特定硬件装置与程序之间,如操作系统与应用程序之间的接口。
然而在尚未连接任何可作为显示用的外围设备时,如何才能显示测试的结果,即需通过何者显示查错码的信息。早期解决的方式是通过电脑上设置的ISA(Industry Standard Architecture,工业标准体系结构)/PCI(Peripheral Component Interconnect,外围部件互连)插槽或LPT(LinePrinter,行式打印机)口来传输显示,但是对于近年来一些不具有上述插槽或连接口的电脑,如EASY PC/LegacyFree PC等产品,便无法适用。
因此,本发明的目的在于提供一种显示BIOS查错码的方法及其装置,使启动BIOS测试时,能利用电脑的USB口输出显示其查错码。
根据上述发明目的所提供的BIOS查错码的显示方法,其步骤包括提供一连接至USB口的模块;执行BIOS的POST测试以送出查错码;初始化电脑USB的主控制器;检测并初始化连接至USB口的模块;传送查错码至连接至USB口的模块;以及由连接至USB口的模块显示查错码。
另外,根据上述发明目的所提供的BIOS查错码的显示装置即为上述连接至USB口的模块,它包括有一连接器、一微控制器、一显示驱动以及一显示器。其中用连接器连接该电脑的USB口,再由微控制器通过USB口接收查错码,并控制显示驱动器由显示器显示出查错码。
具体实现的方式需修改BIOS程序码的查错码I/O地址,使查错码能利用USB口传输至上述连接至USB口的模块显示。在较佳实施例中,微控制器以GPIO(General Purpose I/O,通用型输入/输出)管脚连接显示驱动器,控制其驱动显示器显示查错码。
BIOS程序码经修改后传送的流程步骤包括设定电脑系统中存储器的USB数据结构的QH(Queue Head,队列头)及TD(Transfer Descriptor,转移描述符);写入“setup”至PID(程序标识符)中及写入连接至USB口的模块的地址至TD的标记位置(token location);写入连接至USB口的模块的命令位置的地址至TD的缓冲区指针(buffer pointer);写入一“送出查错码”命令至连接至USB口的模块的命令位置;写入连接至USB口的模块的TD地址至QH的元件链接指针,以送出命令至USB总线;写入“out”至PID及写入连接至USB口的模块的地址至TD的标记位置;写入连接至USB口的模块的数据位置的地址至TD的缓冲区指针;写入查错码至连接至USB口的模块的数据位置;以及写入连接至USB口的模块的TD地址至QH的元件链接指针,以送出查错码至USB总线。所显示出的BIOS查错码为一组两位数的十六进制数字码,通过七段显示器或是LED(Light Emitted Diode,发光二极管)显示器便能清楚地显示出查错码。
本发明的优点是,USB接口应为以后电脑系统所必需具备的标准接口,其简单易用,因此可应用于不具有ISA/PCI插槽或LPT口的电脑系统的检测。
为使本发明的上述和其他目的、特征和优点能更简单易懂,故举一较佳实施例,并结合附图,进一步详细说明如下。


图1为本发明一种显示BIOS查错码的装置方框图;图2为本发明实现显示BIOS查错码的方法流程图;以及图3为本发明较佳实施例中BIOS查错码输出至USB的流程图。
POST是电脑系统为了能够正常运作,在设计时所考虑的一项基本功能,目的在于电源启动时能够测试各部分元件是否完好可用,是否有些设备未装上,这便是开机后的加电自检。不同的设备加电自检的内容不同,常见的设备如电脑主机和打印机具有加电自检的功能,电脑主机主要测试存储器的大小、存储器是否完好无缺、键盘的功能是否完备、显示接口卡的种类、硬盘驱动器和软盘驱动器的种类及类型,以及中断控制器和计时器是否完好,若接口卡设定和主机有所冲突时,便会发出警告信息或无法开机。
电脑系统硬件BIOS的程序将执行这一POST的动作,并且对应各种测试的结果,分别以一查错码来表示,通过这一查错码的显示便能使工程人员在检测电脑系统时,了解测试的进程及结果。因此可在公知的BIOS程序码内看到类似下述程序码的内容··mov al xxout 80h al··其中xx为查错码的代号,其为一组两位数的十六进制数字,例如以07表示对系统存储器的测试,08表示对硬盘装置的测试,09表示对软盘装置的测试等等…。而上述程序码的意义为输出xx的查错码至地址为80h的I/O口,该I/O口上插着称之为I/O 80卡的模块,利用其具有的显示元件将查错码显示出来。
本发明要修改BIOS程序码,使BIOS查错码能通过USB口输出。USB口应为未来电脑系统所必需具备的标准接口,因此就算是未来将发展的EASY PC/Legacy Free PC等产品也一定会有USB口,所以通过USB口传送查错码将能适用。
本发明便是要利用USB口来传送BIOS查错码,只要修改BIOS程序码的查错码I/O地址到USB口的I/O地址内便能实现,其硬件的结构如图1所示。
请参照图1,其给出了本发明显示BIOS查错码的装置方框图,可视为一连接至USB口的模块(module)10,包括的元件有一连接器12、一微控制器14、一显示驱动器16以及一显示器18。其中连接器12用以连接电脑系统主机20的USB口22,USB口22本身由一USB主控制器24所控制,利用微控制器14通过USB口22接收查错码,并能控制显示驱动器16由显示器18显示出查错码。此外,微控制器14与显示驱动器16间可由GPIO管脚(pin)15来连接,以GPIO 0~7的八根管脚传输信号,控制显示驱动器16将查错码显示在显示器18上,所使用的显示器18可为一七段显示器或一LED显示器。
实施的方法请参照图2所示的流程,其能实现通过一电脑的USB接口传输BIOS测试的一查错码,首先提供一连接至USB口的模块10(步骤1);接着执行BIOS的POST以送出查错码(步骤2);并初始化电脑USB的主控制器24(步骤3);及检测并初始化连接至USB口的模块10(步骤4),由系统测得模块10并初始化模块的微控制器14来实现;接着便可传送查错码至连接至USB口的模块10(步骤5),即传送至微控制器14;最后由连接至USB口的模块10显示出查错码(步骤6),即利用微控制器14控制显示驱动器16,以将错误信息显示于显示器18。
最后,请参照图3,其给出了本较佳实施例中将BIOS查错码输出至USB口的流程图。针对的是一UHCI(Universal Host Control Interface,通用主控制接口)的USB,首先设定系统的存储器的QH及TD(步骤31);接着写入“setup”至PID中及写入连接至USB口的模块的地址至TD的标记位置(步骤32);并写入连接至USB口的模块的命令位置的地址至TD的缓冲区指针(步骤33);利用写入一“送出查错码”命令至连接至USB口的模块的命令位置(步骤34);最后写入连接至USB口的模块的TD地址至QH的元件链接指针,以送出命令至USB总线(步骤35);以上便使USB得知要输出查错码的指令,接着就是将查错码依类似的步骤输出至USB口。写入“out”至PID及写入连接至USB口的模块的地址至TD的标记位置(步骤36);写入连接至USB口的模块的数据位置的地址至TD的缓冲区指针(步骤37);写入差错码至连接至USB口的模块的数据位置(步骤38);以及写入连接至USB口的模块的TD地址至QH的元件链接指针,以送出查错码至USB总线(步骤39),结束传送查错码的流程。
于是,启动BIOS的POST执行阶段,便可在模块10的七段显示器18上不断看到各查错码显示的信息,根据所显示的查错码可判读正在进行的BIOS测试为何,倘若显示停留在一特定查错码不动,便表示BIOS检测到这一查错码所对应测试的对象有异常的现象,工程人员便可对应此错误码寻找错误发生的原因并解决问题。
虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明。任何本领域的技术人员,在不脱离本发明的精神和范围内,可作适当的修改与润饰,因此本发明的保护范围应以权利要求所界定的范围为准。
权利要求
1.一种显示BIOS查错码的方法,它通过一电脑的通用串联式总线(USB)接口传输启动基本输入输出系统(BIOS)测试的一查错码,其步骤包括提供一连接至USB口的模块;执行该BIOS的加电自检,以送出该查错码;初始化该电脑USB的主控制器;检测并初始化该连接至USB口的模块;传送该查错码至该连接至USB口的模块;以及由该连接至USB口的模块显示出该查错码。
2.如权利要求1所述的显示BIOS查错码的方法,其中该连接至USB口的模块包括有一微控制器、一显示驱动器及一显示器,还包括下列步骤初始化该模块的该微控制器;传送该查错码至该连接至USB口的模块的该微控制器;以及利用该微控制器控制该显示驱动器,以将该查错码显示于该显示器。
3.如权利要求1所述的显示BIOS查错码的方法,其中该USB接口为一通用主控制接口的USB。
4.如权利要求1所述的显示BIOS查错码的方法,其中该查错码传送至该微控制器的步骤还包括设定该电脑系统中存储器的USB数据结构中的队列头及转移描述符;写入“setup”至程序标识符中及写入该连接至USB口的模块的地址至TD的标记位置;写入该连接至USB口的模块的命令位置的地址至TD的缓冲区指针;写入一“送出查错码”命令至该连接至USB口的模块的命令位置;写入连接至USB口的模块的TD地址至QH的元件链接指针,以送出该命令至USB总线;写入“out”至PID及写入该连接至USB口的模块的地址至TD的标记位置;写入该连接至USB口的模块的数据位置的地址至TD的缓冲区指针;写入查错码至该连接至USB口的模块的数据位置;以及写入连接至USB口的模块的TD地址至QH的元件链接指针,以送出该查错码至USB总线。
5.如权利要求2所述的显示BIOS查错码的方法,其中该显示器为一七段显示器。
6.如权利要求2所述的显示BIOS查错码的方法,其中该显示器为一LED显示器。
7.如权利要求1所述的显示BIOS查错码的方法,其中该查错码以一组两位数的数字码的方式显示。
8.如权利要求7所述的显示BIOS查错码的方法,其中显示的该数字码为十六进制的数字码。
9.一种显示BIOS查错码的装置,连于一电脑的通用串联式总线(USB)口,以显示该电脑启动基本输入输出系统测试的一查错码,其至少包括一连接器,连接该电脑的USB口;一微控制器,通过该USB口接收该查错码;一显示驱动器,受该微控制器的控制;以及一显示器,由该显示驱动器驱动以显示出该查错码。
10.如权利要求9所述的显示BIOS查错码的装置,其中该微控制器与该显示驱动器之间以多根通用型输入/输出(GPIO)管脚形成连接。
11.如权利要求10所述的显示BIOS查错码的装置,其中该GPIO管脚为0~7八根管脚。
12.如权利要求9所述的显示BIOS查错码的装置,其中该显示器为一七段显示器。
13.如权利要求9所述的显示BIOS查错码的装置,其中该显示器为一LED显示器。
14.如权利要求9所述的显示BIOS查错码的装置,其中该查错码为一组两位数的数字码。
15.如权利要求14所述的显示BIOS查错码的装置,其中该数字码为十六进制的数字码。
全文摘要
本发明涉及一种显示BIOS查错码的方法及其装置。它利用一通用串联式总线接口,在启动BIOS的测试期间,能利用连结至USB口的模块传输显示查错码。在结构上,它包括一连接器、一微控制器、一显示驱动器以及一显示器。其中连接器用以连接电脑系统主机的USB口,利用微控制器通过USB口接收查错码,并能控制显示驱动器由显示器显示出查错码。本发明能够方便工程人员对电脑系统检测结果的判读及了解,尤其适用于未具有ISA/PCI插槽或LPT口的情况。
文档编号G06F11/00GK1311477SQ00103398
公开日2001年9月5日 申请日期2000年3月3日 优先权日2000年3月3日
发明者李永富, 张朝煌 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1