CN109426613A - 在uefi中检索调试数据的方法及其电脑系统 - Google Patents

在uefi中检索调试数据的方法及其电脑系统 Download PDF

Info

Publication number
CN109426613A
CN109426613A CN201810824131.XA CN201810824131A CN109426613A CN 109426613 A CN109426613 A CN 109426613A CN 201810824131 A CN201810824131 A CN 201810824131A CN 109426613 A CN109426613 A CN 109426613A
Authority
CN
China
Prior art keywords
data
field communication
computer system
debugging
uefi
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
Application number
CN201810824131.XA
Other languages
English (en)
Other versions
CN109426613B (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.)
American Anmai Polytron Technologies Inc
American Megatrends International LLC
Original Assignee
American Anmai Polytron Technologies Inc
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 American Anmai Polytron Technologies Inc filed Critical American Anmai Polytron Technologies Inc
Publication of CN109426613A publication Critical patent/CN109426613A/zh
Application granted granted Critical
Publication of CN109426613B publication Critical patent/CN109426613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

一种在UEFI中检索调试数据的方法及其电脑系统,包括接收一调试检索要求,以在执行一电脑系统的一UEFI固件的期间中检索一调试状态数据;相应于该调试检索要求,启始一数据集结功能;以及集结该调试状态数据至一近场通讯数据标签之中。由此,有利于增快检索调试数据。

Description

在UEFI中检索调试数据的方法及其电脑系统
技术领域
本案涉及一种在执行UEFI固件的期间中检索调试数据的方法及其电脑系统。具体而言,本案涉及一种方法及其电脑系统,其可将在执行UEFI固件的期间中检索到的调试数据储存至近场通讯数据标签之中。
背景技术
传统上,电脑系统可启动(boot)操作系统(operating system,OS)。一般而言,操作系统的启动是由低阶指令码处理,其中低阶指令码是用以中介于电脑系统的硬件元件与执行在电脑系统上的操作软件及其他高阶软件之间。低阶指令码通常被称为基本输入/输出系统(basic input/output system,BIOS)固件,并提供一组软件常规流程让高阶软件得以与电脑系统的硬件元件进行互动。此一固件常规地在电脑系统每次开机时进行自我开机测试(power-on self test,POST),以在交付电脑系统的控制权给操作系统前,先测试并启始电脑系统中的所有硬件元件。此些硬件元件可包括系统主存储器、磁碟机及键盘。
然而,随着科技进步,许多装置(如周边装置)已进展为无线(wireless)或无电源线(cordless),而以传统BIOS标准为基础的启动固件(其初始为IBM(internationalmachine corporation)公司为个人电脑所设计),已限制了启动固件可控制的硬件及操作系统随后可控制的硬件。当新的软件及硬件科技发展时,此种限制将成为软件及硬件互动间的主要障碍。由此之故,新的BIOS标准固件已提出且被主要的产业领导公司所广泛使用。此一新的标准固件称为统一可延伸固件界面(Unified Extensible Firmware Interface,UEFI)。
随着UEFI标准的使用,生产BIOS的公司可生产电脑系统的UEFI固件,而生产操作系统的公司也可通过生产相容于UEFI的操作系统,而获得UEFI固件所提供的益处。
然而,许多情况下,研发工程师、服务维修技术人员或质量管控工程师需要快速处理或诊断任何发生于UEFI固件执行期间中的错误或UEFI固件本身的错误。一般而言,从UEFI固件检索调试信息是缓慢的手动程序,包括在中控视窗上逐笔读取输出数据。此外,工程师也必须在固件执行时出现于现场,以抓取错误信息。然而,当制造或质管的规模扩大时,检索此些调试信息所耗费的工程也呈指数成长。因此,快速地从许多电脑系统检索调试信息、且无需工程师在场等待电脑系统完成运行的方式当被提出。
发明内容
本公开内容的一实施例的目的之一在于提供电脑系统及方法,其可在电脑系统上执行UEFI固件的期间中检索调试数据。
本公开内容的另一实施例的目的之一在于提供电脑系统及方法,其可增快并简化检索电脑系统的UEFI固件的调试数据。
本案一实施例涉及一种在UEFI中检索调试数据的方法。根据本案一实施例,该在UEFI中检索调试数据的方法包括接收一调试检索要求,以在执行一电脑系统的一UEFI固件的期间中检索一调试状态数据;相应于该调试检索要求,启始一数据集结功能;以及集结该调试状态数据至一近场通讯数据标签之中。由此,有利于快速检索调试状态数据。
优选地,该方法还包括:判断该调试检索要求是否具有一指令,其中该指令用于集结该调试状态数据成为符合近场通讯的数据格式。
优选地,该方法还包括:以相容于近场通讯的数据格式,集结该调试状态数据至一近场通讯数据标签之中。
优选地,该方法还包括:在执行该UEFI固件的一安全阶段、一预先可延伸固件界面初始化阶段、一驱动执行阶段或一启动装置选择阶段中,检索该调试状态数据。
优选地,该方法检索一第二调试状态数据的阶段相同或不同于检索该调试状态数据的阶段。
优选地,该方法还包括:集结该调试状态数据与该第二调试状态数据至一近场通讯数据标签之中。
优选地,该方法启始该数据集结功能的操作包括:启始一近场通讯应用程序,以使用该电脑系统的一近场通讯协议。
优选地,该方法还包括:启始一近场通讯管理功能,以提供该近场通讯协议的信息。
优选地,该方法还包括:启始一近场通讯主机控制驱动功能,以与一近场通讯读取装置进行通讯。
本案另一实施例涉及一种电脑系统。根据本案一实施例,该电脑系统包括一存储器以及多个电脑可读取指令。电脑可读取指令储存于该存储器中。一处理器用以执行该些电脑可读取指令,以进行多个操作包括:接收一调试检索要求,以在执行一电脑系统的一UEFI固件的期间中检索一调试状态数据;相应于该调试检索要求,启始一数据集结功能;以及集结该调试状态数据至一近场通讯数据标签之中。
优选地,该处理器进行的该些操作还包括:判断该调试检索要求是否具有一指令,其中该指令用于集结该调试状态数据成为符合近场通讯的数据格式。
优选地,该处理器进行的该些操作还包括:以相容于近场通讯的数据格式,集结该调试状态数据至一近场通讯数据标签之中。
优选地,该处理器进行的该些操作还包括:在执行该UEFI固件的一安全阶段、一预先可延伸固件界面初始化阶段、一驱动执行阶段或一启动装置选择阶段中,检索该调试状态数据。
优选地,检索一第二调试状态数据的阶段相同或不同于检索该调试状态数据的阶段。
优选地,该处理器进行的该些操作还包括:集结该调试状态数据与该第二调试状态数据至一近场通讯数据标签之中。
优选地,该处理器进行的该些操作还包括:启始一近场通讯应用程序,以使用该电脑系统的一近场通讯协议。
优选地,该处理器进行的该些操作还包括:启始一近场通讯管理功能,以提供该近场通讯协议的信息。
优选地,该处理器进行的该些操作还包括:启始一近场通讯主机控制驱动功能,以与一近场通讯读取装置进行通讯。
附图说明
图1为根据本案一实施例所示出的电脑系统的示意图;
图2为根据本案一实施例所示出的UEFI专用相容系统的示意图;
图3为根据本案一实施例所示出的UEFI固件于执行中不同阶段的示意图;
图4A为根据本案一实施例所示出的操作方法的流程图;
图4B为根据本案另一实施例所示出的操作方法的流程图;
图5为根据本案一实施例所示出的近场通讯的实现架构的方块图;
图6为根据本案一实施例所示出的将不同型态的调试数据收集至近场通讯数据标签之中的示意图;
图7为根据本案一实施例所示出的相容于近场通讯的数据格式的示意图;及
图8为根据本案一实施例所示出的对应相容于近场通讯的数据格式的存储器区段的示意图。
主要元件符号说明:
100 电脑系统
102 中央处理器
104 晶片组
106 北桥
108 南桥
110 以太网路适配器
112 板上图形适配器
114 主存储器
116 USB界面
118 多个通用输入/输出接脚
120 串行先进技术附件界面
122 先进技术附件100界面
124 声音适配器
126 电源管理电路
128 时钟产生电路
130 SCSI主总线适配器
131 内建只读存储器
132 系统管理总线
134 以太网路控制器
136 固件
137 ROM
138 超级输入/输出装置
202 操作系统
302 OS启动载入器
304 EFI启动服务
306 EFI运行服务
308 平台固件
314 元件
316 平台硬件
318 EFI系统分区
320 OS分区
400 近场通讯模块
410 近场通讯应用层
420 近场通讯管理层
421 近场通讯协议
422 近场通讯管理器
423 近场通讯标签元件
424、425 晶片
430 近场通讯主机控制驱动层
431 近场通讯主机控制协议
432 USB主机驱动器
433 UART主机驱动器
434 近场通讯控制器
500 天线
S110~S131 步骤
00、08、15、1B、32、40、47、94、AB、B2、C4 近场通讯标签
具体实施方式
本发明的多种实施例可提供用于执行UEFI固件的方法及系统。UEFI固件可支援在电脑系统中的启动程序(boot loader)的预启动初始化(pre-boot initialization)。其中在执行UEFI固件的期间中所产生的调试数据可被收集,并被集结(aggregate)至一近场通讯(near field communication,NFC)标签(tag/token)中。
在以下的详细描述中,将会搭配附图进行说明,其所示的附图为具体的实施例或示例。然而,这些实施例仅是为了描述本发明及技术范围,而不应被解释为对本发明的一种限制。参照附图,其中类似的标号在该些图示中表示类似的元件,以下将会说明本发明各方面的实施例及例示性的操作环境。
本案公开内容提供电脑系统及其方法,用以检索(retrieve)并集结在执行UEFI固件的期间中所产生的调试状态数据至近场通讯标签中。在进一步的实施例中,此一电脑系统包括(但不限于)笔记型电脑、个人电脑、电脑服务器、手持电脑装置(如移动电话及平板电脑)、及穿戴式装置。
图1及以下段落用以简单且普遍性描述实现本发明一个实施例的适当电脑环境。然而,本领域技术人员将认知到,本发明的实施例可实现于其它适当电脑环境中。再者,本领域技术人员将认知到,本发明的实施例可在其它适当的电脑系统下实施。
参照图1,以下说明实施本案多个实施例的例示性电脑架构。应了解到,虽然在以下实施例中及本文内容中是以传统的桌上型电脑或服务器电脑为例进行说明,然而本案的多个实施例可应用于任何型态的电脑系统。图1显示电脑系统100的例示性电脑架构,其可操作于以固件启始操作系统(operating system,OS)。图1中方块用以代表电脑架构的功能性元件,其未必会以独立的物理元件出现。此外,在不违背本案实施例的整体概念及目的的情况下,上述功能性元件可结合、分割、或移除。
为提供上述功能,电脑系统100包括一基板(baseboard)或母板(motherboard),其为印刷电路板,其可通过系统总线或其它通讯路径连接其它元件或装置。在一实施例中,中央处理器102与晶片组104连动操作。中央处理器102可为标准中央处理器,其可进行电脑运行中所需要的计算及逻辑运算。中央处理器102,在此以及在其他实施例中,可包括一或多个微处理器、微控制器、现场可程序逻辑门阵列(field programmable gate array,FPGA)、复杂可程序逻辑元件(complex programmable logic device,CPLD)、特殊应用集成电路(application specific integrated circuit,ASIC)及/或任何其它电子计算装置。
晶片组104包括北桥(northbridge)106及南桥(southbridge)108。北桥106提供中央处理器102与电脑系统100的其余部分之间的界面。北桥106还提供了一界面连接至一或多个随机存取存储器(random access memory,RAM),用于作为电脑系统100中的主存储器114。北桥106更可能提供一界面至一板上图形适配器(on-board graphics adapter)112。北桥106还可以通过一以太网路适配器(Ethernet adapter)110以启用网路通讯功能。以太网路适配器110能够将电脑系统100经由网路连接至一或多个其他电脑。以太网路适配器110可进行连接的网路可包括局域网路(local area network,LAN)或广域网路(wide areanetwork,WAN),例如局域网路及广域网路环境常见于办公室、企业范围计算机网路(enterprise-wide computer networks)、企业内网(intranet)及网际网路(theInternet)。北桥106连接到南桥108。
南桥108是负责控制电脑系统100的许多输入/输出功能。特别是,南桥108可提供一或多个通用串行总线(universal serial bus,USB)界面116、一声音适配器124、一以太网路控制器134及一或多个通用输入/输出(general purpose input/output,GPIO)接脚118。南桥108还可以提供一个总线,用以连接周边卡装置(peripheral card device),如符合BIOS启动规范(BIOS boot specification,BBS)标准的SCSI主总线适配器130,SCSI主总线适配器130包括内建只读存储器131。在一实施例中,总线包括外设元件互连(peripheralcomponent interconnect,PCI)总线。南桥108还可以提供一系统管理总线132,用于管理电脑系统100中的各种元件。在南桥108运作时,也可利用电源管理电路126及时脉产生电路128进行操作。
南桥108还可用于提供一或多个界面来将大量储存装置(mass storage device)连接到电脑系统100。例如,在一实施例中,南桥108包括串行先进技术附件(serialadvanced technology attachment,SATA)适配器及先进技术附件100界面适配器(ATA100interface adapter),其中串行先进技术附件适配器用于提供一或多个串行先进技术附件界面120,且先进技术附件100界面用于提供一或多个先进技术附件100界面(ATA100port)122。串行先进技术附件界面120与先进技术附件100界面122可被连接至一或多个大量储存装置,其中大量储存装置可储存操作系统、应用程序、及其他数据。本领域技术人员应已熟知的是,操作系统包括控制电脑的运作及分配资源的一组程序。应用程序是运行于在操作系统(或其它运行环境(runtime environment))的顶层的软件,并且会使用电脑资源来执行电脑系统100的使用者所期望被执行的应用程序的特定任务。
连接到南桥108及SCSI主总线适配器(SCSI host bus adapter)130的大量储存装置,及其相关的电脑可读取媒体,可供电脑系统100非挥发性储存(non-volatile storage)的功能。虽然在本文中电脑可读取媒体指的是大容量储存装置,如硬盘/或光盘机,本领域技术人员应可理解的是,电脑可读取媒体可为电脑系统100可读取的任何媒体。举例而言(但不以此例为限),电脑可读取媒体可以包括电脑可读取媒体和通讯媒体,电脑可读取媒体包括挥发性(volatile)及非挥发性(non-volatile)、可移动和不可移动媒体,以任何方式或信息储存技术(例如,计算机可读取指令、数据结构、程序模块或其他数据)实现。电脑可读取媒体包括(但不限于)RAM、ROM、EPROM、EEPROM、快闪存储器或其他固态储存装置;CD-ROM、DVD、HD-DVD、BLU-RAY或其他光学储存装置;卡式磁带、磁带、磁片或其它磁储存装置;或任何其他可用来储存所需信息且电脑可读取的媒体。
南桥108可提供一低接脚数(low pin count,LPC)界面,用于连接超级输入/输出(super I/O)装置138。超级输入/输出装置138是负责提供多个输入/输出连接埠,包括键盘连接埠、鼠标连接埠、串行界面、平行界面、以及其它类型的输入/输出连接埠。LPC界面或另一界面可被用以连接至储存媒体,如ROM137。在不同实施例中,ROM137可用非挥发性随机存取存储器(non-volatile random access memory,NVRAM)(例如快闪存储器)所替换。此一电脑储存媒体可用以储存固件136,其中固件136包括用以协助启动电脑系统100的指令及数据,及用以在电脑系统100内元件之间传送信息的指令及数据。然而,在其它实施例中固件136可储存于任何电脑系统100中的任何其它区域。
固件136可包括符合UEFI标准的程序码。应理解的是,固件136除了包括符合UEFI标准的壳程序(shell)外,其它的固件类型及组合也可能被包括在固件136中。举例而言,固件136可额外地或替代性地包括一个BIOS固件及/或其它现有技术中已熟知类型的固件。以下与图式搭配提供UEFI固件136的运作的相关说明。应了解到,电脑系统100可以不包括所有显示于图1中的元件,且也可能包括未直接显示于图1中的其它元件。或者,电脑系统100可以利用与图1完全不同的结构实现。
参照图2,以下将说明关于符合UEFI标准的系统的更多细节,此一系统可用以提供本案多种实现方式的操作环境。如图2所示,该系统包括一平台硬件(platform hardware)316及操作系统(operating system,OS)202。平台固件(platform firmware)308可通过使用OS启动载入器(OS loader或boot loader或OS boot loader)302从EFI系统分区(EFIsystem partition)318取得OS程序码。类似地,OS启动载入器302可从其他位置取得OS程序码,例如包括从连接的周边装置或者从固件136本身中取得。EFI系统分区318也可为一种结构性可共用系统磁碟分割(architecturally shareable system partition)。因此,EFI系统分区318是定义一分区及数据系统,其是设计以允许多个供应商之间能安全地共用大量储存装置。此外,也可使用OS分区320进行上述运作。
EFI启动服务304提供界面给各种设备,以及提供可用于启动期间使用的系统功能。EFI运行服务306可在启动阶段被提供给该OS启动载入器302,以及在操作系统202执行时被提供给该操作系统202使用。例如,运行服务可被提供,确保基础平台系统的硬件资源(base platform hardware resources)可适当地抽象化(abstraction),其中此一抽象化操作可为在操作系统202正常运作下的操作系统202的需求。可延伸固件界面(ExtensibleFirmware Interface,EFI)通过读取EFI驱动程序及EFI应用程序镜像(applicat1nimages),而接受(allow)平台固件的扩充套件(extension),其中EFI驱动程序及EFI应用程序镜像被读取时,EFI驱动程序及EFI应用程序镜像存取所有EFI定义的(EFI-defined)运行服务(runtime service)及启动服务(boot service)。一旦EFI固件启动完成,EFI固件将会把控制权转交给启动载入器312。另外,此一系统可更包括元件314,元件314可包括高级配置与电源界面(Advanced Configuration and Power Interface,ACPI)、系统管理基本输入/输出系统(system management basic input/output system,SMBIOS)、及其它元件。
参照图3,图3描述UEFI固件启动操作系统的不同阶段。如图3所示,当电脑系统100通电时,本案一实施例中的UEFI固件会被电脑系统100的处理器(如中央处理器102)所执行。UEFI固件将首先进入一个安全阶段(Security Phase,SEC phase),其中在此阶段中还没有任何存储器在电脑系统100中被启始(或初始化)。在本阶段中,由于尚未有存储器被初始化,处理器的快取存储器(cache)被作为随机存取存储器(RAM)使用来预先验证(pre-verify)中央处理器(CPU)、晶片组及主板。接着,UEFI固件会进入预先可延伸固件界面初始化(Pre-EFI Initializat1n,PEI)阶段,其中电脑系统100的中央处理器、晶片组、主板及存储器会被初始化。在驱动执行(Driver Execut1n,DXE)阶段,启动服务(boot service)、运行服务(runtime service)、及驱动程序执行调度服务(driver executing dispatcherservice)可被执行以初始化电脑系统100的任何其他硬件。继DXE阶段后,UEFI固件进入启动装置选择(Boot Device Selecting,BDS)阶段。在BDS阶段,会尝试对操作系统对应的开机载入程序的控制装置以及各种驱动器进行初始化。在暂态系统负载(Transient SystemLoad,TSL)阶段中,控制权将会被转交给操作系统以继续电脑系统100的启动,并且再到达运行时期(Runtime,RT)阶段。
图4A为本案一实施例中的一实施态样的示意图。如图4A所示,一种检索在控制权移交给操作系统前的任何阶段中所产生的调试状态数据的方法,其包括操作S110至S130。
操作S110包括接收调试检索要求,以在执行电脑系统100的UEFI固件的期间中检索调试状态数据。当电脑系统100首次供电(power on),电脑系统100将继而启动(initiate)或执行(execute)UEFI固件,以开始操作系统的启动(boot up)程序。如前所述,在操作系统取得电脑系统100的控制权之前,UEFI固件进行安全阶段(SEC phase)、预先可延伸固件界面初始化阶段(PEI phase)、驱动执行阶段(DXE phase)、及启动装置选择阶段(BDS phase)。在本实施例中,当执行UEFI固件时,可接收上述调试检索要求。在一实施例中,此一调试检索要求可通知电脑系统100,在执行UEFI固件的期间中有产生应被收集(collect)或检索(retrieve)而成为上述调试状态数据的调试(debug)或诊断(diagnostic)信息,以令此些调试或诊断信息得以呈现给使用者。
在一实施例中,使用者可通过按压连接电脑系统100的键盘上的按键或按键组合,以传送(transmit)或中继传递(relay)前述调试检索要求至电脑系统100。此一行为可在安全阶段(SEC phase)的一开始进行,或也可在安全阶段(SEC phase)、预先可延伸固件界面初始化阶段(PEI phase)、驱动执行阶段(DXE phase)、及启动装置选择阶段(BDS phase)的任一时点进行。在一实施例中,若UEFI固件具启始(initialize)电脑系统100的通讯或网路模块的能力,电脑系统100也可经由此通讯或网路模块接收来自远端电脑的调试检索要求。如此一来,可让多个电脑系统100接收来自远端电脑的调试检索要求。由此,在无须本人出现在多个台目标电脑前的情况下,使用者即可令此些目标电脑同时接收前述调试检索要求。
如图4A所示,操作S120包括相应于前述调试检索要求,启始一数据集结功能。在本实施例中,若电脑系统100在进行上述安全阶段(SEC phase)、预先可延伸固件界面初始化阶段(PEI phase)、驱动执行阶段(DXE phase)、及启动装置选择阶段(BDS phase)中的一者时,接收前述调试检索要求,电脑系统100将先启始调试检索功能,以开始收集前述调试或诊断信息。
若电脑系统100在前述安全阶段(SEC phase)的一开始接收前述调试检索要求,其后产生的所有的调试或诊断信息可通过上述调试检索功能进行收集。
然而,若电脑系统100是在前述安全阶段(SEC phase)之后的阶段中接收前述调试检索要求,在本实施例中,上述调试检索功能将仅收集在接收前述调试检索要求后所产生的调试状态数据。然而,在另一实施例中,电脑系统100亦可自动地储存在执行UEFI固件的期间中的调试或诊断信息。在此一状况下,即便是在前述安全阶段(SEC phase)之后的阶段中接收前述调试检索要求,上述调试检索功能亦可使用并检索预先储存的调试或诊断信息,以令在操作系统启动前的所有阶段中产生的调试状态数据,皆可被集结并呈现给使用者。
如图4A所示,操作S130包括集结(aggregate)上述调试状态数据至一数据标签(data token)之中。在本实施例中,上述调试状态数据可由多种不同类型、产生于不同时间及不同UEFI固件的阶段的调试或诊断信息所组成。换言之,上述调试状态数据可包括庞大数量的信息,而不易以其现有形式(form)或格式(format)让使用者观看或存取使用。因此,在本实施例中,操作S130涉及转换或封装(packaging)收集到或检索到的调试状态数据为数据标签,以呈现给使用者。
图4B为根据本案另一实施例所示出的操作方法的流程图。如图4B所示,在操作S110与操作S120之间,操作方法可更包括操作S111。操作S111包括判断前述调试检索要求是否具有一指令(instruction),其中此一指令是用于集结前述调试状态数据成为符合近场通讯的数据格式。在本实施例中,使用者可在传送调试检索要求时指明其所希望接收的数据标签。接着,在操作S120中,在操作S111判断有近场通讯数据格式的要求。而后,在操作S131中,电脑系统100以符合近场通讯的数据格式,集结前述调试状态数据至数据标签之中。
举例而言,若使用者希望使用近场通讯技术,使用者可让前述调试检索要求包括此一要求或指令。当电脑系统100接收调试检索要求时,电脑系统100可在调试检索要求中侦测到此一要求或指令,并促使电脑系统100随后对数据标签进行格式处理(format),而使其具有符合近场通讯的数据格式。符合近场通讯的数据格式例如可包括近场通讯数据交换格式(NFC data exchange format,NDEF)。由于多数的移动装置具有内建的近场通讯功能,故如此的做法有助于在移动装置上进行调试工作。如此一来,移动装置所产生的调试信息即可轻易地被集结,并透过移动装置的近场通讯界面进行检索。
图5为根据本案一实施例所示出的电脑系统100中近场通讯的实现架构的方块图。如图5所示,近场通讯模块400包括近场通讯应用层410,近场通讯管理层420,及近场通讯主机控制驱动层(NFC Host Controller Driver layer)430。天线500可耦接近场通讯主机控制驱动层430,以令电脑系统100得以与其它装置进行通讯。
如图5所示,在本实施例中,近场通讯应用层410为一界面,其用以令电脑系统100得以与近场通讯管理层420及近场通讯主机控制驱动层430进行沟通或传送数据。如前所述,当电脑系统100判断前述调试检索要求包括近场通讯格式的要求或指令时,电脑系统100将开始把前述调试状态数据收集(collect)至符合近场通讯的数据格式中(例如是近场通讯论坛(NFC forum)定义的NDEF讯息)。
收集后的调试状态数据利用NDEF讯息并透过近场通讯应用层410传送到近场通讯管理层420。近场通讯管理层420管理近场通讯标签的相关操作,如提供近场通讯协议421的信息至近场通讯应用层410,以达成调试状态数据中的近场通讯标签的相关操作。在一实施例中,近场通讯管理层420例如利用近场通讯管理器422,提供近场通讯协议421的信息至近场通讯应用层410。在本实施例中,对应于近场通讯管理层420所适用的近场通讯协议421,存在四种不同的标签类型(即类型1至类型4标签)可被实现。此四种不同的标签类型提供不同的通讯速度及性能,其在存储器、安全性、数据保存、及写入耐久性方面具有不同的性质。根据电脑系统100的需求及/或近场通讯管理层420的要求,近场通讯标签元件423的标签类型可以改变。
举例而言,在图5所示的实施例中,近场通讯模块400可具有制造商专用的晶片424(如MiFARE Ultralight,其由恩智浦半导体所制造)及晶片425(如MiFARE_Classic_1k或MiFARE Std 1k/4k)。晶片424使用MiFARE Ultralight协议,并且通常与类型2标签相关联)。晶片425利用所述MiFARE协议,并且通常与厂商专用标签类型(如近场通讯论坛格式化标签(NFC Forum Formatted Tag))相关联。应注意,以上段落并未对标签或协议类型隐含任何限制。
如图5所示,近场通讯主机控制驱动层430具有近场通讯主机控制协议(NFC HostController Protocol)431。透过近场通讯主机控制协议431,可让上层协议的相关模块传送要求至其它近场通讯读取晶片,以读取/写入其所对应的近场通讯标签。举例而言,如果使用者想要检索和储存调试状态数据,可将近场通讯读取器(NFC reader)持于靠近近场通讯主机控制驱动层430所使用的物理通讯元件的位置。在图5中所示的实施例中,近场通讯控制器434耦合至天线500,其中使用者可将近场通讯读取器置于靠近天线500的位置,以接收调试状态数据(具近场通讯标签格式)至近场通讯读取器中。在一实施例中,近场通讯主机控制驱动层430也可包括USB主机驱动器432及UART主机驱动器433,但不以此为限。
图6为根据本案一实施例所示出的将不同型态的调试数据收集至近场通讯数据标签之中的示意图。例如,可在不同的阶段中的不同时间产生并记录不同类型的进度代码(progress code)。据此,可根据图7所示的页面格式,组织这些数据点(data points)或基础输入/输出系统(BIOS)的检查点(checkpoints),并将其储存至近场通讯标签元件423中的储存器的特定位址(如图8所示)。图7所示的页面格式例如可以是恩智浦半导体在2015年7月2日发布的NTAG213/215/216产品规格书的aaa-008087图表中的页面格式。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。

Claims (18)

1.一种在UEFI中检索调试数据的方法,其特征在于包括:
接收一调试检索要求,以在执行一电脑系统的一UEFI固件的期间中检索一调试状态数据;
相应于该调试检索要求,启始一数据集结功能;以及
集结该调试状态数据至一近场通讯数据标签之中。
2.根据权利要求1所述的在UEFI中检索调试数据的方法,其特征在于,还包括:
判断该调试检索要求是否具有一指令,其中该指令用于集结该调试状态数据成为符合近场通讯的数据格式。
3.根据权利要求1所述的在UEFI中检索调试数据的方法,其特征在于,还包括:
以相容于近场通讯的数据格式,集结该调试状态数据至一近场通讯数据标签之中。
4.根据权利要求1所述的在UEFI中检索调试数据的方法,其特征在于,还包括:
在执行该UEFI固件的一安全阶段、一预先可延伸固件界面初始化阶段、一驱动执行阶段或一启动装置选择阶段中,检索该调试状态数据。
5.根据权利要求4所述的在UEFI中检索调试数据的方法,其特征在于,检索一第二调试状态数据的阶段相同或不同于检索该调试状态数据的阶段。
6.根据权利要求5所述的在UEFI中检索调试数据的方法,其特征在于,还包括:
集结该调试状态数据与该第二调试状态数据至一近场通讯数据标签之中。
7.根据权利要求1所述的在UEFI中检索调试数据的方法,其特征在于,其中启始该数据集结功能的操作包括:
启始一近场通讯应用程序,以使用该电脑系统的一近场通讯协议。
8.根据权利要求7所述的在UEFI中检索调试数据的方法,其特征在于,还包括:
启始一近场通讯管理功能,以提供该近场通讯协议的信息。
9.根据权利要求8所述的在UEFI中检索调试数据的方法,其特征在于,还包括:
启始一近场通讯主机控制驱动功能,以与一近场通讯读取装置进行通讯。
10.一种电脑系统,其特征在于包括:
一存储器;以及
多个电脑可读取指令,储存于该存储器中,其中一处理器用以执行该些电脑可读取指令,以进行多个操作包括:
接收一调试检索要求,以在执行一电脑系统的一UEFI固件的期间中检索一调试状态数据;
相应于该调试检索要求,启始一数据集结功能;以及
集结该调试状态数据至一近场通讯数据标签之中。
11.根据权利要求10所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
判断该调试检索要求是否具有一指令,其中该指令用于集结该调试状态数据成为符合近场通讯的数据格式。
12.根据权利要求10所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
以相容于近场通讯的数据格式,集结该调试状态数据至一近场通讯数据标签之中。
13.根据权利要求10所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
在执行该UEFI固件的一安全阶段、一预先可延伸固件界面初始化阶段、一驱动执行阶段或一启动装置选择阶段中,检索该调试状态数据。
14.根据权利要求13所述的电脑系统,其特征在于,检索一第二调试状态数据的阶段相同或不同于检索该调试状态数据的阶段。
15.根据权利要求14所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
集结该调试状态数据与该第二调试状态数据至一近场通讯数据标签之中。
16.根据权利要求10所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
启始一近场通讯应用程序,以使用该电脑系统的一近场通讯协议。
17.根据权利要求16所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
启始一近场通讯管理功能,以提供该近场通讯协议的信息。
18.根据权利要求17所述的电脑系统,其特征在于,该处理器进行的该些操作还包括:
启始一近场通讯主机控制驱动功能,以与一近场通讯读取装置进行通讯。
CN201810824131.XA 2017-08-28 2018-07-25 在uefi中检索调试数据的方法及其电脑系统 Active CN109426613B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/688,401 US10606677B2 (en) 2017-08-28 2017-08-28 Method of retrieving debugging data in UEFI and computer system thereof
US15/688,401 2017-08-28

Publications (2)

Publication Number Publication Date
CN109426613A true CN109426613A (zh) 2019-03-05
CN109426613B CN109426613B (zh) 2022-03-29

Family

ID=65435124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810824131.XA Active CN109426613B (zh) 2017-08-28 2018-07-25 在uefi中检索调试数据的方法及其电脑系统

Country Status (2)

Country Link
US (1) US10606677B2 (zh)
CN (1) CN109426613B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064749A (zh) * 2021-04-26 2021-07-02 山东英信计算机技术有限公司 一种通过bios控制运行时阶段调试信息输出的方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616944B2 (en) * 2018-07-06 2020-04-07 American Megatrends International, Llc Computer system and method thereof for sharing of wireless connection information between UEFI firmware and OS
US10628285B1 (en) * 2018-07-19 2020-04-21 American Megatrends International, Llc Dynamic configuration of availability of debugging messages
US11467934B2 (en) * 2018-12-31 2022-10-11 Lenovo (Singapore) Pte. Ltd. Diagnostic scan
EP3859526A1 (en) * 2020-01-30 2021-08-04 Hewlett-Packard Development Company, L.P. Error information storage
US11151061B1 (en) * 2020-06-26 2021-10-19 Logitech Europe S.A. Keyboard having remapping and administrative functions
CN113193923B (zh) * 2021-04-29 2022-10-11 中国工商银行股份有限公司 一种远程测试方法,设备及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160070913A1 (en) * 2014-09-09 2016-03-10 Dell Products, Lp Method for Authenticating Firmware Volume and System Therefor
CN106575249A (zh) * 2014-09-12 2017-04-19 英特尔公司 针对片上系统(soc)和系统的低功率调试架构
CN106909347A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种便携式计算机的uefi固件实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267708A1 (en) * 2003-06-18 2004-12-30 Rothman Michael A Device information collection and error detection in a pre-boot environment of a computer system
US10069962B1 (en) * 2017-03-17 2018-09-04 American Megatrends, Inc. Near field communication (NFC) enhanced computing systems
US10219135B1 (en) * 2017-03-17 2019-02-26 American Megatrends, Inc. Near field communication (NFC) enhanced computing systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160070913A1 (en) * 2014-09-09 2016-03-10 Dell Products, Lp Method for Authenticating Firmware Volume and System Therefor
CN106575249A (zh) * 2014-09-12 2017-04-19 英特尔公司 针对片上系统(soc)和系统的低功率调试架构
CN106909347A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种便携式计算机的uefi固件实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064749A (zh) * 2021-04-26 2021-07-02 山东英信计算机技术有限公司 一种通过bios控制运行时阶段调试信息输出的方法
CN113064749B (zh) * 2021-04-26 2023-02-28 山东英信计算机技术有限公司 一种通过bios控制运行时阶段调试信息输出的方法

Also Published As

Publication number Publication date
US10606677B2 (en) 2020-03-31
CN109426613B (zh) 2022-03-29
US20190065300A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
CN109426613A (zh) 在uefi中检索调试数据的方法及其电脑系统
CN106155657B (zh) Uefi固件的方法及其计算机系统
US7926054B2 (en) System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device
US8028155B1 (en) Initiating an operating system boot from firmware
TWI262443B (en) Method, system and recording medium for automatically configuring data processing system
WO2017117122A1 (en) Fpga-enabled compute instances
US7610483B2 (en) System and method to accelerate identification of hardware platform classes
US9184991B2 (en) Method and apparatus for developing service processor solutions
EP2689341B1 (en) Device flags
EP3062216A1 (en) Network bios management
CN101853173A (zh) 一种分布式系统的可编程逻辑器件的软件升级方法和设备
JP5081827B2 (ja) 遠隔データ処理システムを構築するための方法、並びにそのコンピュータ・プログラム及びデータ処理システム
CN109426527A (zh) 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
US10922150B2 (en) Deep hardware access and policy engine
CN110637521B (zh) 一种基于模型仿真的数据实时存储方法和系统
CN113626276B (zh) 服务器hba卡型号的识别方法、系统、终端及存储介质
US10616944B2 (en) Computer system and method thereof for sharing of wireless connection information between UEFI firmware and OS
CN103842980A (zh) 协议中立织物
CN116450046A (zh) 云盘实现方法、装置、智能网卡、服务器及存储介质
Rothman et al. Harnessing the UEFI Shell: Moving the platform beyond DOS
JP7073654B2 (ja) 情報処理システム、情報処理装置およびプログラム
CN101101558B (zh) 用于在电力中断后进行初始化的方法和系统
CN105511940B (zh) 一种Xen虚拟化中授权虚拟机访问Xenstore的方法及系统
CN102495770B (zh) 一种用于计算机内存故障分析的方法及系统
TWI502353B (zh) 核心邏輯電路、電腦系統及週邊裝置初始化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Georgia State, USA

Applicant after: AMERICAN MEGATRENDS Inc.

Address before: Oak Park Avenue Brook 30093 Georgia Norcross, No. 5555, No. 200 building

Applicant before: American Megatrends Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant