《基本输入输出系统测试方法.pdf》由会员分享,可在线阅读,更多相关《基本输入输出系统测试方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102955735 A(43)申请公布日 2013.03.06CN102955735A*CN102955735A*(21)申请号 201110246906.8(22)申请日 2011.08.24G06F 11/36(2006.01)(71)申请人英业达股份有限公司地址中国台湾台北市士林区后港街66号(72)发明人曾威榤(74)专利代理机构北京同立钧成知识产权代理有限公司 11205代理人臧建明(54) 发明名称基本输入输出系统测试方法(57) 摘要一种基本输入输出系统测试方法。此测试方法包括下列步骤。在执行BIOS以初始化计算机系统完毕后,并且在操作系统被启动之前,检。
2、查一循环文件是否存在。当此循环文件不存在时,便产生此循环文件,并在此循环文件中设定总量循环数字以及当前循环数字,其中当前循环数字将被设定为0。当循环文件中当前循环数字小于总量循环数字时,便依据当前循环数字来决定BIOS的烧录版本以执行一BIOS烧录命令。以及,对此计算机系统执行一重新开机命令。藉此,此BIOS测试方法可自动进行不同BIOS固件码版本之间的循环烧录测试。(51)Int.Cl.权利要求书1页 说明书4页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 1 页 说明书 4 页 附图 2 页1/1页21.一种基本输入输出系统测试方法,适用于一计算机系统,该基。
3、本输入输出系统测试方法包括:在执行该基本输入输出系统以使该计算机系统初始化完毕后以及一操作系统被启动之前,检查一循环文件是否存在;当该循环文件不存在时,产生该循环文件,并在该循环文件中设定一总量循环数字以及一当前循环数字,其中该总量循环数字为一正整数且该当前循环数字设定为0;当该循环文件存在时,将该当前循环数字加1;当该循环文件中该当前循环数字小于该总量循环数字时,依据该当前循环数字决定该基本输入输出系统的烧录版本以执行一基本输入输出系统烧录命令;以及对该计算机系统执行一重新开机命令。2.根据权利要求1所述的基本输入输出系统测试方法,其中依据该当前循环数字决定该基本输入输出系统的烧录版本以进行。
4、该基本输入输出系统烧录命令包括下列步骤:在该计算机系统中预备N个基本输入输出系统固件码,其中N为大于1的正整数;以及依据第i+1个基本输入输出系统固件码执行该基本输入输出系统烧录命令,其中i为该当前循环数字除以N的余数。3.根据权利要求1所述的基本输入输出系统测试方法,其中依据该当前循环数字决定该基本输入输出系统的烧录版本以进行该基本输入输出系统烧录命令包括下列步骤:在该计算机系统中预备一第一基本输入输出系统固件码及一第二基本输入输出系统固件码;当该当前循环数字为奇数时,依据该第一基本输入输出系统固件码执行该基本输入输出系统烧录命令;以及当该当前循环数字为偶数时,依据该第二基本输入输出系统固件。
5、码执行该基本输入输出系统烧录命令。4.根据权利要求1所述的基本输入输出系统测试方法,其中还包括:当该循环文件中该当前循环数字等于该总量循环数字时,中止该基本输入输出系统测试方法。5.根据权利要求1所述的基本输入输出系统测试方法,其中该计算机系统在该基本输入输出系统执行完毕后及启动该操作系统前,一启动程序执行一执行文件以进行该基本输入输出系统测试方法。权 利 要 求 书CN 102955735 A1/4页3基本输入输出系统测试方法技术领域0001 本发明涉及一种基本输入输出系统(Basic Input/Output System;BIOS)的固件烧录技术,尤其涉及一种利用多个版本进行BIOS测试。
6、方法。背景技术0002 计算机系统中,基本输入输出系统(basic input/output system;BIOS)在开机时扮演着十分重要的角色。BIOS是计算机系统在载入过程中最基本的软件程序码,其主要功能便是在开机时进行开机自我测试(power on self test;POST),以初始化计算机系统内的硬件装置,检测这些硬件设备的状态是否正常。BIOS的程序码通常保存在计算机系统的主机板的非易失性存储器(nonvolatile memory)中(例如:闪速存储器(flash memory)。0003 当在硬件装置在初始化操作的设定值需要变更、或是希望调整BIOS固件码的部分功能时,便需。
7、要对BIOS固件码进行修改。如此一来,便会衍生出许多不同版本的BIOS固件码。在拿捏计算机系统的效能需求及稳定度时,使用者很有可能会时常进行BIOS固件码的版本调整,例如,将计算机系统的BIOS版本升级(upgrade)/降级(downgrade)。0004 计算机系统生产厂商为了针对主机板上的闪速存储器来进行BIOS固件码版本的升级/降级压力测试,测试人员必须以手动方式进行不同版本BIOS的循环烧录及开机验证,才能从中判断此版本的BIOS固件码是否稳定,并且在不同版本BIOS的交互烧录过程中验证其不会出现无法预期的错误。因此,如何让计算机系统可自行进行不同版本BIOS的交互烧录,并可在出现错。
8、误时能够及时告知测试人员,便是在BIOS固件更新技术中所欲待解决的问题。发明内容0005 本发明提供一种BIOS测试方法,其不需进入操作系统,便可自动进行不同BIOS固件码版本之间的循环烧录测试。0006 本发明提出一种BIOS测试方法,此BIOS测试方法适用于计算机系统中。此BIOS测试方法包括有下列步骤。在执行BIOS以初始化计算机系统完毕后并且一操作系统在被启动之前,先行检查一循环文件是否存在。当此循环文件不存在时,便产生上述循环文件,并在此循环文件中设定一总量循环数字以及一当前循环数字,其中,总量循环数字为一正整数,且当前循环数字此时被设定为0。当上述循环文件存在时,便将当前循环数字加。
9、1。当上述当前循环数字小于上述总量循环数字时,便可依据上述当前循环数字决定此BIOS的烧录版本以执行一BIOS烧录命令。以及,执行一重新开机命令以将此计算机系统重新开机。0007 在本发明的一实施例中,依据当前循环数字决定BIOS的烧录版本以进行BIOS烧录命令包括有下列步骤。在上述计算机系统中预备有N个BIOS固件码,其中N为大于1的正整数。依据第(i+1)个BIOS固件码执行上述BIOS烧录命令,其中i为上述当前循环数字除以N的余数。说 明 书CN 102955735 A2/4页40008 在本发明的一实施例中,依据上述当前循环数字决定BIOS的烧录版本以进行BIOS烧录命令包括下列步骤。。
10、在上述计算机系统中预备第一BIOS固件码及第二BIOS固件码。当上述当前循环数字为奇数时,依据第一BIOS固件码执行此BIOS烧录命令。以及,当上述当前循环数字为偶数时,便依据第二BIOS固件码执行此BIOS烧录命令。0009 在本发明的一实施例中,上述的BIOS测试方法还包括下列步骤。当上述循环文件内的当前循环数字等于总量循环数字时,便中止此BIOS测试方法。0010 在本发明的一实施例中,上述的计算机系统在BIOS执行完毕之后以及启动操作系统之前,启动程序(boot loader)执行一执行文件以进行所述BIOS测试方法。0011 基于上述,本发明实施例是针对多个BIOS固件码版本进行BI。
11、OS的升级/降级压力测试。也就是说,在BIOS正常执行完毕后与启动操作系统以前,计算机系统利用启动程序来执行本发明实施例所述的BIOS测试方法,便可利用自动方式测试BIOS在各种不同版本之间的循环烧录过程中是否会发生问题。此外,本实施所述的BIOS测试方法不需进入计算机系统的操作系统中便可进行BIOS烧录,因此可降低压力测试所需耗费的时间。0012 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明0013 图1是根据本发明一实施例说明BIOS测试方法的流程图。0014 图2是图1的步骤S160的详细流程图。0015 图3为另一实施例中图1的步骤S160。
12、的详细流程图。0016 附图标记:0017 S110S320:步骤具体实施方式0018 现将详细参考本发明的示范性实施例,在附图中说明所述示范性实施例的实例。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/符号代表相同或类似部分。0019 以现有的BIOS固件烧录技术中,BIOS烧录测试的方式通常是计算机系统在进入其操作系统后,以应用程序来进行BIOS烧录及BIOS的功能验证,上述方式亦需要进入操作系统才能执行。此外,上述BIOS烧录测试的方式通常仅能以单一版本的BIOS固件码,对计算机系统中主机板上专门储存BIOS固件码的存储单元(例如,闪速存储器)进行重复烧录测试,而无法对多。
13、个版本的BIOS固件码自动进行交叉烧录或是循环烧录。0020 于此,本发明实施例的精神在于,本实施例所述的BIOS测试方法可在设定完成后自动进行不同版本的BIOS固件码的循环烧录测试,并且不需要进入操作系统即可完成。图1是根据本发明一实施例说明BIOS测试方法的流程图。请参照图1,本发明实施例所述的BIOS测试方法适用于具有BIOS的计算机系统中,例如台式计算机、笔记本式计算机、部分平板计算机等计算机装置,本发明并不限制于此。0021 一般而言,计算机系统在执行开机动作时,其中的中央处理单元(CPU)会先进行BIOS固件码的验证,并执行BIOS固件码当中的开机自我测试(POST)程序,以初始化。
14、计算机说 明 书CN 102955735 A3/4页5系统内的硬件装置,并逐步检测这些硬件设备的状态是否正常。因此,如图1所示,在步骤S110中,计算机系统在开机时首先会执行BIOS,以使计算机系统中的硬件装置皆初始化完毕。0022 如果BIOS固件码在烧录过程中有出错、或是BIOS固件码在交互烧录验证中发生问题时,大部分会在开机自我测试(POST)程序中产生错误。因此,如果在POST程序中发生错误而形成当机、自动重开机或其他情况,就可以合理猜测这个版本的BIOS固件码可能发生问题。0023 接着,当BIOS执行完毕,并且计算机系统在POST程序中皆正常之后,通常会接续执行一启动程序(boot。
15、 loader),这个启动程序用来引导此计算机系统的操作系统启动,以顺利启动本计算机系统。然而,于本实施例的步骤S120中,启动程序则是执行一执行文件以进行本实施例所述的BIOS测试方法,藉以检查计算机系统中是否存在一循环文件。0024 循环文件为本BIOS测试方法所产生的一个参数暂存处。由于假设本BIOS测试方法为第一次执行,因此并不会出现上述的循环文件。因此,便从步骤S 120进入步骤S 130以自动产生一个循环文件,这个循环文件中亦设定有两个数字,分别是总量循环数字及当前循环数字。0025 总量循环数字便是执行此BIOS测试方法的测试人员所希望进行BIOS烧录的循环次数。总量循环数字可在。
16、启动程序第一次执行BIOS测试方法时让测试人员或使用者进行设定,或是以预设的方式来设定此总量循环数字。于本实施例而言,可对此总量循环数字设定为500,但不依此为限。0026 相对而言,当前循环数字便是目前此BIOS测试方法所执行的次数,因此在步骤S130中便会直接将当前循环数字设定为0。在执行完步骤S130后,便进入步骤S150,判断循环文件中的当前循环数字是否小于总量循环数字。当前循环数字小于总量循环数字时,表示BIOS测试方法尚未结束,而由步骤S150进入步骤S160。0027 相对地,如果当前循环数字大于或等于其总量循环数字时,则表示此BIOS测试方法的循环次数已达到测试人员所指定的次数。
17、,因此便从步骤S150进入步骤S180以中止此BIOS测试方法。于本实施例中,在中止此BIOS测试方法之后,启动程序便会继续引导此计算机系统的操作系统以使其启动。0028 有鉴于此,本实施例所述的BIOS测试方法适用在BIOS正常执行完毕后,以及启动程序将要引导操作系统启动之前的时间区段。因此,本BIOS测试方法并不需随着操作系统的改变而随之修改其程序码,因此可适用于不同操作系统的计算机系统中。0029 于步骤S160中,便可依据当前循环数字来决定本次BIOS的烧录版本,藉以执行一BIOS烧录命令。于此,本发明实施例以图2来说明图1的步骤S160,图2是图1的步骤S160的详细流程图。于本BI。
18、OS测试方法的步骤S 160中,会先执行图2的步骤S210,以在计算机系统中预先准备好在此次BIOS测试方法中进行循环烧录、开机测试的BIOS固件码。本实施例以两个BIOS固件码(例如,第一BIOS固件码及第二BIOS固件码)作为举例。通常而言,测试人员会在执行本BIOS测试方法前便将所需进行循环烧录、开机测试的BIOS固件码预先准备好。0030 接着,步骤S220便判断当前循环数字是否是奇数(odd)还是偶数(even)。如果当前循环数字是奇数时,便进入步骤S230,以依据第一BIOS固件码执行BIOS烧录指令。相对说 明 书CN 102955735 A4/4页6地,如果当前循环数字是偶数时。
19、,便进入步骤S240,以依据第二BIOS固件码执行BIOS烧录指令。0031 回到图1,当BIOS烧录指令执行完毕后,便由步骤S160进入步骤S170,以对计算机系统进行一重新开机指令,使计算机系统自动进行重新开机。接着,计算机系统便回到步骤S110以自动执行BIOS,使计算机系统初始化完毕。然后,由于循环文件已经存在,因此由步骤S120进入步骤S140,将当前循环数字加1,藉以表示本BIOS测试方法已经进行第一次循环烧录,并接续上述本BIOS测试方法的其他步骤,在此不再赘述。0032 上述图2对步骤S160的实现方式仅为说明本实施例的BIOS测试方法步骤S150的其中一种方式,应用本实施例者。
20、应可依据其所需的循环烧录顺序对多个版本的BIOS固件码依此方法进行循环烧录。在此以另一实施例所述的图3的流程图来实现图1的步骤S160,图3为另一实施例中图1的步骤S160的详细流程图。0033 于本实施例中,步骤S310便在计算机系统中预先准备好在此次BIOS测试方法中进行循环烧录、开机测试的N个BIOS固件码,N为正整数且N大于1。然后,便可依据当前循环数字以及其预设的循环烧录规则来随之选择对应版本的BIOS固件码。例如,步骤S320便可依据第(i+1)个BIOS固件码执行上述BIOS烧录命令,其中i为当前循环数字除以N的余数。0034 举例而言,如果N等于5,而当前循环数字为2时,由于当。
21、前循环数字(2)除以N(5)的余数为2,因此步骤S320便可依据第3(2+1)个BIOS固件码来进行BIOS烧录命令,以将第3个BIOS固件码烧录于主机板上的存储单元中。如果N等于5,而当前循环数字为101时,由于当前循环数字(101)除以N(5)的余数为1,因此步骤S320便可依据第2(1+1)个BIOS固件码来进行BIOS烧录命令,以将第2个BIOS固件码烧录于主机板上的存储单元中。0035 综上所述,本发明实施例是针对多个BIOS固件码版本进行BIOS的升级/降级压力测试。也就是说,在BIOS正常执行完毕后与启动操作系统以前,计算机系统利用启动程序来执行本发明实施例所述的BIOS测试方法,便可利用自动执行的方式以测试BIOS在各种不同版本之间的循环烧录过程中是否会发生问题。此外,本实施所述的BIOS测试方法不需进入操作系统便可进行BIOS烧录,因此可降低压力测试所需耗费的时间。0036 虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。说 明 书CN 102955735 A1/2页7图1说 明 书 附 图CN 102955735 A2/2页8图2图3说 明 书 附 图CN 102955735 A。