TW201942743A - Boot testing apparatus, system and method thereof - Google Patents

Boot testing apparatus, system and method thereof Download PDF

Info

Publication number
TW201942743A
TW201942743A TW107110817A TW107110817A TW201942743A TW 201942743 A TW201942743 A TW 201942743A TW 107110817 A TW107110817 A TW 107110817A TW 107110817 A TW107110817 A TW 107110817A TW 201942743 A TW201942743 A TW 201942743A
Authority
TW
Taiwan
Prior art keywords
boot
code
unit
communication unit
startup
Prior art date
Application number
TW107110817A
Other languages
Chinese (zh)
Other versions
TWI660267B (en
Inventor
洪文彬
蔡松叡
Original Assignee
和碩聯合科技股份有限公司
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 和碩聯合科技股份有限公司 filed Critical 和碩聯合科技股份有限公司
Priority to TW107110817A priority Critical patent/TWI660267B/en
Priority to CN201811453143.2A priority patent/CN110321171B/en
Application granted granted Critical
Publication of TWI660267B publication Critical patent/TWI660267B/en
Publication of TW201942743A publication Critical patent/TW201942743A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Abstract

A method for boot testing is applicable to an computing apparatus having a communication unit and a basic input output system unit. The method includes: executing a monitoring code stored in the basic input output system unit to initialize the communication unit; executing a boot code stored in the basic input output system unit to perform a boot process; and based on the monitoring code to send a boot information corresponding to the boot code through the communication unit. Herein, boot testing apparatus and system are also disclosed.

Description

開機檢測裝置、系統及其方法Start-up detection device, system and method

本發明是有關一種開機檢測裝置、系統及其方法,特別是一種即時偵測除錯之開機檢測裝置、系統及其方法。The present invention relates to a boot detection device, system and method thereof, in particular to a boot detection device, system and method thereof for real-time detection and debugging.

在個人電腦或伺服器的開機啟動流程中,通常是由一基本輸入輸出系統(Basic Input/ Output System,BIOS)晶片擔負著初始化硬體、檢測硬體之功能,以及引導作業系統之任務,其中與上述初始化硬體關聯之開機程式碼主要是燒錄在BIOS晶片中。In the boot process of a personal computer or server, a basic input / output system (BIOS) chip is usually responsible for initializing the hardware, detecting the hardware, and guiding the operating system. Among them, The boot code associated with the above initialization hardware is mainly burned into the BIOS chip.

一般而言,為了檢測個人電腦或伺服器等運算裝置(即待測機台)的開機流程,往往只能透過單一的通訊介面,例如:異步接收發射器(Universal Asynchronous Receiver/Ttransmitter,UART),以偵測除錯待測機台之硬體狀態或檢查BIOS程式碼是否損壞;或者,亦有檢測方案是拆開待測機台的機殼,在主機板上額外增設一設晶片線上偵測埠(In-Circuit Probe Port,ITP),以外接一晶片線上模擬器(In-Circuit Emulator,ICE),從而進行偵測除錯的程序。Generally speaking, in order to detect the booting process of computing devices such as personal computers or servers (ie, the machine under test), it is often only through a single communication interface, such as: Universal Asynchronous Receiver / Ttransmitter (UART), To detect and debug the hardware status of the machine under test or to check whether the BIOS code is damaged; or, there are also detection schemes to open the case of the machine under test and add an additional chip line detection on the motherboard In-Circuit Probe Port (ITP) is used to connect to an In-Circuit Emulator (ICE) to perform the debugging process.

然而,上述的檢測技術方案大多是受限於單一的通訊介面或需要增設通訊埠或通訊介面,始能進行偵測除錯,對於使用者而言,十分不便。值得注意的是,無論採取何種技術方案,現有技術並不允許也無法支援除錯工具(BIOS debug tool)透過多種的通訊介面通訊連接待測機台。However, most of the above detection technical solutions are limited to a single communication interface or need to add a communication port or communication interface to detect and debug, which is very inconvenient for users. It is worth noting that no matter what technical solution is adopted, the existing technology does not allow or support the BIOS debug tool to communicate with the machine under test through a variety of communication interfaces.

本發明部分實施例提供一種開機檢測裝置、系統及其方法,主要是利用待測機台之基本輸入輸出系統單元內儲之監看程式碼(Monitoring code)及開機程式碼(BIOS code),在待測機台開機後,執行監看程式碼以初始化通訊單元,隨後執行開機程式碼以進行一開機流程,並透過通訊單元同步傳送相對應開機程式碼之開機資料。由於在最初階段即初始化通訊單元,且通訊單元並不受限於單一的通訊介面且無需增設連接埠,而是待測機台既有的多種通訊介面,因此開機資料即可利用待測機台既有的通訊介面來進行傳送,以供使用者進行後續的偵測除錯。Some embodiments of the present invention provide a boot detection device, system, and method thereof, which mainly use a monitoring code and a BIOS code stored in a basic input-output system unit of a machine under test. After the machine under test is turned on, the monitoring code is executed to initialize the communication unit, and then the startup code is executed to perform a startup process, and the startup data corresponding to the startup code is transmitted synchronously through the communication unit. Because the communication unit is initialized in the initial stage, and the communication unit is not limited to a single communication interface and does not need to add a port, but has a variety of communication interfaces existing on the machine under test, so the machine under test can use the machine under test The existing communication interface is used for transmission for users to perform subsequent detection and debugging.

本發明一實施例之開機檢測方法,其適用於具有一通訊單元及一基本輸入輸出系統單元之一運算裝置,開機檢測方法包含:執行內儲於基本輸入輸出系統單元之一監看程式碼,以初始化通訊單元;執行內儲於基本輸入輸出系統單元之一開機程式碼,以進行一開機流程;以及依據監看程式碼透過通訊單元傳送對應開機程式碼之一開機資料。The startup detection method of an embodiment of the present invention is applicable to a computing device having a communication unit and a basic input / output system unit. The startup detection method includes: executing a monitoring code stored in the basic input / output system unit, The communication unit is initialized; a boot code stored in a basic input / output system unit is executed to perform a boot process; and a boot data corresponding to one of the boot codes is transmitted through the communication unit according to the monitoring code.

本發明另一實施例之開機檢測裝置包含一第一通訊單元、一基本輸入輸出系統單元以及一處理單元。基本輸入輸出系統單元內儲一監看程式碼以及一開機程式碼。處理單元與第一通訊單元及基本輸入輸出系統單元邏輯連接。其中處理單元執行監看程式碼以初始化第一通訊單元,執行開機程式碼以進行一開機流程,以及依據監看程式碼透過第一通訊單元傳送對應開機程式碼之一開機資料。The startup detection device according to another embodiment of the present invention includes a first communication unit, a basic input / output system unit, and a processing unit. A monitoring code and a boot code are stored in the basic input / output system unit. The processing unit is logically connected with the first communication unit and the basic input / output system unit. The processing unit executes the monitoring code to initialize the first communication unit, executes the startup code to perform a startup process, and transmits the startup data corresponding to one of the startup codes through the first communication unit according to the monitoring code.

本發明再一實施例之開機檢測系統包含一開機檢測裝置以及一控制裝置。開機檢測裝置包含一第一通訊單元、一基本輸入輸出系統單元以及一處理單元。基本輸入輸出系統單元內儲一監看程式碼以及一開機程式碼。處理單元與第一通訊單元及基本輸入輸出系統單元邏輯連接。其中處理單元執行監看程式碼以初始化第一通訊單元,執行開機程式碼以進行一開機流程,以及依據監看程式碼透過第一通訊單元傳送對應開機程式碼之一開機資料。控制裝置包含一第二通訊單元以及一控制單元。第二通訊單元與第一通訊單元通訊連接。控制單元與第二通訊單元邏輯連接,且控制單元接收開機資料。A boot detection system according to another embodiment of the present invention includes a boot detection device and a control device. The startup detection device includes a first communication unit, a basic input-output system unit and a processing unit. A monitoring code and a boot code are stored in the basic input / output system unit. The processing unit is logically connected with the first communication unit and the basic input / output system unit. The processing unit executes the monitoring code to initialize the first communication unit, executes the startup code to perform a startup process, and transmits the startup data corresponding to one of the startup codes through the first communication unit according to the monitoring code. The control device includes a second communication unit and a control unit. The second communication unit is communicatively connected with the first communication unit. The control unit is logically connected with the second communication unit, and the control unit receives the startup data.

以下藉由具體實施例配合所附的圖式詳加說明,當更容易瞭解本發明之目的、技術內容、特點及其所達成之功效。In the following, detailed description will be given through specific embodiments in conjunction with the accompanying drawings to make it easier to understand the purpose, technical content, characteristics and effects achieved by the present invention.

以下將詳述本發明之各實施例,並配合圖式作為例示。除了這些詳細說明之外,本發明亦可廣泛地施行於其它的實施例中,任何所述實施例的輕易替代、修改、等效變化都包含在本發明之範圍內,並以申請專利範圍為準。在說明書的描述中,為了使讀者對本發明有較完整的瞭解,提供了許多特定細節;然而,本發明可能在省略部分或全部特定細節的前提下,仍可實施。此外,眾所周知的步驟或元件並未描述於細節中,以避免對本發明形成不必要之限制。圖式中相同或類似之元件將以相同或類似符號來表示。特別注意的是,圖式僅為示意之用,並非代表元件實際之尺寸或數量,有些細節可能未完全繪出,以求圖式之簡潔。Hereinafter, the embodiments of the present invention will be described in detail, and illustrated with drawings. In addition to these detailed descriptions, the present invention can also be widely implemented in other embodiments, and easy replacements, modifications, equivalent changes of any of the embodiments are included in the scope of the present invention, and the scope of the patent application is quasi. In the description of the specification, in order to make the reader have a more complete understanding of the present invention, many specific details are provided; however, the present invention may be implemented without omitting some or all of the specific details. In addition, well-known steps or elements have not been described in detail to avoid unnecessarily limiting the invention. The same or similar elements in the drawings will be represented by the same or similar symbols. It is particularly noted that the drawings are for illustration purposes only and do not represent the actual size or number of components. Some details may not be fully drawn in order to make the drawings concise.

傳統的運算裝置的開機流程主要是由一開機程式碼(BIOS Code)所掌控,其是一種韌體,且儲存於唯讀記憶體(ROM)內,例如:燒錄在基本輸入輸出系統晶片(BIOS IC)內。在運算裝置被啟動後的開機流程中,處理單元讀取並執行基本輸入輸出系統單元內儲之開機程式碼,以初始化硬體、檢測硬體,從而進行一開機流程。The boot process of a traditional computing device is mainly controlled by a BIOS code, which is a kind of firmware and is stored in a read-only memory (ROM), for example, it is burned into the basic input-output system chip ( BIOS IC). During the startup process after the computing device is started, the processing unit reads and executes the startup code stored in the basic input-output system unit to initialize the hardware and detect the hardware to perform a startup process.

請參照圖1,然而,本發明之一實施例之開機檢測裝置1的開機流程是由監看程式碼及開機程式碼所決定,監看程式碼及開機程式碼是一併儲存於基本輸入輸出系統單元12內,如圖1所示,待檢測的開機檢測裝置1包含一通訊單元10、一基本輸入輸出系統單元12以及一處理單元14。Please refer to FIG. 1. However, the boot process of the boot detection device 1 according to an embodiment of the present invention is determined by the monitoring code and the boot code. The monitoring code and the boot code are stored in the basic input and output together. In the system unit 12, as shown in FIG. 1, the startup detection device 1 to be detected includes a communication unit 10, a basic input / output system unit 12, and a processing unit 14.

於一實施例中,監看程式碼自始儲存於基本輸入輸出系統單元12內。In one embodiment, the monitoring code is stored in the basic input / output system unit 12 from the beginning.

於另一實施例中,開機檢測裝置1之基本輸入輸出系統單元12僅存有開機程式碼而無監看程式碼。惟在偵測除錯的需求下,處理單元14控制通訊單元10自外部裝置接收一監看程式碼,嗣後將監看程式碼燒錄於基本輸入輸出系統單元12內(S10),以便於下一次開機檢測裝置1被啟動後,處理單元14將執行監看程式碼及開機程式碼的開機流程。待最終偵測除錯流程執行完後,處理單元14再刪除基本輸入輸出系統單元12內儲之監看程式碼。In another embodiment, the basic input / output system unit 12 of the boot detection device 1 only stores a boot code and no monitoring code. However, under the requirement of detecting and debugging, the processing unit 14 controls the communication unit 10 to receive a monitoring code from an external device, and then burns the monitoring code into the basic input / output system unit 12 (S10), so that After the boot-up detection device 1 is activated once, the processing unit 14 executes the boot-up process of the monitoring code and the boot-up code. After the final detection and debugging process is completed, the processing unit 14 deletes the monitoring code stored in the basic input / output system unit 12.

需說明者,通訊單元10包含但不限於下列通訊介面:通用序列匯流排(Universal Serial Bus,USB)、快捷外設互聯標準匯流排(Peripheral Component Interconnect Express,PCIE)、異步接收發射器(Universal Asynchronous Receiver/Ttransmitter,UART)、或系統管理匯流排(System Management Bus,SM Bus) 等通訊介面,亦即通訊單元10利用開機檢測裝置1既有的多種通訊介面即可傳送開機資料或接收監看程式碼,而不受限於透過特定的通訊介面且無需額外增設其他連接埠或裝置硬體。It should be noted that the communication unit 10 includes, but is not limited to, the following communication interfaces: Universal Serial Bus (USB), Peripheral Component Interconnect Express (PCIE), Universal Asynchronous Receiver / Ttransmitter (UART), or system management bus (System Management Bus, SM Bus) and other communication interfaces, that is, the communication unit 10 can use the various communication interfaces of the boot detection device 1 to transmit boot data or receive monitoring programs Code, without being limited by a specific communication interface and without the need to add additional ports or device hardware.

舉例而言,待測機台是送修的筆記型電腦,在檢測時只有USB通訊介面可正常啟用,其餘通訊介面存有不明原因的故障而暫時無法使用,而傳統的異步接收發射器檢測方法將無法與待測機台建立通訊連線以進行開機流程檢測,或使用者需要在筆記型電腦主機板上額外增設所需之連接埠或通訊線路,惟上述傳統方案都可能導致無法偵測除錯或有維修不易的困境。For example, the machine under test is a notebook computer sent for repair. During the test, only the USB communication interface can be enabled normally. The remaining communication interfaces are temporarily unavailable due to unexplained failures. The traditional asynchronous receiver transmitter detection method It will not be possible to establish a communication connection with the machine to be tested for the startup process detection, or the user needs to add additional ports or communication lines required on the notebook computer motherboard. However, the above-mentioned traditional solutions may result in failure to detect and remove Wrong or difficult to repair.

然而,本發明部分實施例之開機檢測方法,並不受限於單一的通訊介面且無需增設連接埠,而是利用待測機台既有的多種通訊介面傳送開機資料或接收監看程式碼,以供使用者進行後續的偵測除錯,藉此實現支援多種通訊介面之功能,具有高度實用性及便利性。假使待測機台僅剩SM Bus可運作,仍可據以實現本發明部分實施例之開機檢測方法。However, the boot detection method of some embodiments of the present invention is not limited to a single communication interface and does not require additional ports. Instead, it uses multiple existing communication interfaces of the machine under test to send boot data or receive monitoring code. For users to carry out subsequent detection and debugging, thereby realizing the function of supporting multiple communication interfaces, which is highly practical and convenient. If only the SM Bus of the machine under test can be operated, the startup detection method of some embodiments of the present invention can still be implemented.

請一併參照圖1及圖2,以下說明本發明之一實施例之開機檢測方法。為了全程監測待測機台(即開機檢測裝置1)之開機流程,首先,在待測機台仍可開機之狀況下,處理單元14先執行內儲於基本輸入輸出系統單元12之一監看程式碼,以初始化通訊單元10 (S12),隨後執行開機程式碼以進行對應之開機流程(S14)。需說明者,待測機台執行本實施例之開機檢測方法時,對於裝置硬體的初始化順序與傳統的開機流程有所不同,傳統的運算裝置在啟動後、進行開機流程前,不會優先初始化其通訊單元。Please refer to FIG. 1 and FIG. 2 together, and the following describes a startup detection method according to an embodiment of the present invention. In order to fully monitor the startup process of the machine under test (ie, the startup detection device 1), first, under the condition that the machine under test can still be turned on, the processing unit 14 first performs one of the monitoring stored in the basic input and output system unit 12. Code to initialize the communication unit 10 (S12), and then execute the boot code to perform the corresponding boot process (S14). It should be noted that when the machine under test executes the startup detection method of this embodiment, the initialization sequence of the device hardware is different from the traditional startup process. Traditional computing devices do not have priority after startup and before the startup process. Initialize its communication unit.

接著,處理單元14在執行開機程式碼所制定的開機流程時,可依據監看程式碼之要求,傳送待測機台中各硬體裝置所對應的初始化狀態,亦即,處理單元14依據監看程式碼之指令,控制通訊單元10傳送對應開機程式碼之開機資料A1 (S16)。舉例而言,開機資料A1包含但不限於一記憶體(Memory)值、一輸出入裝置(IO)值、外設元件互連(PCI)值、以及一暫存器(Register)值,其中暫存器包含處理單元之特別模組暫存器(Model Specific Registers,MSR),但不以此為限。藉此,使用者可依據通訊單元10所傳送之開機資料A1,進行偵測除錯,例如但不限於:追蹤開機程式碼的執行、逐步檢視開機程式碼之每一指令、監看暫存器值及記憶體值、設定硬體及軟體斷點(Break point)、紀錄開機時間(Boot time)及其流程(Boot flow)、更新BIOS ROM等,詳述如後。Then, the processing unit 14 may transmit the initialization status corresponding to each hardware device in the machine under test according to the requirements of the monitoring code when executing the booting process specified by the startup code, that is, the processing unit 14 performs monitoring according to the monitoring The instruction of the code controls the communication unit 10 to transmit the boot data A1 corresponding to the boot code (S16). For example, the boot data A1 includes, but is not limited to, a memory value, an input / output device (IO) value, a peripheral component interconnect (PCI) value, and a register value. The register includes special module registers (Model Specific Registers, MSR) of the processing unit, but is not limited thereto. In this way, the user can detect and debug according to the boot data A1 transmitted by the communication unit 10, such as, but not limited to, tracking the execution of the boot code, step-by-step inspection of each command of the boot code, and monitoring the register Values and memory values, setting hardware and software break points, recording the boot time and boot flow, updating the BIOS ROM, etc., as detailed below.

於一實施例中,監看程式碼控制待測機台單步執行開機程式碼之每一步指令,且通訊單元10傳送對應開機程式碼中每一步指令之開機資料A1,以診斷開機程式碼的損壞位置。本發明之一實施例可單步執行並單步除錯,而非區段性檢測。亦即,透過監看程式碼,本發明一實施例提供一種來源階段除錯模組(source level debbuger),找出錯誤原始碼所在位置,並使其於顯現於整合開發環境/檢測系統,且在不影響開機流程的情況下,提供資料存取及控制函式。In an embodiment, the monitoring code controls the machine under test to execute each step of the boot code step by step, and the communication unit 10 transmits the boot data A1 corresponding to each step of the boot code to diagnose the boot code. Damage location. One embodiment of the present invention can be performed in a single step and debugs in a single step instead of segmented detection. That is, by monitoring the code, an embodiment of the present invention provides a source level debbuger to find the location of the error source code and make it appear in the integrated development environment / detection system, and Provide data access and control functions without affecting the boot process.

於一實施例中,若開機程式碼有問題或裝置硬體的初始化狀態異常,使用者可提供修改指令A2給待測機台1,舉例而言,修改指令A1可為多種語言指令及組合,因此使用者在整合開發環境/檢測系統裡看見開機程式碼中某一指令錯誤時,可以設定硬體或軟體執行的斷點,找出錯誤原始碼或指令的位置,並即時修改或更新開機程式碼。In an embodiment, if there is a problem with the boot code or the initialization status of the device hardware is abnormal, the user may provide a modification instruction A2 to the machine 1 to be tested. For example, the modification instruction A1 may be a multilingual instruction and combination. Therefore, when the user sees a command error in the boot code in the integrated development environment / detection system, he can set a breakpoint for hardware or software execution, find the location of the error source code or command, and modify or update the boot program in real time. code.

於一實施例中,處理單元14依據修改指令A2,修改開機程式碼或變更暫存器值及記憶體值,以進行異常診斷及排除;或者使用者可提供新版的開機程式碼以覆蓋原始的損壞版本,並燒錄於基本輸入輸出系統單元12晶片內,以更新開機程式碼(即更新BIOS ROM)。亦即,處理單元14透過通訊單元10接收一修改指令A2,依據修改指令A2修改開機程式碼(S18)。同理,上述傳送開機資料A1步驟(S16)以及接收修改指令A2步驟(S18)皆是利用待測機台既有的多種通訊介面,而不受限於透過單一的通訊介面且無需額外增設硬體,即可實現偵測除錯的功能,詳細技術內容已如前述,在此不再冗述。In an embodiment, the processing unit 14 modifies the boot code or changes the register value and the memory value according to the modification instruction A2 for abnormal diagnosis and elimination; or the user may provide a new version of the boot code to cover the original The damaged version is burned into the 12 chip of the basic input output system unit to update the boot code (ie update the BIOS ROM). That is, the processing unit 14 receives a modification instruction A2 through the communication unit 10, and modifies the boot code according to the modification instruction A2 (S18). In the same way, the above-mentioned steps A1 (S16) of transmitting boot data and step A2 (S18) of receiving modification instructions are to use multiple existing communication interfaces of the machine under test. It can realize the function of detecting and debugging. The detailed technical content is as mentioned above, and it will not be repeated here.

基上所述,本發明一實施例之開機檢測方法,其不受限於單一的通訊介面且無需額外增設硬體,而是利用待測機台既有的多種通訊介面接收來自使用者的修改指令,以進行後續的偵測除錯,藉此實現支援多種通訊介面之功能,具有高度實用性及便利性。由於上述開機檢測方法並不受限於待測機台的通訊介面,就硬體面而言,免除增設連接埠或外接線路等硬體成本,即可大幅提升偵測除錯的效率。因此,可以支援多種通訊介面或傳輸協定,以及支援多種統一可延伸韌體介面(Unified Extensible Firmware Interface, UEFI)架構下的開機程式碼(BIOS Code)。此外,透過監看程式碼所提供之來源階段除錯模組,可找出錯誤原始碼所在位置,並使其於顯現於整合開發環境/檢測系統。Based on the above, the startup detection method of an embodiment of the present invention is not limited to a single communication interface and does not require additional hardware. Instead, it uses multiple existing communication interfaces of the machine under test to receive modifications from the user. Instructions for subsequent detection and debugging, thereby achieving the function of supporting multiple communication interfaces, which is highly practical and convenient. Since the above boot detection method is not limited to the communication interface of the machine to be tested, as far as the hardware is concerned, the cost of hardware such as adding ports or external lines can be eliminated, which can greatly improve the efficiency of detection and debugging. Therefore, it can support a variety of communication interfaces or transmission protocols, as well as a variety of Unified Extensible Firmware Interface (UEFI) architecture boot code (BIOS Code). In addition, by monitoring the source-phase debugging module provided by the code, the location of the error source code can be found and displayed in the integrated development environment / detection system.

請參照圖1,顯示本發明一實施例之開機檢測裝置1包含一通訊單元10、一基本輸入輸出系統單元12以及一處理單元14。處理單元14與通訊單元10及基本輸入輸出系統單元12邏輯連接,邏輯連接係指電性連接且實體連接。基本輸入輸出系統單元12內儲一監看程式碼以及一開機程式碼。其中處理單元14執行監看程式碼以初始化通訊單元10,執行開機程式碼以進行一開機流程,以及依據監看程式碼透過第一通訊單元傳送對應開機程式碼之一開機資料。舉例而言,開機資料A1包含但不限於一記憶體值、一輸出入裝置值、外設元件互連值、以及一暫存器值,相關實施例、詳細技術內容及優點已如前述,在此不再冗述。有關通訊單元10、一基本輸入輸出系統單元12以及一處理單元14之技術內容、彼此協同運作關係及相關實施例已如前述,在此不再冗述。Referring to FIG. 1, a startup detection device 1 according to an embodiment of the present invention includes a communication unit 10, a basic input / output system unit 12, and a processing unit 14. The processing unit 14 is logically connected with the communication unit 10 and the basic input / output system unit 12, and the logical connection refers to an electrical connection and a physical connection. The basic input-output system unit 12 stores a monitoring code and a startup code. The processing unit 14 executes the monitoring code to initialize the communication unit 10, executes the startup code to perform a startup process, and transmits the startup data corresponding to one of the startup codes through the first communication unit according to the monitoring code. For example, the boot data A1 includes, but is not limited to, a memory value, an input / output device value, a peripheral device interconnection value, and a register value. The related embodiments, detailed technical contents, and advantages have been described above. This is no longer redundant. The technical content of the communication unit 10, a basic input-output system unit 12, and a processing unit 14, the cooperative operation relationship among each other, and related embodiments have been described above, and are not repeated here.

請參照圖3,顯示本發明一實施例之開機檢測系統包含一開機檢測裝置1以及一控制裝置2。有關開機檢測裝置1所包含之第一通訊單元10a、一基本輸入輸出系統單元12以及一處理單元14之技術內容、彼此協同運作關係、相關實施例及其技術功效已如前述,在此不再冗述。Referring to FIG. 3, a boot detection system according to an embodiment of the present invention includes a boot detection device 1 and a control device 2. The technical content of the first communication unit 10a, a basic input / output system unit 12, and a processing unit 14 included in the startup detection device 1 and the cooperative operation relationship with each other, the related embodiments and their technical effects are as described above, and are not repeated here. Long description.

控制裝置2包含一第二通訊單元20以及一控制單元22。第二通訊單元20與第一通訊單元10a通訊連接。於一實例中,第二通訊單元20包含但不限於下列通訊介面:通用序列匯流排、快捷外設互聯標準匯流排、異步接收發射器、或系統管理匯流排等通訊介面,亦即第二通訊單元20利用開機檢測裝置1既有的多種類的通訊介面即可與第一通訊單元10a建立通訊連線,而不受限於透過單一的通訊介面且無需額外增設其他連接埠或硬體,詳細技術內容及優點已如前述,在此不再冗述。The control device 2 includes a second communication unit 20 and a control unit 22. The second communication unit 20 is communicatively connected with the first communication unit 10a. In one example, the second communication unit 20 includes, but is not limited to, the following communication interfaces: a general-purpose serial bus, a fast peripheral interconnect standard bus, an asynchronous receiving transmitter, or a system management bus. The unit 20 can establish a communication connection with the first communication unit 10a by using various existing communication interfaces of the boot detection device 1. It is not limited to passing a single communication interface and does not need to add additional ports or hardware. The technical content and advantages are as described above, and are not repeated here.

控制單元22與第二通訊單元20邏輯連接,且控制單元22接收開機資料A1。於一實施例中,控制裝置2更包含一顯示單元24,且顯示單元24與控制單元22邏輯連接。顯示單元24可顯示控制裝置2所接收到之開機資料A1,因此,使用者可依據顯示單元24所顯示之開機資料A1,進行偵測除錯,亦即,透過監看程式所提供之來源階段除錯模組,找出錯誤原始碼所在位置,並使其於顯現於本開機檢測系統之控制裝置2之顯示單元24上。The control unit 22 is logically connected to the second communication unit 20, and the control unit 22 receives the booting data A1. In one embodiment, the control device 2 further includes a display unit 24, and the display unit 24 is logically connected to the control unit 22. The display unit 24 can display the booting data A1 received by the control device 2. Therefore, the user can detect and debug according to the booting data A1 displayed by the display unit 24, that is, the source stage provided by the monitoring program The debug module finds the location of the error source code and displays it on the display unit 24 of the control device 2 of the boot detection system.

若開機程式碼受損或裝置硬體的初始化狀態異常,使用者可提供修改指令A2給開機檢測裝置1。於一實施例中,控制裝置2更包含一輸入單元26,且輸入單元26與控制單元22邏輯連接,以供使用者輸入修改指令A2,其中控制單元22透過第二通訊單元20傳送修改指令A2至第一通訊單元10a。因此,使用者透過開機檢測系統找出錯誤原始碼所在位置,便可透過相適應之程式語言指令及組合即時修改或更新開機程式碼。If the boot code is damaged or the initialization state of the device hardware is abnormal, the user can provide a modification instruction A2 to the boot detection device 1. In an embodiment, the control device 2 further includes an input unit 26, and the input unit 26 is logically connected to the control unit 22 for the user to input a modification instruction A2, wherein the control unit 22 transmits the modification instruction A2 through the second communication unit 20 To the first communication unit 10a. Therefore, the user can find the location of the error source code through the boot detection system, and then can modify or update the boot code in real time through the appropriate programming language instructions and combinations.

於一實施例中,顯示裝置24和輸入單元26是整合為一,舉例而言,顯示裝置24為一觸控面板,具有一圖形化使用者介面,讓使用者透過圖形化使用者視窗存取資料或操作所需之改善對策,以產生修改指令A2。因此,可節省使用者學習各種除錯工具的學習時間,不需花時間記憶除錯工具的文字指令,以減少記憶指令的負擔。In an embodiment, the display device 24 and the input unit 26 are integrated into one. For example, the display device 24 is a touch panel and has a graphical user interface for users to access through the graphical user window. The improvement countermeasures required for the data or operation to generate a modification instruction A2. Therefore, the learning time for the user to learn various debugging tools can be saved, and no time is needed to memorize the text instructions of the debugging tool, so as to reduce the burden of memorizing the instructions.

綜合上述,本發明部分實施例之開機檢測裝置、系統及其方法,主要是利用一監看程式碼內儲於待測機台之基本輸入輸出系統單元內,在待測機台被啟動後,執行監看程式碼以初始化通訊單元,執行基本輸入輸出系統單元內儲之開機程式碼以進行一開機流程,並透過通訊單元同步傳送相對應開機程式碼之開機資料或接收修改指令。由於在最初階段即初始化通訊單元,且通訊單元並不受限於單一的通訊介面且無需增設連接埠,而是待測機台既有的多種通訊介面,因此開機資料即可利用待測機台既有的通訊介面來進行傳送,以供使用者進行後續的偵測除錯。藉此,可實現支援多元通訊傳輸介面、支援多種統一可延伸韌體介面架構下的開機程式碼、即時偵測除錯之開機流程檢測方案。透過監看程式所提供之來源階段除錯模組,找出錯誤原始碼所在位置,可使其於顯現於開機檢測系統,供使用者透過圖形化使用者介面存取資料或產生修改指令,可減少使用者記憶除錯工具之文字指令的負擔。To sum up, the start-up detection device, system and method of some embodiments of the present invention mainly use a monitoring code stored in a basic input-output system unit of a machine under test. After the machine under test is activated, Execute the monitoring code to initialize the communication unit, execute the boot code stored in the basic input output system unit to perform a boot process, and synchronously transmit the boot data corresponding to the boot code or receive the modification command through the communication unit. Because the communication unit is initialized in the initial stage, and the communication unit is not limited to a single communication interface and does not need to add a port, but has a variety of communication interfaces existing on the machine under test, so the machine under test can use the machine under test The existing communication interface is used for transmission for users to perform subsequent detection and debugging. In this way, it can realize the support of multiple communication transmission interfaces, support of multiple bootable code under the unified extensible firmware interface structure, and real-time detection and debugging of the boot process detection scheme. Through the source phase debugging module provided by the monitoring program, find out the location of the error source code, which can be displayed in the boot detection system for users to access data or generate modification instructions through the graphical user interface. Reduce the user's burden of memorizing the text commands of the debugging tool.

以上所述之實施例僅是為說明本發明之技術思想及特點,其目的在使熟習此項技藝之人士能夠瞭解本發明之內容並據以實施,當不能以此限定本發明之專利範圍,即大凡依本發明所揭示之精神所作之均等變化或修飾,仍應涵蓋在本發明之專利範圍內。The above-mentioned embodiments are only for explaining the technical ideas and characteristics of the present invention. The purpose is to enable those skilled in the art to understand the content of the present invention and implement it accordingly. When the scope of the patent of the present invention cannot be limited by this, That is, any equivalent changes or modifications made in accordance with the spirit disclosed in the present invention should still be covered by the patent scope of the present invention.

A1‧‧‧開機資料A1‧‧‧ boot data

A2‧‧‧修改指令A2‧‧‧ modify instructions

S10~S18‧‧‧步驟S10 ~ S18‧‧‧step

1‧‧‧待測機台、開機檢測裝置1‧‧‧machine under test, startup detection device

10‧‧‧通訊單元10‧‧‧ communication unit

10a‧‧‧第一通訊單元10a‧‧‧First communication unit

12‧‧‧基本輸入輸出系統單元12‧‧‧ Basic I / O System Unit

14‧‧‧處理單元14‧‧‧ processing unit

2‧‧‧控制裝置2‧‧‧control device

20‧‧‧第二通訊單元20‧‧‧Second communication unit

22‧‧‧控制單元22‧‧‧Control unit

24‧‧‧顯示單元24‧‧‧Display Unit

26‧‧‧輸入單元 26‧‧‧Input unit

圖1為一示意圖,顯示本發明一實施例之開機檢測裝置。 圖2為一示意圖,顯示本發明一實施例之開機檢測方法。 圖3為一示意圖,顯示本發明一實施例之開機檢測系統。FIG. 1 is a schematic diagram showing a startup detection device according to an embodiment of the present invention. FIG. 2 is a schematic diagram showing a startup detection method according to an embodiment of the present invention. FIG. 3 is a schematic diagram showing a boot detection system according to an embodiment of the present invention.

Claims (12)

一種開機檢測方法,適用於具有一通訊單元及一基本輸入輸出系統(BIOS)單元之一運算裝置,該開機檢測方法包含: 執行內儲於該基本輸入輸出系統單元之一監看程式碼,以初始化該通訊單元; 執行內儲於該基本輸入輸出系統單元之一開機程式碼,以進行一開機流程;以及 依據該監看程式碼透過該通訊單元傳送對應該開機程式碼之一開機資料。A power-on detection method is applicable to a computing device having a communication unit and a basic input-output system (BIOS) unit. The power-on detection method includes: executing a monitoring code stored in the basic input-output system unit to Initialize the communication unit; execute a boot code stored in the basic input / output system unit to perform a boot process; and transmit boot data corresponding to the boot code through the communication unit according to the monitoring code. 如請求項1所述之開機檢測方法,其中該開機資料包含一記憶體值、一輸出入裝置(I/O)值、一外設元件互連(PCI)值、以及一暫存器(MSR)值。The boot detection method according to claim 1, wherein the boot data includes a memory value, an input / output device (I / O) value, a peripheral component interconnect (PCI) value, and a temporary register (MSR) )value. 如請求項1所述之開機檢測方法,在該執行該監看程式碼之步驟前,更包含: 接收該監看程式碼,並儲存該監看程式碼於該基本輸入輸出系統單元內。According to the startup detection method described in claim 1, before the step of executing the monitoring code, the method further includes: receiving the monitoring code, and storing the monitoring code in the basic input / output system unit. 如請求項1所述之開機檢測方法,其中該傳送該開機資料之步驟包含: 傳送對應該開機程式碼中每一步指令之該開機資料。The boot detection method according to claim 1, wherein the step of transmitting the boot data includes: transmitting the boot data corresponding to each step instruction in the boot code. 如請求項1所述之開機檢測方法,在該傳送該開機資料步驟後,更包含: 接收一修改指令,並依據該修改指令修改該開機程式碼。According to the boot detection method described in claim 1, after the step of transmitting the boot data, the method further includes: receiving a modification command, and modifying the boot code according to the modification command. 一種開機檢測裝置,包含: 一第一通訊單元; 一基本輸入輸出系統單元,其內儲一監看程式碼以及一開機程式碼;以及 一處理單元,與該第一通訊單元及該基本輸入輸出系統單元邏輯連接;其中該處理單元執行該監看程式碼以初始化該第一通訊單元,執行該開機程式碼以進行一開機流程,以及依據該監看程式碼透過該第一通訊單元傳送對應該開機程式碼之一開機資料。A startup detection device includes: a first communication unit; a basic input-output system unit storing a monitoring code and a startup code; and a processing unit, the first communication unit and the basic input-output The system unit is logically connected; wherein the processing unit executes the monitoring code to initialize the first communication unit, executes the startup code to perform a startup process, and transmits a response through the first communication unit according to the monitoring code. Boot code is one of the boot codes. 如請求項6所述之開機檢測裝置,其中該開機資料包含一記憶體值、一輸出入裝置(I/O)值、一外設元件互連(PCI)值、以及一暫存器(MSR)值。The boot detection device according to claim 6, wherein the boot data includes a memory value, an input / output device (I / O) value, a peripheral component interconnect (PCI) value, and a temporary register (MSR) )value. 如請求項6所述之開機檢測裝置,其中該處理單元傳送對應該開機程式碼中每一步指令之該開機資料。The boot detection device according to claim 6, wherein the processing unit transmits the boot data corresponding to each step instruction in the boot code. 如請求項6所述之開機檢測裝置,其中該處理單元透過該第一通訊單元接收一修改指令,並依據該修改指令修改該開機程式碼。The startup detection device according to claim 6, wherein the processing unit receives a modification instruction through the first communication unit, and modifies the startup code according to the modification instruction. 一種開機檢測系統,包含: 如請求項6至9中任一項所述之開機檢測裝置;以及 一控制裝置,包含: 一第二通訊單元,用以與該第一通訊單元通訊連接;以及 一控制單元,與該第二通訊單元邏輯連接,用以接收該開機資料。A power-on detection system, comprising: the power-on detection device according to any one of claims 6 to 9; and a control device, comprising: a second communication unit for communicating with the first communication unit; and The control unit is logically connected with the second communication unit and is used for receiving the booting data. 如請求項10所述之開機檢測系統,其中該控制裝置更包含: 一輸入單元,與該控制單元邏輯連接,用以產生如請求項9所述之該修改指令,其中該控制單元透過該第二通訊單元傳送該修改指令。The startup detection system according to claim 10, wherein the control device further comprises: an input unit logically connected to the control unit to generate the modification instruction according to claim 9, wherein the control unit passes the first Two communication units transmit the modification instruction. 如請求項10所述之開機檢測系統,其中該控制裝置更包含: 一顯示單元,與該控制單元邏輯連接,用以顯示一圖形化使用者介面,其中如請求項9所述之該修改指令是透過該圖形化使用者介面所產生。The startup detection system according to claim 10, wherein the control device further comprises: a display unit logically connected to the control unit for displaying a graphical user interface, wherein the modification instruction according to claim 9 Is generated through this graphical user interface.
TW107110817A 2018-03-28 2018-03-28 Boot testing apparatus, system and method thereof TWI660267B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107110817A TWI660267B (en) 2018-03-28 2018-03-28 Boot testing apparatus, system and method thereof
CN201811453143.2A CN110321171B (en) 2018-03-28 2018-11-30 Startup detection device, system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107110817A TWI660267B (en) 2018-03-28 2018-03-28 Boot testing apparatus, system and method thereof

Publications (2)

Publication Number Publication Date
TWI660267B TWI660267B (en) 2019-05-21
TW201942743A true TW201942743A (en) 2019-11-01

Family

ID=67347986

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107110817A TWI660267B (en) 2018-03-28 2018-03-28 Boot testing apparatus, system and method thereof

Country Status (2)

Country Link
CN (1) CN110321171B (en)
TW (1) TWI660267B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI751706B (en) * 2020-09-16 2022-01-01 宏碁股份有限公司 Method and device for automatically generating development solution

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1458587A (en) * 2002-05-15 2003-11-26 纬创资通股份有限公司 Method and system for turning-on user's end computr system through network
CN1220941C (en) * 2002-06-19 2005-09-28 联想(北京)有限公司 Method for realizing computer multi-functional starting up
CN100412804C (en) * 2005-06-03 2008-08-20 鸿富锦精密工业(深圳)有限公司 Method and system for recognizing error codes of failure diagnosis card for main board
CN100458692C (en) * 2005-12-15 2009-02-04 英业达股份有限公司 System and method for correcting fault of turn-on self-test
CN100530150C (en) * 2006-07-28 2009-08-19 佛山市顺德区顺达电脑厂有限公司 Method for driving universal serial bus (USB) device
CN101770405A (en) * 2008-12-29 2010-07-07 深圳市先冠电子有限公司 Method for debugging serial notebook computer
CN102110042A (en) * 2009-12-25 2011-06-29 鸿富锦精密工业(深圳)有限公司 Mainboard power on self test code detecting system and method
TWI469576B (en) * 2010-05-20 2015-01-11 Hon Hai Prec Ind Co Ltd Contacts client server and method for monitoring function test of the client server
CN102073524B (en) * 2011-01-19 2016-03-30 中兴通讯股份有限公司 A kind of method of wireless communication terminal and self-starting thereof
TWM420777U (en) * 2011-08-01 2012-01-11 Nuvoton Technology Corp Super i/o module and computer system
CN104239245A (en) * 2013-06-07 2014-12-24 祥硕科技股份有限公司 Electronic system and operating method
EP3008604A4 (en) * 2013-06-14 2017-01-18 Hewlett-Packard Development Company, L.P. Unified extensible firmware interface (uefi) driver and protocol
CN103763717B (en) * 2013-12-09 2015-09-02 宇龙计算机通信科技(深圳)有限公司 The start hauling method of communication terminal and communication terminal
CN104142843A (en) * 2014-08-07 2014-11-12 浪潮电子信息产业股份有限公司 System power-on failure diagnosis method
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
TWI611289B (en) * 2015-10-23 2018-01-11 神雲科技股份有限公司 Server and error detecting method thereof
CN106802809A (en) * 2015-11-26 2017-06-06 昆达电脑科技(昆山)有限公司 Startup display method
CN107168834A (en) * 2017-05-05 2017-09-15 天津市英贝特航天科技有限公司 Method and device for detecting computer startup fault

Also Published As

Publication number Publication date
CN110321171A (en) 2019-10-11
CN110321171B (en) 2023-02-24
TWI660267B (en) 2019-05-21

Similar Documents

Publication Publication Date Title
US8010843B2 (en) System and method for debugging a target computer using SMBus
US20060277443A1 (en) Method and system for acquiring definitions of debug code of a basic input/output system
CN107111595B (en) Method, device and system for detecting early boot errors
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
US8954629B2 (en) Adapter and debugging method using the same
US7610482B1 (en) Method and system for managing boot trace information in host bus adapters
CN111708662A (en) Debugging method and device
TWI660267B (en) Boot testing apparatus, system and method thereof
TW202036293A (en) Computer system and debugging method thereof
CN109117299B (en) Error detecting device and method for server
CN1244864C (en) Information processing system with debug function on initializing and its method
CN110955566B (en) Error detecting method
CN116112412A (en) Virtual network card binding redundancy function test method, system, device and medium
CN114265786A (en) Automatic testing method and device, computer equipment and readable storage medium
CN111221684B (en) Detection method of server
US20080127229A1 (en) Multiple interface standard support for redundant array of independent disks
US20070101220A1 (en) Systems and methods for accessing input/output devices
CN112765021A (en) Debugging and checking method, device, equipment and storage medium of boot program
KR20160044625A (en) Apparatus Fault Detection System for Home Network System
CN102243601B (en) Debugging system and relevant method for detecting and controlling state of computer host
CN111176735B (en) Method for accelerating startup of electrocardiograph
CN111045899B (en) Method for displaying BIOS information in early stage of computer system startup self-check
TW201539185A (en) Debug system and debug device and method thereof
CN113672477A (en) Automatic debugging message providing method for basic input output system
KR20160044125A (en) Computer Hardware Fault Detection System