CN101114230A - Method for reading and selecting ROM program code from storage device - Google Patents
Method for reading and selecting ROM program code from storage device Download PDFInfo
- Publication number
- CN101114230A CN101114230A CNA200610107862XA CN200610107862A CN101114230A CN 101114230 A CN101114230 A CN 101114230A CN A200610107862X A CNA200610107862X A CN A200610107862XA CN 200610107862 A CN200610107862 A CN 200610107862A CN 101114230 A CN101114230 A CN 101114230A
- Authority
- CN
- China
- Prior art keywords
- program
- partition
- storage device
- oprom
- memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005192 partition Methods 0.000 claims abstract description 63
- 230000015654 memory Effects 0.000 claims abstract description 42
- 230000002093 peripheral effect Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000010998 test method Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 5
- 230000003213 activating effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
技术领域technical field
本发明是一种读取选择只读存储器程序代码的方法,尤指一计算机装置在开机时,可自动至一储存装置,读取并执行其中所储存用以驱动该计算机装置上各式转接卡所需的选择只读存储器(Option ROM,以下简称OpROM)程序代码,以顺利激活与各该转接卡相连接的外围设备。The present invention is a method for reading the program code of the selected read-only memory, especially when a computer device is turned on, it can automatically go to a storage device, read and execute the code stored therein to drive various switches on the computer device. Option ROM (Option ROM, hereinafter referred to as OpROM) program code required by the card to successfully activate the peripheral devices connected to each adapter card.
背景技术Background technique
计算机装置(如:桌上型计算机、笔记本型计算机及服务器等)上所安装的选择只读存储器(Option ROM,以下简称OpROM),一般是指被基本输入/输出系统(Basic Input/Out put System,以下简称BIOS)称为韧体(firmware)的常驻程序,以计算机装置上所安装的转接卡(adapter card or daughtercard)为例,该转接卡上所储存的OpROM是在外围设备(peripheral device)通过该转接卡与该计算机装置相连接时,用以控制该外围设备的开机(boot),使该计算机装置的BIOS得通过质问(interrogate)OpROM的方式,决定令那几台与其相连接的外围设备被开机(booted)。The optional read-only memory (Option ROM, hereinafter referred to as OpROM) installed on computer devices (such as: desktop computers, notebook computers, servers, etc.), generally refers to the basic input/output system (Basic Input/Output System) , hereinafter referred to as BIOS) is called the resident program of firmware (firmware). Take the adapter card (adapter card or daughtercard) installed on the computer device as an example, the OpROM stored on the adapter card is in the peripheral equipment ( When the peripheral device is connected to the computer device through the adapter card, it is used to control the boot of the peripheral device, so that the BIOS of the computer device can determine which ones are connected to the computer device by interrogating the OpROM. The connected peripheral device is powered on (booted).
为使市售的各式计算机装置能与为数众多的接口设备相连接,厂商在所述计算机装置出厂前,均会在其上安装各式转接卡,传统上,OpROM是常驻在转接卡上,故每一转接卡上均必需设有一用以储存OpROM的闪存,为数众多的闪存自然造成硬件成本的增加。为节省硬件成本,计算机装置的设计及制造厂商乃选择将OpROM与BIOS一起存放至在的主机板(system board)上所设的闪存(Flash ROM)中,常驻在计算机装置上,使得OpROM在计算机装置的初始化(initialization)过程中被BIOS执行(execute)。原则上,OpROM的存放空间(OpROM Shadow RAM)被限制在128KB大小,该存放空间被所有OpROM共同分享,其限制显然颇为严格。因此,每一转接卡的OpROM均需借摆脱掉一些初始化过程中所使用的初始码(initialization code),仅保留较小空间容量的驱动码(runtime code),以缩小其自身的空间,否则,在存放空间被限制的情形下,计算机装置上所能安装的转接卡数量及其扩充性,自然将因此而受到限制。In order to connect various computer devices on the market with a large number of interface devices, manufacturers will install various adapter cards on the computer devices before leaving the factory. Traditionally, OpROM is resident in the adapter Therefore, each riser card must be provided with a flash memory for storing the OpROM, and a large number of flash memories will naturally increase the hardware cost. In order to save hardware costs, the design and manufacturer of computer devices choose to store OpROM and BIOS together in the flash memory (Flash ROM) set on the motherboard (system board) on the computer device, so that OpROM can be stored in the computer device. It is executed by the BIOS during the initialization process of the computer device. In principle, the storage space of OpROM (OpROM Shadow RAM) is limited to 128KB. This storage space is shared by all OpROMs, and the limitation is obviously quite strict. Therefore, the OpROM of each riser card needs to get rid of some initialization codes (initialization code) used in the initialization process, and only keep the driver code (runtime code) with a small space capacity to reduce its own space, otherwise In the case of limited storage space, the number of riser cards that can be installed on the computer device and its expandability will naturally be limited accordingly.
然而,由于OpROM程序开发者(developer)在对OpROM进行设计及开发时,为测试OpROM的功能,经常需对OpROM进行除错(debug),而更新(update)OpROM时,尚需BIOS程序内容(image)或原始码(source code),以进行重建(rebuilding),此举不仅对程序开发者造成极大的不便,亦极易使厂商所设计的BIOS程序内容或原始码对外泄漏(若OpROM程序为外包设计开发者)。此外,由于OpROM及BIOS一般被存放在计算机装置主机板上的闪存中,故经常性地对OpROM或BIOS程序内容进行更新,极易导致闪存被破坏,此外,由于用以存放OpROM及BIOS程序内容的闪存的空间一般均不大,故无法将大量的OpROM与BIOS放入同一闪存中。However, since the OpROM program developer (developer) often needs to debug the OpROM in order to test the function of the OpROM when designing and developing the OpROM, and when updating the OpROM, the content of the BIOS program ( image) or source code (source code) for reconstruction, which not only causes great inconvenience to program developers, but also easily leaks the content or source code of the BIOS program designed by the manufacturer (if the OpROM program for outsourced design developers). In addition, since the OpROM and BIOS are generally stored in the flash memory on the motherboard of the computer device, updating the contents of the OpROM or BIOS program frequently can easily lead to damage to the flash memory. The space of the flash memory is generally not large, so it is impossible to put a large amount of OpROM and BIOS into the same flash memory.
发明内容Contents of the invention
有鉴于前述问题,发明人经过长久努力研究与实验,终于开发设计出本发明的一种自储存装置上读取选择只读存储器程序代码的方法,期使计算机装置及其上的转接卡无需安装用以存放OpROM的存储器,以降低硬件成本,并达成有效简化OpROM的更新及除错程序、增加该计算机装置的扩充能力及确保BIOS程序不致外泄的功能。In view of the aforementioned problems, the inventor has worked hard for a long time to research and experiment, and finally developed and designed a method for reading the program code of the optional read-only memory on the self-storage device of the present invention, hoping that the computer device and the adapter card on it will not need The memory for storing the OpROM is installed to reduce the hardware cost, and achieve the functions of effectively simplifying the update and debugging procedures of the OpROM, increasing the expansion capability of the computer device, and ensuring that the BIOS program will not be leaked.
本发明的目的是提供一种自储存装置上读取选择只读存储器程序代码的方法,该方法是应用至安装有至少一储存装置的计算机装置上,包括在该储存装置中建立一专用分割区(reserved partition),用以储存驱动该计算机装置上各式转接卡所需的OpROM程序代码,并将该储存装置的相关数据(如:PFA、硬盘编号及存取信道等)存放至该计算机装置上所设的非易失性随机存取存储器(Non-Volatile Random Access Memory,以下简称NVRAM)中,该方法是在该计算机装置的基本输入/输出系统(Basic Input Output System,以下简称BIOS)执行开机自我测试(PoWer-On-Self Test,以下简称POST)程序时,自NVRAM中读取该储存装置的相关数据,再依该相关数据,对该专用分割区所储存的OpROM进行检查,待确认无误后,将OpROM加载该计算机装置的存储器中,依OpROM的BIOS开机规格(BIOS Boot Specification,以下简称BBS)的标准规格执行OpROM的初始程序,且建立一开机连接向量表(BootConnection Vector table,以下简称BCV table),并将该BCV表存放至NVRAM中,在执行BIOS的后续标准程序时,完成OpROM的BIOS开机规格程序,使得与各该转接卡相连接的外围设备得以被顺利激活。The object of the present invention is to provide a method for reading program codes of selected ROMs from a storage device, the method is applied to a computer device with at least one storage device installed, including establishing a dedicated partition in the storage device (reserved partition), which is used to store the OpROM program codes required to drive various adapter cards on the computer device, and store the relevant data of the storage device (such as: PFA, hard disk number and access channel, etc.) to the computer In the non-volatile random access memory (Non-Volatile Random Access Memory, hereinafter referred to as NVRAM) set on the device, the method is in the basic input/output system (Basic Input Output System, hereinafter referred to as BIOS) of the computer device When executing the power-on self-test (PoWer-On-Self Test, hereinafter referred to as POST) program, read the relevant data of the storage device from the NVRAM, and then check the OpROM stored in the dedicated partition according to the relevant data. After confirming that it is correct, load the OpROM into the memory of the computer device, execute the initial program of the OpROM according to the standard specifications of the OpROM's BIOS boot specification (BIOS Boot Specification, hereinafter referred to as BBS), and establish a boot connection vector table (BootConnection Vector table, hereinafter referred to as BCV table), and store the BCV table in the NVRAM. When executing the follow-up standard program of the BIOS, the BIOS boot specification program of the OpROM is completed, so that the peripheral devices connected to each adapter card can be successfully activated.
如此,本发明除可使该计算机装置及各该转接卡上无需安装用以存放OpROM的存储器,有效降低硬件成本外,还可有效简化对OpROM进行更新及除错的程序,大幅缩减因此所浪费的人力及时间,且增加该计算机装置的扩充能力,及确保BIOS程序不致外泄。In this way, the present invention eliminates the need to install a memory for storing OpROM on the computer device and each of the adapter cards, effectively reducing hardware costs, and effectively simplifying the procedures for updating and debugging the OpROM, greatly reducing the cost of the OpROM. Waste manpower and time, and increase the expansion capability of the computer device, and ensure that the BIOS program will not be leaked.
附图说明Description of drawings
图1是本发明在计算机装置的储存装置中预先建立的一专用分割区的架构示意图;1 is a schematic diagram of the structure of a dedicated partition pre-established in the storage device of the computer device according to the present invention;
图2是本发明专用分割区中包含OpROM的韧体的模块架构示意图;Fig. 2 is the block diagram of the firmware that comprises OpROM in the dedicated partition of the present invention;
图3是本发明专用分割区中不包含OpROM的韧体的模块架构示意图;Fig. 3 is the block diagram of the firmware that does not contain OpROM in the dedicated partition of the present invention;
图4是本发明方法的流程示意图;Fig. 4 is a schematic flow sheet of the inventive method;
图5是本发明中BCV表的示意图;及Fig. 5 is the schematic diagram of BCV table among the present invention; And
图6是本发明中BCV表内的项目的优先权指针的示意图。Fig. 6 is a schematic diagram of priority pointers of items in the BCV table in the present invention.
具体实施方式Detailed ways
为使本发明的目的、技术特征及其功效,更清晰明了,兹特举一实施例,并配合图式,详细说明如下:In order to make the purpose of the present invention, technical features and effects thereof clearer, an embodiment is given hereby, and in conjunction with the drawings, the detailed description is as follows:
本发明是一种自储存装置上读取选择只读存储器程序代码的方法,该方法应用至安装有至少一储存装置的计算机装置(如:桌上型计算机、笔记本型计算机及服务器等)上,该方法提供了一使用者工具(tool),该使用者工具类似于磁盘操作系统(Disk Operating System,简称DOS)中所提供的Fdisk.exe功能(utility),包括下列功能选项,供使用者选取:The present invention is a method for reading program codes of a selected read-only memory from a storage device. The method is applied to a computer device (such as a desktop computer, a notebook computer, a server, etc.) equipped with at least one storage device. This method provides a user tool (tool), which is similar to the Fdisk.exe function (utility) provided in the Disk Operating System (DOS for short), including the following function options for the user to choose :
(1)选择一储存装置;(1) Select a storage device;
(2)在所选择的储存装置上建立一专用分割区,该专用分割区的空间大小由使用者指定;(2) Create a dedicated partition on the selected storage device, the size of the dedicated partition is specified by the user;
(3)移除该专用分割区;(3) Remove the dedicated partition;
(4)将外围设备所属的OpROM程序代码储存至该专用分割区中;(4) store the OpROM program code to which the peripheral device belongs in the dedicated partition;
(5)自该专用分割区除OpROM程序代码;及(5) remove the OpROM program code from the dedicated partition; and
(6)在BIOS进行POST期间,选择令哪一个储存装置启动,以激活其中所储存的OpROM程序代码。(6) During the POST period of the BIOS, select which storage device is activated to activate the OpROM program code stored therein.
如此,使用者即可通过该使用者工具,选择在该计算机装置的储存装置中预先建立该专用分割区,用以储存驱动该计算机装置上各式外围设备的转接卡所需的OpROM程序代码。In this way, the user can choose to pre-create the dedicated partition in the storage device of the computer device through the user tool to store the OpROM program codes required to drive the adapter cards of various peripheral devices on the computer device .
在本发明中,该储存装置可为一硬盘,该专用分割区的类型(type)可为23,其空间大小由使用者通过该使用者工具所提供的功能,在硬盘上指定的空间大小,例如4MB,该专用分割区包括一分割区表头(Partition Header)及多个模块(module),参阅图1所示,其中该分割区表头用以储存下列数据:In the present invention, the storage device can be a hard disk, and the type (type) of the dedicated partition can be 23, and its space size is specified by the user through the function provided by the user tool on the hard disk. For example 4MB, the dedicated partition includes a partition header (Partition Header) and a plurality of modules (module), as shown in Figure 1, wherein the partition header is used to store the following data:
(1)签章(Signature):存放在字节0~字节19,如:$OPROM_PARTITION_SN$;(1) Signature: stored in
(2)分割区尺寸(Partition Size):将专用分割区所占用的空间大小存放在字节20~字节23,如:00400000h(4MB);(2) Partition Size: Store the space occupied by the dedicated partition in bytes 20 to 23, such as: 00400000h (4MB);
(3)OpROM专用分割区检查码(OpROM Partition Checksum):用以对OpROM专用分割区进行检查的检查码,包括表头,存放在字节24;及(3) OpROM Partition Checksum (OpROM Partition Checksum): The checksum used to check the OpROM partition, including the header, is stored in byte 24; and
(4)专用分割区表头检查码(Partition header Checksum):用以对专用分割区表头进行检查的检查码,存放在字节25。(4) Partition header Checksum: The checksum used to check the header of the dedicated partition is stored in byte 25.
各该模块可依该专用分割区是否包含OpROM的韧体(firmware)部分,被区分成图2及图3所示的两种不同模块,各该模块分别包括模块本体(module body)及模块表头(module header),其中模块本体用以存放OpROM程序代码(及其韧体,若韧体存在,如图2所示),模块表头则用以储存下列数据:Each of the modules can be divided into two different modules as shown in Figure 2 and Figure 3 according to whether the dedicated partition contains the OpROM firmware (firmware) part, and each of the modules includes a module body and a module table respectively Header (module header), where the module body is used to store the OpROM program code (and its firmware, if the firmware exists, as shown in Figure 2), and the module header is used to store the following data:
(1)模块识别码(Module ID):存放在字节0(byte 0)~字节3,包括厂商识别码(Vendor ID)及装置识别码(Device ID),如:8086h/2682h;(1) Module ID: stored in byte 0 (byte 0) ~
(2)模块尺寸(Module Size):将模块所占用的空间大小,包括表头,存放在字节4~字节7;(2) Module Size: Store the space occupied by the module, including the header, in
(3)旗标(Flag):存放在字节8,用以表示韧体是否存在;(3) Flag (Flag): stored in byte 8, used to indicate whether the firmware exists;
(4)韧体位移值(FirmwaTe Offset):存放在字节9~字节10,用以表示模块中的韧体位于模块内的那个地址;及(4) Firmware offset value (FirmwaTe Offset): stored in byte 9~byte 10, used to indicate the address where the firmware in the module is located in the module; and
(5)模块检查码(Checksum in module):用以对模块进行检查的检查码,包括表头,存放在字节11。(5) Checksum in module: The checksum used to check the module, including the header, is stored in byte 11.
本发明在实施时,需先将该硬盘的相关数据,如:硬盘控制器的PCI装置地址(Peripheral Component Interconnect Function Address,以下简称PFA)、硬盘编号及存取信道(经由INT 13存取硬盘的信道)等,存放至该计算机装置上所设的一非易失性随机存取存储器(Non-Volatile Random AccessMemory,以下简称NVRAM)中;在本发明的以下叙述中,亦将该储存装置的相关数据称之为扩充的PFA(Extended PFA,以下简称EPFA),以有别于PFA。When the present invention is implemented, the relevant data of the hard disk needs to be earlier, such as: the PCI device address (Peripheral Component Interconnect Function Address, hereinafter referred to as PFA) of the hard disk controller, the hard disk serial number and the access channel (via INT 13 to access the hard disk) channel), etc., are stored in a non-volatile random access memory (Non-Volatile Random Access Memory, hereinafter referred to as NVRAM) set on the computer device; in the following description of the present invention, the relevant The data is called extended PFA (Extended PFA, hereinafter referred to as EPFA) to distinguish it from PFA.
如此,当该计算机装置被激活后,即可依下列步骤,参阅图4所示,将OpROM自该专用分割区加载至该计算机装置的存储器中,进而顺利激活与各该转接卡相连接的外围设备:In this way, after the computer device is activated, the OpROM can be loaded from the dedicated partition into the memory of the computer device according to the following steps, as shown in FIG. peripheral equipment:
(101)在该计算机装置执行BIOS的POST程序期间,即在随插即用(Plugand Play,简称以下PnP)的程序被执行后,且在所述OpROM程序代码进行初始化程序前,自NVRAM中读取EPFA;(101) During the POST program of the BIOS executed by the computer device, that is, after the program of Plug and Play (hereinafter referred to as PnP) is executed, and before the initialization program of the OpROM program code, read from the NVRAM Take EPFA;
(102)依据EPFA中的PFA,将各该外围设备(如:设于主机板上的SCSI或设于转接卡上的SCSI或主机板上的ATA)所对应的OpROM程序代码的存放位置找出来,并执行其初始化程序代码(initial code);若OpROM程序代码包含开机连接向量(Boot Connection Vector,以下简称BCV)的程序进入点,则依EPFA中的硬盘编号,执行OpROM程序代码中的相对应的BCV程序,以借该初始化程序代码完成外围设备的初始化作业(initialization),且检测外围设备是否已正确被连接至该计算机装置,并依该硬盘编号,通过存取信道(如:在CHS模式下为INT 13h或在LBA模式下为INT 13h extention),至该硬盘中指定的区段(sector)读取主机开机记录(Master Boot Record,以下简称MBR)。(102) According to the PFA in the EPFA, find the storage location of the OpROM program code corresponding to each of the peripheral devices (such as: being located on the SCSI on the motherboard or being located on the SCSI on the adapter card or the ATA on the motherboard) out, and execute its initialization program code (initial code); if the OpROM program code contains the program entry point of the boot connection vector (Boot Connection Vector, hereinafter referred to as BCV), then execute the corresponding part of the OpROM program code according to the hard disk number in the EPFA The corresponding BCV program is used to complete the initialization operation (initialization) of the peripheral equipment by means of the initialization program code, and detect whether the peripheral equipment has been correctly connected to the computer device, and according to the hard disk number, through the access channel (such as: in CHS mode is INT 13h or in LBA mode is INT 13h extention), read the host boot record (Master Boot Record, hereinafter referred to as MBR) to the specified sector (sector) in the hard disk.
在此需特别说明的是,BCV项目是置放在PnP OpROM的扩充表头(Expansion Header)内,兹谨以一内含BCV的OpROM为例说明,其BBS的BCV表是在POST时被建立,以硬盘的名称字符串(name string)作为指针(pointer),如图5所示,包括下列三种类型(type):What needs to be specially explained here is that the BCV item is placed in the expansion header (Expansion Header) of the PnP OpROM. Here is an example of an OpROM containing BCV. The BCV table of the BBS is created during POST , using the name string of the hard disk as a pointer, as shown in Figure 5, including the following three types:
(1)BIOS处理程序(handler):本发明将其称之为先进科技连接(Advanced Technology Attachment,以下简称ATA)装置(device),如:主机板上(onboard)的ATA驱动接口,提供主要及次要信道(Primary/secondarychannel),且由BIOS提供钩接(Hook)上存取信道INT 13h所须的程序代码;(1) BIOS processing program (handler): the present invention refers to it as an advanced technology attachment (Advanced Technology Attachment, hereinafter referred to as ATA) device (device), such as: the ATA driver interface on the main board (onboard), providing main and The secondary channel (Primary/secondarychannel), and the program code required for accessing the channel INT 13h on the hook (Hook) is provided by the BIOS;
(2)随插即用(Plug and Play,以下简称PnP)转接卡上设置的BCV项目:每一BCV项目对应于一硬盘,如:BCV#1及BCV#2,并于执行OpROM初始化程序后由BIOS呼叫(call)执行BCV,以钩接上存取信道INT 13h;及(2) BCV items set on the Plug and Play (PnP) adapter card: each BCV item corresponds to a hard disk, such as:
(3)其余不含PnP兼容设定(compatible configurability)及扩充表头(Expansion Header)的标准ISA/PCI转接卡:本发明在此将其称之为传统转接卡(Legacy Cards),所述设有OpROM的传统转接卡是由其中的初始化程序代码直接钩接上存取信道INT 13h。(3) Other standard ISA/PCI adapter cards that do not contain PnP compatible settings (compatible configurability) and expansion headers (Expansion Header): the present invention refers to them as traditional adapter cards (Legacy Cards), so The traditional riser card provided with OpROM is directly connected to the access channel INT 13h by the initialization program code therein.
其BCV优先权(priority)的指针是存放在该计算机装置的非易失性存储器(NV memory)中,如图6所示,用以索引(index)出该BCV表中存放的某一特定的装置,该BCV表中装置的数量,亦存放在非易失性存储器中,且在每次执行POST时,检查是否发生改变,若数量发生改变,BIOS将自动调整BCV表中装置的优先权。复参阅图5所示,当BCV表中的装置被安装后,BIOS将调整BCV优先权顺序,如图6所示,依序为BCV#1,ATA Drives,Legacy Cards及BCV#2;The pointer of its BCV priority (priority) is stored in the non-volatile memory (NV memory) of the computer device, as shown in Figure 6, used to index (index) a certain specific value stored in the BCV table. Device, the number of devices in the BCV table is also stored in the non-volatile memory, and each time POST is executed, check whether there is a change. If the number changes, the BIOS will automatically adjust the priority of the device in the BCV table. Referring back to Figure 5, when the devices in the BCV table are installed, the BIOS will adjust the BCV priority order, as shown in Figure 6, the order is
(103)依据MBR的内容,寻找隐藏(hidden)在该硬盘中的该专用分割区,且在找到该专用分割区后,对该专用分割区中签章及分割区表头检查码(Partition header Checksum)进行检查,若签章及检查码均检查无误,即将该专用分割区中存放的所有OpROM程序代码加载(load)至存储器(memory)中,并对OpROM专用分割区检查码(OpROM Partition Checksum)进行检查;(103) According to the content of MBR, search for the special-purpose partition in the hard disk hidden (hidden), and after finding the special-purpose partition, check the signature and partition header check code (Partition header) in the special-purpose partition Checksum) to check, if the signature and the check code are checked correctly, all the OpROM program codes stored in the dedicated partition will be loaded (load) into the memory (memory), and the OpROM special partition check code (OpROM Partition Checksum )Check;
(104)待完成将所有OpROM程序代码加载至存储器的工作后,恢复(restore)至初始状态(original state),即与该存取信道脱钩(unhook),并将BIOS数据区(BIOS Data Area,以下简称BDA)由40:70h回复(restore)成0;在此需特别说明的是,BDA是指在随机存取存储器(RAM)中用以存放BIOS数据的区域,被BIOS用来管理计算机装置所连接的各式外围设备及资源,BDA的区段(segment)起始位置是0040h,其中地址40:75h是用以记录(record)硬盘的数目;(104) After completing the work of loading all OpROM program codes into the memory, restore (restore) to the original state (original state), that is, unhook (unhook) the access channel, and set the BIOS data area (BIOS Data Area, Hereinafter referred to as BDA) from 40:70h to restore (restore) to 0; what needs to be specially explained here is that BDA refers to the area used to store BIOS data in random access memory (RAM), and is used by BIOS to manage computer devices For various peripheral devices and resources connected, the starting position of the segment of BDA is 0040h, and the address 40:75h is used to record the number of hard disks;
(105)依BBS标准规格执行OpROM的初始程序,且在建立一BCV表的过程中,建立本发明所称的一扩充的开机连接向量(Extended BCV)表,并将该EBCV表存放至NVRAM中;在此需特别一提的是,在将所有OpROM程序代码加载至存储器的过程中,优先使用硬盘的专用分割区中存放的所有OpROM程序代码;及(105) carry out the initial procedure of OpROM according to BBS standard specification, and in the process of setting up a BCV table, set up the so-called boot connection vector (Extended BCV) table of an expansion of the present invention, and deposit this EBCV table in the NVRAM ; What needs to be specially mentioned here is that in the process of loading all OpROM program codes into the memory, all OpROM program codes stored in the dedicated partition of the hard disk are preferentially used; and
(106)在执行后续BIOS标准程序时,完成OpROM的BBS,使得与各该转接卡相连接的外围设备得以被顺利激活。(106) When the follow-up BIOS standard program is executed, the BBS of the OpROM is completed, so that the peripheral devices connected to each adapter card can be successfully activated.
据上所述可知,本发明将OpROM储存至该专用分割区,且在该计算机装置被激活后,将OpROM加载至该计算机装置的存储器中,以顺利激活各该转接卡相连接的外围设备的作法,具有下列诸多优点:According to the above, it can be seen that the present invention stores the OpROM in the dedicated partition, and after the computer device is activated, the OpROM is loaded into the memory of the computer device, so as to successfully activate the peripheral devices connected to the riser card approach has the following advantages:
(1)在对OpROM程序代码进行更新时,对该硬盘中专用分割区进行更新,故可确保闪存的安全性;(1) When the OpROM program code is updated, the dedicated partition in the hard disk is updated, so the security of the flash memory can be ensured;
(2)对BIOS程序开发者而言,提供了极大的方便性,即在对OpROM程序代码进行更新时,无需重建BIOS的程序内容,仅需借由置换原专用分割区内的OpROM即可,因此,BIOS程序开发者有任何新的OpROM,仅需利用本发明即可将新的OpROM取代旧的OpROM。对于OpROM开发者而言,亦提供了一极方便的工具,令其可随时测试新的OpROM,而不用重建BIOS的程序内容,可有效避免BIOS原始码被OpROM开发者看到,具有确保BIOS程序内容不致外泄的功能;(2) For BIOS program developers, it provides great convenience, that is, when updating the OpROM program code, there is no need to rebuild the BIOS program content, only by replacing the OpROM in the original dedicated partition. , Therefore, if the BIOS program developer has any new OpROM, he only needs to use the present invention to replace the old OpROM with the new OpROM. For OpROM developers, it also provides a very convenient tool, so that they can test the new OpROM at any time without rebuilding the program content of BIOS, which can effectively prevent the BIOS source code from being seen by OpROM developers, and ensure the BIOS program The function that the content will not be leaked;
(3)新的OpROM被存放在大储存装置(mass storage)中,如:硬盘等,故在没有空间限制的情形下,可存放大量的OpROM程序代码,当BIOS闪存的储存空间不足时,可将其余OpROM程序代码存放于大储存装置中,以有效解决BIOS闪存储存空间不足以存放所有OpROM程序代码的问题,不仅如此,本发明亦可选择将所有OpROM程序代码(VGA的OpROM程序代码除外)都存放于大储存装置,只需以较小储存空间的只读存储器去储存BIOS的程序内容,如此,将可有效降低BIOS闪存的建置成本;(3) The new OpROM is stored in a large storage device (mass storage), such as a hard disk, so it can store a large amount of OpROM program codes without space restrictions. When the storage space of the BIOS flash memory is insufficient, it can be Store the remaining OpROM program codes in the large storage device to effectively solve the problem that the BIOS flash memory storage space is not enough to store all the OpROM program codes. Not only that, the present invention can also choose to store all the OpROM program codes (except the OpROM program codes of VGA) They are all stored in a large storage device, and only a ROM with a small storage space is required to store the program content of the BIOS. This will effectively reduce the construction cost of the BIOS flash memory;
(4)由于,每一个计算机装置一般均配置有至少一硬盘,且驱动该硬盘(如:SATA硬盘)的驱动程序一般均存放于主机板上所设的BIOS闪存中,或驱动该硬盘(如:SCSI硬盘)的OpROM程序代码一般均存放于转接卡上所设的闪存,故利用硬盘来作为储存装置完全不需增加额外的费用,而所有OpROM程序代码所占用的总空间相对于硬盘空间实微不足道,故对所有OpROM程序代码而言,已无空间不足的问题;(4) Because, each computer device is generally all equipped with at least one hard disk, and the driver program that drives this hard disk (such as: SATA hard disk) is generally all stored in the BIOS flash memory that is set on the motherboard, or drives this hard disk (such as: : SCSI hard disk) OpROM program codes are generally stored in the flash memory set on the adapter card, so there is no need to add additional costs to use a hard disk as a storage device, and the total space occupied by all OpROM program codes is compared to the hard disk space Insignificant, so for all OpROM program code, there is no problem of insufficient space;
(5)硬盘所提供的大量储存空间,将可用以存放大量的OpROM韧体程序,每一转接卡上因此无需设计或预留用以存放OpROM程序代码的存储器空间,故可大幅降低存储器的建置成本;(5) The large amount of storage space provided by the hard disk can be used to store a large number of OpROM firmware programs. Therefore, there is no need to design or reserve a memory space for storing OpROM program codes on each adapter card, so the memory usage can be greatly reduced. construction cost;
(6)若欲支持(support)新的转接卡,但BIOS的闪存空间不足时,只要将其OpROM程序代码存入硬盘即可,有效增加了计算机装置的扩充能力。(6) If you want to support (support) a new adapter card, but when the flash memory space of the BIOS is insufficient, you only need to store the OpROM program code in the hard disk, which effectively increases the expansion capability of the computer device.
以上所述,仅为本发明的一最佳具体实施例,本发明的特征并不局限于此,任何熟悉该项技艺者在本发明领域内,可轻易思及的变化或修饰,皆应涵盖在本发明的申请专利范围中。The above is only a preferred embodiment of the present invention, and the features of the present invention are not limited thereto. Any changes or modifications that can be easily conceived by those skilled in the art in the field of the present invention should be covered. In the patent scope of the present invention.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610107862XA CN100498710C (en) | 2006-07-26 | 2006-07-26 | Method for reading and selecting ROM program code from storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610107862XA CN100498710C (en) | 2006-07-26 | 2006-07-26 | Method for reading and selecting ROM program code from storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101114230A true CN101114230A (en) | 2008-01-30 |
CN100498710C CN100498710C (en) | 2009-06-10 |
Family
ID=39022592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200610107862XA Expired - Fee Related CN100498710C (en) | 2006-07-26 | 2006-07-26 | Method for reading and selecting ROM program code from storage device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100498710C (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955822A (en) * | 2016-04-22 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | Method for improving space utilization rate of BIOS Legacy Option ROM |
CN107621940A (en) * | 2017-09-18 | 2018-01-23 | 联想(北京)有限公司 | The update method and electronic equipment of a kind of initialization program |
CN108509224A (en) * | 2018-03-19 | 2018-09-07 | 联想(北京)有限公司 | Acquisition methods and electronic equipment, the computer storage media of optional internal storage data |
CN109426506A (en) * | 2017-08-22 | 2019-03-05 | 佛山市顺德区顺达电脑厂有限公司 | Select the loading method of read-only memory |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5660991A (en) * | 1994-10-28 | 1997-08-26 | Lakowicz; Joseph R. | Long lifetime anisotropy (polarization) probes for clinical chemistry, immunoassays, affinity assays and biomedical research |
CN1282910A (en) * | 1999-08-02 | 2001-02-07 | 神达电脑股份有限公司 | A method for system booting with multiple selections |
US6513114B1 (en) * | 1999-12-08 | 2003-01-28 | Dell Products L.P. | System and methods for providing selectable initialization sequences |
CN1173252C (en) * | 2002-01-09 | 2004-10-27 | 英业达股份有限公司 | Computer system starting unit selecting device |
CN1249579C (en) * | 2002-11-18 | 2006-04-05 | 英业达股份有限公司 | The method of loading the preset value of computer startup |
-
2006
- 2006-07-26 CN CNB200610107862XA patent/CN100498710C/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955822A (en) * | 2016-04-22 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | Method for improving space utilization rate of BIOS Legacy Option ROM |
CN109426506A (en) * | 2017-08-22 | 2019-03-05 | 佛山市顺德区顺达电脑厂有限公司 | Select the loading method of read-only memory |
CN109426506B (en) * | 2017-08-22 | 2022-01-28 | 佛山市顺德区顺达电脑厂有限公司 | Loading method for selecting read-only memory |
CN107621940A (en) * | 2017-09-18 | 2018-01-23 | 联想(北京)有限公司 | The update method and electronic equipment of a kind of initialization program |
CN107621940B (en) * | 2017-09-18 | 2021-05-18 | 联想(北京)有限公司 | Method for updating initialization program and electronic equipment |
CN108509224A (en) * | 2018-03-19 | 2018-09-07 | 联想(北京)有限公司 | Acquisition methods and electronic equipment, the computer storage media of optional internal storage data |
Also Published As
Publication number | Publication date |
---|---|
CN100498710C (en) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7293166B2 (en) | Method of indicating a format of accessing an operating system contained on a USB memory device | |
CN106990958B (en) | Expansion assembly, electronic equipment and starting method | |
US9372754B2 (en) | Restoring from a legacy OS environment to a UEFI pre-boot environment | |
US9501289B2 (en) | Method of a UEFI firmware and computer system thereof | |
US6944867B2 (en) | Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems | |
US9239725B2 (en) | System and method for installing an OS via a network card supporting PXE | |
US20080091874A1 (en) | System and method for loading programs from hdd independent of operating system | |
US20030233534A1 (en) | Enhanced computer start-up methods | |
US20030135350A1 (en) | Use of hidden partitions in a storage device for storing BIOS extension files | |
KR100816763B1 (en) | Electronic system using flash memory module as main memory and booting method thereof | |
US20150347151A1 (en) | System and method for booting from a non-volatile memory | |
CN104424140B (en) | Unified Extensible Firmware Interface driver | |
US8291206B2 (en) | Method for booting computer system | |
US7080164B2 (en) | Peripheral device having a programmable identification configuration register | |
CN100498710C (en) | Method for reading and selecting ROM program code from storage device | |
US7356684B2 (en) | Booting system and/or method for initializing peripherals | |
US7849300B2 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
US11221842B2 (en) | Systems and methods for executing and verifying system firmware update before committing firmware update to motherboard | |
JP4735765B2 (en) | Linux program startup system | |
TW200805083A (en) | Method of reading OpROM image from storage device | |
TW201734800A (en) | Method for setting redundant array of independent disks | |
US20040255075A1 (en) | Apparatus and method for flash ROM management | |
CN102346676B (en) | Calculator multiple boot management method | |
JP5723554B2 (en) | Multi-boot manager method | |
CN100403262C (en) | Computer device starting method and computer device using same |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191213 Address after: Room 103, building 1, Nanhu Yayuan, Yangzhuang street, Lieshan District, Huaibei City, Anhui Province Patentee after: Huaibei Shanda Intellectual Property Operation Co., Ltd Address before: Taipei City, Taiwan Chinese Shilin District Hougang Street No. 66 Patentee before: Yingda Co., Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090610 Termination date: 20190726 |
|
CF01 | Termination of patent right due to non-payment of annual fee |