CN114297044A - 一种电子装置bios日志的存储方法和装置 - Google Patents
一种电子装置bios日志的存储方法和装置 Download PDFInfo
- Publication number
- CN114297044A CN114297044A CN202111614838.6A CN202111614838A CN114297044A CN 114297044 A CN114297044 A CN 114297044A CN 202111614838 A CN202111614838 A CN 202111614838A CN 114297044 A CN114297044 A CN 114297044A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- log
- serial port
- memory
- bios
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种电子装置BIOS日志的存储方法和装置,其中,存储方法包括:运行BIOS***;将BIOS***运行过程中生成的串口日志存储于电子装置的内存中;将存储于内存中的串口日志转存于连接在电子装置的外设存储器。本发明能够提高获取BIOS日志的效率,并节省了成本。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种电子装置BIOS日志的存储方法和装置。
背景技术
在对个人计算机的研发及制造过程中,经常需要在***出现故障时收集BIOS日志以进行故障问题的分析。
现有的BIOS日志的收集方法一般是将计算机主板上串口发送信号测试点飞线出来,连接至串口信号转USB信号转接板,再通过USB连接线将转接板的USB接口与工作电脑连接,在工作电脑上使用上位机软件收集计算机开机过程中BIOS运行时的日志。使用现有的方法收集BIOS日志,需要对计算机拆机飞线,步骤繁琐,并且耗费大量时间,而且还需要使用USB转接板,增加了成本。
因此,设计一种能够解决上述问题的电子装置BIOS日志的存储方法和装置显得尤为重要。
发明内容
本申请的目的在于提供一种电子装置BIOS日志的存储方法和装置,能够提高获取BIOS日志的效率,并节省了成本。
为实现上述目的,本申请提供了一种电子装置BIOS日志的存储方法,包括:
运行BIOS***;
将所述BIOS***运行过程中生成的串口日志存储于电子装置的内存中;
将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器。
可选地,所述“将所述BIOS***运行过程中生成的串口日志存储于电子装置的内存中”包括:
向所述内存申请一段内存作为存储所述串口日志的存储区域;
记录所述存储区域的地址;
根据所述存储区域的地址将所述串口日志存储于所述存储区域内。
可选地,所述“将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器”包括:
运行预设程序以生成转存命令;
根据所述转存命令将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器。
可选地,所述“根据所述转存命令将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器”包括:
获取所述存储区域的地址;
确定所述存储区域内的所述串口日志;
获取所述串口日志并转存于所述外设存储器。
可选地,所述“确定所述存储区域内的所述串口日志”包括:
根据所述串口日志在所述存储区域的起始存储位置和终止存储位置确定所述串口日志。
可选地,所述预设程序存储在所述外设存储器,所述预设程序为EFI应用程序。
可选地,所述存储方法还包括:所述BIOS***处于PEI阶段时,将生成的所述串口日志存放在建立的HOB。
所述BIOS***处于DXE阶段时,将存放于所述HOB中的所述串口日志转存于所述内存中。
为实现上述目的,本申请还提供了一种电子装置BIOS日志的存储方法,包括:
运行模块,用于运行BIOS***;
存储模块,用于将所述BIOS***运行过程中生成的串口日志存储于电子装置的内存中;
转存模块,用于将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器。
为实现上述目的,本申请还提供了一种电子装置,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的电子装置BIOS日志的存储方法。
为实现上述目的,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的电子装置BIOS日志的存储方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述电子装置BIOS日志的存储方法。
本申请在电子装置上运行BIOS***,将BIOS***运行过程中生成的串口日志存储于电子装置的内存中,再将存储于电子装置内存中的串口日志转存于连接在电子装置的外设存储器内。本申请通过将BIOS***运行过程中生成的串口日志存储于电子装置的内存中,以替代在BIOS运行的同时通过串口实时传输串口日志,提高了电子装置的启动速度。本申请通过将从串口输出的串口日志重定向于电子装置的内存中,并将存储于电子装置内存中的串口日志转存于连接在电子装置的外设存储器内,节省了需要拆机从发送信号测试点飞线的工序,也节约了转接板的成本,有利于提高收集BIOS日志的效率。
附图说明
图1是本申请实施例电子装置BIOS日志的存储方法流程图。
图2是本申请实施例将串口日志存储于电子装置内存的方法流程图。
图3是本申请实施例将串口日志从电子装置内存转存于外设存储器的方法流程图。
图4是本申请实施例根据转存命令将串口日志转存于外设存储器的方法流程图。
图5是定义HOB以及将串口日志存放在HOB的代码示意图。
图6是于DXE阶段申请内存以及将HOB中日志文件存放于内存的代码示意图。
图7是将串口日志重定向存放于电子装置内存的代码示意图。
图8是用于编译生成预设程序的代码示意图。
图9是本申请实施例电子装置BIOS日志的存储装置的示意框图。
图10是本申请实施例电子装置的示意框图。
具体实施方式
为了详细说明本申请的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
BIOS(Basic Input Output System,基本输入输出***)是固化到计算机主板上ROM芯片上的程序,其保存着计算机最重要的基本输入输出的程序、开机自检程序和***自启动程序。在计算机开机启动时,BIOS会对主板的上的硬件进行扫描检测、设备初始化、资源分配与适配,若出现***宕机或者其它***故障时,可获取BIOS日志对问题进行分析,以确定故障发生原因。为此,本申请公开了一种电子装置BIOS日志的存储方法,以提高收集BIOS日志的效率。
具体地,请参阅图1,该方法包括:
S1、运行BIOS***。
可以理解的是,在本实施例中采用的是Debug版本的BIOS***,Debug版本的BIOS***经常用于对***的开发和调试,其在运行过程中可实时通过串口输出串口日志。其中,串口日志主要由BIOS***上电自检(POST,Power On Self Test)过程中生成。
S2、将BIOS***运行过程中生成的串口日志存储于电子装置的内存中。
请参阅图2,具体地,步骤S2包括:
S21、向电子装置的内存申请一段内存作为存储串口日志的存储区域。
具体地,申请的内存至少大于串口日志所需占用的最大容量,并且应尽可能少占用电子装置的内存。优选地,申请的一段内存可为8MB。
S22、记录存储区域的地址。
S23、根据存储区域的地址将串口日志存储于存储区域内。
在BIOS***的串口日志生成后,将串口日志根据存储区域的地址将串口日志存储于存储区域中,不需在***启动的过程中实时从串口输出串口日志,可以提高***的启动速度。
可以理解的是,本申请所指的电子装置可以是个人计算机,也可以是服务器,或者是其他具有BIOS***的电子终端,在本申请中不作具体限制。
S3、将存储于内存中的串口日志转存于连接在电子装置的外设存储器。
可以理解的是,外设存储器可以是移动硬盘,也可以是U盘,或是其他具有存储功能的设备,只要能够连接于电子装置,并能存储串口日志即可,本申请在此不作限制。
具体来说,外设存储器可以通过USB接口与电子装置连接,当外设存储器与电子装置通过USB接口连接时,电子装置的USB驱动会对外设存储器进行识别,以使电子装置与外设存储器进行数据通讯。
请参阅图3,具体地,步骤S3包括:
S31、运行预设程序以生成转存命令。
可以理解的是,预设程序可以存储于电子装置内,也可以存储于外设存储器中。当预设程序存储于外设存储器时,可以方便技术人员对外设存储器内的预设程序进行修改,而且可以直接根据预设程序的所在路径位置将串口日志存储,而如果预设程序存储在电子装置内,则还需要预设程序去获取外设存储器内的存储路径。
具体来说,可以将串口日志存储于与预设程序同一目录下。
进一步地,预设程序为已经编译完成的EFI应用程序,EFI应用程序可在BIOS***的shell环境下运行,具体可参阅图8,编译图8所示代码可生成收集存储于电子装置内串口日志的预设程序。
具体来说,在BIOS***上电自检完成后,可以进入shell环境,并在shell命令窗中选择位于外设存储器内的预设程序执行。
S32、根据转存命令将存储于内存中的串口日志转存于连接在电子装置的外设存储器。
请参阅图4,进一步地,步骤S32包括:
S321、获取存储区域的地址。
S322、确定存储区域内的串口日志。
S323、获取串口日志并转存于外设存储器。
具体地,通过串口日志存储于存储区域的起始存储位置和终止存储位置确定存储区域内的串口日志,以准确获取串口日志。其中,在开始存储串口日志于存储区域时,记录串口日志的起始存储位置,并在存储完串口日志后记录串口日志的终止存储位置。
进一步地,在将串口日志从电子装置的存储区域转存至外设存储器后,可清除存储区域内的串口日志。
可以理解的是,在BIOS***运行过程中包括PEI(Pre-EFIInitialization,预先EFI初始化)阶段和DXE(Driver Execution Environment,驱动执行环境)阶段,其中,PEI阶段主要用来初始化内存,DXE阶段主要加载驱动程序。
请参阅图5,当BIOS***处于PEI阶段时,由于***内存还未初始化,则可以将该阶段生成的串口日志存放在建立的HOB(Hand Of Block)。具体地,可参阅图5(a),图5(a)为定义HOB的代码示意图;HOB是PEI阶段到DXE阶段传递信息的结构体,在PEI阶段收集的数据如果需要传递到DXE阶段,则需要将数据存放到HOB。
具体地,请参阅图5(b),图5(b)为将串口日志存放在HOB的代码示意图,将图中代码替换原先的串口日志打印函数,可实现将原先应从串口输出的串口日志存放在HOB中。
当BIOS***处于DXE阶段时,将存放于HOB中的串口日志转存于电子装置的内存中。具体地,可参阅图6(b),图6(b)为将暂存于HOB中的串口日志转存于电子装置内存的代码示意图。
可以理解的是,向电子装置内存申请一段内存的操作可在DXE阶段完成,具体可参阅图6(a),图6(a)为在DXE阶段向电子装置内存申请一段内存的代码示意图。
请参阅图7,进一步地,在DXE阶段向电子装置内存申请一段内存后,可通过将如图7所示代码替换原有的串口打印函数,将原先应从串口输出的串口日志存放在电子装置的内存中。
本申请在电子装置上运行BIOS***,将BIOS***运行过程中生成的串口日志存储于电子装置的内存中,再将存储于电子装置内存中的串口日志转存于连接至电子装置的外设存储器内。本申请通过将BIOS***运行过程中生成的串口日志存储于电子装置的内存中,以替代在BIOS运行的同时通过串口实时传输串口日志,提高了电子装置的启动速度。本申请通过将从串口输出的串口日志重定向于电子装置的内存中,并将存储于电子装置内存中的串口日志转存于连接至电子装置的外设存储器内,节省了需要拆机从发送信号测试点飞线的工序,也节约了转接板的成本,有利于提高收集BIOS日志的效率。
请参阅图9,本申请实施例还公开了一种电子装置BIOS日志的存储装置,包括:
运行模块100,用于运行BIOS***;
存储模块200,用于将BIOS***运行过程中生成的串口日志存储于电子装置的内存中;
转存模块300,用于将存储于内存中的串口日志转存于连接在电子装置的外设存储器。
本申请通过将从串口输出的串口日志重定向于电子装置的内存中,并将存储于电子装置内存中的串口日志转存于连接至电子装置的外设存储器内,节省了需要拆机从发送信号测试点飞线的工序,也节约了转接板的成本,有利于提高收集BIOS日志的效率。
请参阅图10,本申请实施例还公开了一种电子装置,包括:
处理器40;
存储器50,其中存储有处理器40的可执行指令;
其中,处理器40配置为经由执行可执行指令来执行如上所述的电子装置BIOS日志的存储方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的电子装置BIOS日志的存储方法。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行如上所述的电子装置BIOS日志的存储方法。
应当理解,在本申请实施例中,所称处理器可以是中央处理模块(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本申请的较佳实例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,均属于本申请所涵盖的范围。
Claims (10)
1.一种电子装置BIOS日志的存储方法,其特征在于,包括:
运行BIOS***;
将所述BIOS***运行过程中生成的串口日志存储于电子装置的内存中;
将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器。
2.如权利要求1所述的电子装置BIOS日志的存储方法,其特征在于,所述“将所述BIOS***运行过程中生成的串口日志存储于电子装置的内存中”包括:
向所述内存申请一段内存作为存储所述串口日志的存储区域;
记录所述存储区域的地址;
根据所述存储区域的地址将所述串口日志存储于所述存储区域内。
3.如权利要求2所述的电子装置BIOS日志的存储方法,其特征在于,
所述“将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器”包括:
运行预设程序以生成转存命令;
根据所述转存命令将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器。
4.如权利要求3所述的电子装置BIOS日志的存储方法,其特征在于,
所述“根据所述转存命令将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器”包括:
获取所述存储区域的地址;
确定所述存储区域内的所述串口日志;
获取所述串口日志并转存于所述外设存储器。
5.如权利要求4所述的电子装置BIOS日志的存储方法,其特征在于,
所述“确定所述存储区域内的所述串口日志”包括:
根据所述串口日志在所述存储区域的起始存储位置和终止存储位置确定所述串口日志。
6.如权利要求3所述的电子装置BIOS日志的存储方法,其特征在于,
所述预设程序存储在所述外设存储器,所述预设程序为EFI应用程序。
7.如权利要求1所述的电子装置BIOS日志的存储方法,其特征在于,还包括:
所述BIOS***处于PEI阶段时,将生成的所述串口日志存放在建立的HOB。
所述BIOS***处于DXE阶段时,将存放于所述HOB中的所述串口日志转存于所述内存中。
8.一种电子装置BIOS日志的存储装置,其特征在于,包括:
运行模块,用于运行BIOS***;
存储模块,用于将所述BIOS***运行过程中生成的串口日志存储于电子装置的内存中;
转存模块,用于将存储于所述内存中的所述串口日志转存于连接在所述电子装置的外设存储器。
9.一种电子装置,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的电子装置BIOS日志的存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的电子装置BIOS日志的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614838.6A CN114297044A (zh) | 2021-12-24 | 2021-12-24 | 一种电子装置bios日志的存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614838.6A CN114297044A (zh) | 2021-12-24 | 2021-12-24 | 一种电子装置bios日志的存储方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297044A true CN114297044A (zh) | 2022-04-08 |
Family
ID=80970199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614838.6A Pending CN114297044A (zh) | 2021-12-24 | 2021-12-24 | 一种电子装置bios日志的存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297044A (zh) |
-
2021
- 2021-12-24 CN CN202111614838.6A patent/CN114297044A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062617B (zh) | 一种支持多类型设备的平台的应用方法、移动终端 | |
US20030110369A1 (en) | Firmware extensions | |
US10606677B2 (en) | Method of retrieving debugging data in UEFI and computer system thereof | |
US7171546B2 (en) | CPU life-extension apparatus and method | |
CN100444127C (zh) | 软件测试***和软件测试方法 | |
US6961848B2 (en) | System and method for supporting legacy operating system booting in a legacy-free system | |
CN112231005A (zh) | 一种基于uboot管理fpga版本的方法 | |
CN115935631A (zh) | 用于车机设备的测试***和方法、存储介质 | |
CN113377586B (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
CN116225541B (zh) | 一种带内cpu与带外管理bmc通信的方法及通信*** | |
CN116450398A (zh) | 异常回溯方法、装置、设备和介质 | |
CN114297044A (zh) | 一种电子装置bios日志的存储方法和装置 | |
CN115964093A (zh) | 用于访问存储设备上的设备程序的***、方法和设备 | |
CN111694600B (zh) | 镜像文件的设计、芯片的运行方法、***、设备和介质 | |
CN114265786A (zh) | 自动化测试方法、装置,计算机设备及可读存储介质 | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享***及方法 | |
CN111641419B (zh) | 终端的射频功率放大器的版本识别方法、控制方法及*** | |
CN111176735B (zh) | 一种心电图机启动加速方法 | |
CN115145642B (zh) | 一种软件启动方法和*** | |
CN115840682B (zh) | 基于sw64指令集的bios层级采样的运维监控方法及装置 | |
CN113722715B (zh) | 一种导入文件检查方法、检查***及计算设备 | |
CN113448644B (zh) | 操作***ring3模式OC硬盘配置方法、装置、终端及存储介质 | |
JP4125054B2 (ja) | ログ取得方法 | |
CN115951909A (zh) | 一种片内动态加载应用软件的在线升级固化方法 | |
CN107346162B (zh) | Uefi下的电源管理方法及装置 |
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 |