一种通过BIOS控制运行时阶段调试信息输出的方法技术

技术编号:29132744 阅读:24 留言:0更新日期:2021-07-02 22:28
本申请公开了一种通过BIOS控制运行时阶段调试信息输出的方法,该方法预先在BIOS菜单栏中定义了BIOS调试模式的启停选项,当需要在运行时阶段进行调试时,只要调整该启停选项就可以避免将系统串口的控制权交给OS,因此BIOS能够在运行时阶段通过系统串口打印调试信息,有效的克服了运行时阶段调试困难以及难以定位问题的缺陷,极大的缩短了调试及问题定位时间。此外,本申请还提供了一种通过BIOS控制运行时阶段调试信息输出的装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。

【技术实现步骤摘要】
一种通过BIOS控制运行时阶段调试信息输出的方法
本申请涉及计算机
,特别涉及一种通过BIOS控制运行时阶段调试信息输出的方法、装置、设备及可读存储介质。
技术介绍
BIOS(BasicInputOutputSystem,基本输入输出系统)的开发过程伴随着大量的调试工作,需要通过系统串口UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发传输器)查看调试信息,在遇到某些小概率问题时也需要通过系统串口进行问题分析定位。但是,现阶段的量产机器,系统串口只能打印出PEI阶段、DXE阶段和BDS阶段的调试信息,却不能打印运行时阶段(Runtime阶段)的调试信息。这是由于在系统引导进入到运行时阶段时,系统串口的控制权会由OS(OperatingSystem,操作系统)接管,而在OS下触发的所有SMI(SystemManagementInterrupts,系统管理中断)、RASfeature(Reliability,AvailabilityandServiceabilityFeature,可靠性,可用性和可维护性的特征)等日志无法通过串口打印,这极大的增加了工程师调试及分析问题的难度。因此,如何在BIOS开发过程中节省调试时间以及提高调试效率,是本领域技术人员需要解决的问题。
技术实现思路
本申请的目的是提供一种通过BIOS控制运行时阶段调试信息输出的方法、装置、设备及可读存储介质,用以解决在运行时阶段无法通过系统串口打印调试信息,给BIOS开发过程带来困难的问题。其具体方案如下:第一方面,本申请提供了一种通过BIOS控制运行时阶段调试信息输出的方法,包括:在DXE阶段,读取BIOS菜单栏中BIOS调试模式的启停选项的状态值;将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值,并在所述状态值为启动时,拒绝将系统串口控制权交给OS;在运行时阶段,通过系统串口打印调试信息。优选的,在所述读取BIOS菜单栏中BIOS调试模式的启停选项的状态值之前,还包括:在BIOS菜单栏中增加BIOS调试模式的启停选项。优选的,在所述读取BIOS菜单栏中BIOS调试模式的启停选项的状态值之前,还包括:根据用户在BIOS菜单栏对BIOS调试模式的启停选项的选择操作,更改所述BIOS调试模式的启停选项的状态值;或,在OS下,根据用户下发的更改指令,更改BIOS调试模式的启停选项的状态值。优选的,所述调试信息包括:SMI中断日志、RASfeature日志。优选的,在所述将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值之后,还包括:在所述状态值为关闭时,ACPI设备将系统串口控制权交给OS。优选的,所述读取BIOS菜单栏中BIOS调试模式的启停选项的状态值,包括:通过第一目标函数读取BIOS菜单栏中BIOS调试模式的启停选项的状态值。优选的,所述将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值,包括:将所述状态值存储至ACPI系统描述表;通过第二目标函数将所述ACPI系统描述表中的所述状态值传递给ACPI设备。第二方面,本申请提供了一种通过BIOS控制运行时阶段调试信息输出的装置,包括:状态读取模块:用于在DXE阶段,读取BIOS菜单栏中BIOS调试模式的启停选项的状态值;配置模块:用于将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值,并在所述状态值为启动时,拒绝将系统串口控制权交给OS;信息打印模块:用于在运行时阶段,通过系统串口打印调试信息。第三方面,本申请提供了一种通过BIOS控制运行时阶段调试信息输出的设备,包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序,以实现如上所述的通过BIOS控制运行时阶段调试信息输出的方法。第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的通过BIOS控制运行时阶段调试信息输出的方法。本申请所提供的一种通过BIOS控制运行时阶段调试信息输出的方法,包括:在DXE阶段,读取BIOS菜单栏中BIOS调试模式的启停选项的状态值;将状态值存储至ACPI系统描述表,以便于ACPI设备从ACPI系统描述表获取状态值,并在状态值为启动时,拒绝将系统串口控制权交给OS;在运行时阶段,通过系统串口打印调试信息。可见,该方法预先在BIOS菜单栏中定义了BIOS调试模式的启停选项,当需要在运行时阶段进行调试时,只要调整该启停选项就可以避免将系统串口的控制权交给OS,实现选择性的释放系统串口控制权,因此BIOS能够在运行时阶段通过系统串口打印调试信息,有效的克服了运行时阶段调试困难以及难以定位问题的缺陷,极大的缩短了调试及问题定位时间。此外,本申请还提供了一种通过BIOS控制运行时阶段调试信息输出的装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。附图说明为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请所提供的通过BIOS控制运行时阶段调试信息输出的方法实施例一的实现流程图;图2为本申请所提供的通过BIOS控制运行时阶段调试信息输出的方法实施例二的过程示意图;图3为本申请所提供的通过BIOS控制运行时阶段调试信息输出的装置实施例的功能框图;图4为本申请所提供的通过BIOS控制运行时阶段调试信息输出的设备实施例的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。现阶段所有的量产机器,并不具备在运行时阶段收集日志的功能,导致BIOS注册的SMI中断中产生的调试日志都不能及时获取,增大了BIOS调试的难度。本申请的目的在于提供一种通过BIOS控制运行时阶段调试信息输出的方法、装置、设备及可读存储介质,方便BIOS工程师在运行时阶段收集调试信息,例如系统运行时阶段的SMI中断日志、RASfeature日志等,极大的缩短了在BIOS开发过程的调试时间,提高了开发效率。下面对本申请提供的通过BIOS控制运行时阶段调试信息输出的本文档来自技高网
...

【技术保护点】
1.一种通过BIOS控制运行时阶段调试信息输出的方法,其特征在于,包括:/n在DXE阶段,读取BIOS菜单栏中BIOS调试模式的启停选项的状态值;/n将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值,并在所述状态值为启动时,拒绝将系统串口控制权交给OS;/n在运行时阶段,通过系统串口打印调试信息。/n

【技术特征摘要】
1.一种通过BIOS控制运行时阶段调试信息输出的方法,其特征在于,包括:
在DXE阶段,读取BIOS菜单栏中BIOS调试模式的启停选项的状态值;
将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值,并在所述状态值为启动时,拒绝将系统串口控制权交给OS;
在运行时阶段,通过系统串口打印调试信息。


2.如权利要求1所述的方法,其特征在于,在所述读取BIOS菜单栏中BIOS调试模式的启停选项的状态值之前,还包括:
在BIOS菜单栏中增加BIOS调试模式的启停选项。


3.如权利要求2所述的方法,其特征在于,在所述读取BIOS菜单栏中BIOS调试模式的启停选项的状态值之前,还包括:
根据用户在BIOS菜单栏对BIOS调试模式的启停选项的选择操作,更改所述BIOS调试模式的启停选项的状态值;
或,
在OS下,根据用户下发的更改指令,更改BIOS调试模式的启停选项的状态值。


4.如权利要求1所述的方法,其特征在于,所述调试信息包括:SMI中断日志、RASfeature日志。


5.如权利要求1所述的方法,其特征在于,在所述将所述状态值存储至ACPI系统描述表,以便于ACPI设备从所述ACPI系统描述表获取所述状态值之后,还包括:
在所述状态值为关闭时,ACPI设备将系统串口控制权交给OS。


6.如权利要求1至5任意一项所述的方法,其...

【专利技术属性】
技术研发人员:李婷婷李道童芦飞
申请(专利权)人:山东英信计算机技术有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1