CN110162436A - 一种bios post的常规模式和诊断模式切换方法 - Google Patents
一种bios post的常规模式和诊断模式切换方法 Download PDFInfo
- Publication number
- CN110162436A CN110162436A CN201910341016.1A CN201910341016A CN110162436A CN 110162436 A CN110162436 A CN 110162436A CN 201910341016 A CN201910341016 A CN 201910341016A CN 110162436 A CN110162436 A CN 110162436A
- Authority
- CN
- China
- Prior art keywords
- diagnostic
- post
- mode
- diagnostic mode
- normal mode
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种BIOS POST的常规模式和诊断模式切换方法,包括如下步骤:S1:BIOS POST是否需要切换诊断模式;S2:如果需要诊断模式,通过外切换为诊断模式;当切换完成后,系统上电,中央处理器从指定的地址执行诊断模式的Boot Block代码;在诊断模式下,Boot Block代码从串口打印POST诊断上下文信息;S3:如果不需要诊断模式POST,系统默认是常规模式POST,常规模式下系统不会输出串口诊断信息;S4:经过步骤S2或S3后,统一执行Main Block代码,直到POST流程结束。本发明带外(out‑of‑band)开关切换,诊断版本和常规版本在编译创建时是互斥的编译参数下编译生成;本发明在线诊断,有效降低运维时间成本,二合一的模式,不用额外增加硬件用料,丰富的诊断信息,为问题定位提供有价值的信息。
Description
技术领域
本发明属于计算机的技术领域,尤其涉及一种BIOS POST的常规模式和诊断模式切换方法。
背景技术
接通微机的电源,系统将执行一个自我检查的例行程序。这是BIOS(Basic InputOutput System,基本输入输出系统)功能的一部分,通常称为POST——上电自检(Power OnSelf Test)。
在BIOS POST的早期过程中,特别是内存初始化之前和初始化过程中,系统BIOS能够提供的诊断手段和诊断信息非常有限,业界常用的做法是硬件点灯,通过BMC(基板管理控制器Baseboard Management Controller)提供BIOS相关的诊断信息等。这些做法的可以提供简单的诊断信息,无法提供比较完整和全面的POST过程上下文信息供诊断和定位。
对于异常问题和缺陷的定位和维护,特别是还在线上运行的产品上曝出来的问题,定位分析和诊断都存在很大的难度。带串口诊断信息的版本跟正式发布的版本,编译参数是互斥的,同一个版本无法在带内自由切换。
发明内容
本发明的目的在于提供一种在线诊断、有效降低运维时间成本、二合一模式的BIOS POST的常规模式和诊断模式切换方法。
本发明提供一种BIOS POST的常规模式和诊断模式切换方法,包括如下步骤:
S1:BIOS POST是否需要切换诊断模式;
S2:如果需要诊断模式,通过外切换为诊断模式;当切换完成后,系统上电,中央处理器从指定的地址执行诊断模式的Boot Block代码;在诊断模式下,Boot Block代码从串口打印POST诊断上下文信息;
S3:如果不需要诊断模式POST,系统默认是常规模式POST,常规模式下系统不会输出串口诊断信息;
S4:经过步骤S2或S3后,统一执行Main Block代码,直到POST流程结束。
优选地,针对步骤S1,BIOS POST的BIOS BIN文件结构按照POST阶段,分成两个部分Boot Block部分和Main Block部分,上述步骤针对Boot Block部分是否需要切换诊断模式。
优选地,所述Boot Block部分和Main Block部分放在flash上固定的位置,共同形成一个完整的BIOS。
优选地,步骤S2的通过外切换为诊断模式,具有两种方法:第一种是硬件上南桥切换成跳帽,用跳帽切换南桥状态;第二种是硬件上将南桥的GPIO拉到BMC控制器的GPIO上,通过BMC控制器进行控制。
优选地,步骤S3的常规模式POST,CPU从默认地址执行常规模式Boot Block代码。
优选地,Boot Block部分的文件大小采用64KByte大小的二进制文件。
优选地,Boot Block部分的文件大小采用128Kbyte或256KByte大小的二进制文件。
优选地,两份功能不同的Boot Block代码可以同时储存在一块flash上,并且在不同的条件下,可以分别被执行
本发明一种BIOS POST的常规模式和诊断模式切换方法,当需要BIOS POST比较完整的诊断信息的时候,带外切换南桥状态使系统运行诊断模式的BIOS,通过串口打印出完整的上下文信息;本发明带外(out-of-band)开关切换,诊断版本和常规版本在编译创建时是互斥的编译参数下编译生成;本发明在线诊断,有效降低运维时间成本,二合一的模式,不用额外增加硬件用料,丰富的诊断信息,为问题定位提供有价值的信息。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明予以进一步说明。
图1所示为本发明BIOS POST的BIOS BIN文件结构按照POST阶段分成两部分的示意图;
图2所示为本发明BIOS POST的常规模式和诊断模式切换方法的示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
下面以具体实施例详细介绍本发明的技术方案。
如图1所示,本发明一种BIOS POST的常规模式和诊断模式切换方法,BIOS POST的BIOS BIN文件结构按照POST阶段,分成两个部分Boot Block部分和Main Block部分。其中,Boot Block部分负责从上电到内存初始化和内存空间建立这段POST过程;Main Block部分负责从内存空间建立完成到整个POST结束。
Boot Block部分和Main Block部分放在flash上固定的位置,共同形成一个完整的BIOS。
常规的Boot Block部分和带串口诊断信息的Boot Block部分,这两份是互斥的编译参数下编译生成的,所以需要准备两份Boot Block部分二进制文件;一份常规不带串口诊断信息的Boot Block二进制文件,一份是带串口诊断信息的Boot Block二进制文件。
Boot Block部分的文件大小的考虑,本发明Boot Block部分的文件大小采用64KByte大小的二进制文件,在其他实施例中Boot Block部分的文件大小采用128Kbyte或256KByte大小的二进制文件。
过硬件切换的机制,使得这两份功能不同的Boot Block代码可以同时储存在一块flash上,并且在不同的条件下,可以分别被执行。
如图1所示,本发明BIOS POST的常规模式和诊断模式切换方法,包括如下步骤:
S1:BIOS POST是否需要切换诊断模式;
S2:如果需要诊断模式,通过外切换为诊断模式;当切换完成后,系统上电,中央处理器(CPU)从指定的地址(本实施例的指定的地址为0xFFFE_FFF0)执行诊断模式的BootBlock代码;在诊断模式下,Boot Block代码从串口打印POST诊断上下文信息;
S3:如果不需要诊断模式POST,系统默认是常规模式POST,常规模式下系统不会输出串口诊断信息;
S4:经过步骤S2或S3后,统一执行Main Block代码,直到POST流程结束。
针对步骤S1,BIOS POST的BIOS BIN文件结构按照POST阶段,分成两个部分BootBlock部分和Main Block部分,上述步骤针对Boot Block部分是否需要切换诊断模式。
其中步骤S2的通过外切换为诊断模式,具有两种方法:第一种是硬件上南桥(是基于个人计算机主板芯片组架构中的其中一枚芯片,南桥设计用来处理低速信号,通过北桥与中央处理器联系)切换成跳帽,用跳帽切换南桥状态;第二种是硬件上将南桥的GPIO拉到BMC控制器的GPIO上,通过BMC控制器进行控制。
步骤S3的常规模式POST,CPU从默认的0xFFFF_FFF0地址执行常规模式Boot Block代码。
本发明一种BIOS POST的常规模式和诊断模式切换方法,当需要BIOS POST比较完整的诊断信息的时候,带外切换南桥状态使系统运行诊断模式的BIOS,通过串口打印出完整的上下文信息;本发明带外(out-of-band)开关切换,诊断版本和常规版本在编译创建时是互斥的编译参数下编译生成;本发明在线诊断,有效降低运维时间成本,二合一的模式,不用额外增加硬件用料,丰富的诊断信息,为问题定位提供有价值的信息。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,但是本发明并不限于上述实施方式中的具体细节,应当指出,对于本技术领域的普通技术人员来说,在本发明的技术构思范围内,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,对本发明的技术方案进行多种等同变换,这些改进、润饰和等同变换也应视为本发明的保护范围。
Claims (8)
1.一种BIOS POST的常规模式和诊断模式切换方法,其特征在于,包括如下步骤:
S1:BIOS POST是否需要切换诊断模式;
S2:如果需要诊断模式,通过外切换为诊断模式;当切换完成后,系统上电,中央处理器从指定的地址执行诊断模式的Boot Block代码;在诊断模式下,Boot Block代码从串口打印POST诊断上下文信息;
S3:如果不需要诊断模式POST,系统默认是常规模式POST,常规模式下系统不会输出串口诊断信息;
S4:经过步骤S2或S3后,统一执行Main Block代码,直到POST流程结束。
2.根据权利要求1所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,针对步骤S1,BIOS POST的BIOS BIN文件结构按照POST阶段,分成两个部分Boot Block部分和Main Block部分,上述步骤针对Boot Block部分是否需要切换诊断模式。
3.根据权利要求2所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,所述Boot Block部分和Main Block部分放在flash上固定的位置,共同形成一个完整的BIOS。
4.根据权利要求2所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,步骤S2的通过外切换为诊断模式,具有两种方法:第一种是硬件上南桥切换成跳帽,用跳帽切换南桥状态;第二种是硬件上将南桥的GPIO拉到BMC控制器的GPIO上,通过BMC控制器进行控制。
5.根据权利要求2所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,步骤S3的常规模式POST,CPU从默认地址执行常规模式Boot Block代码。
6.根据权利要求2所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,Boot Block部分的文件大小采用64KByte大小的二进制文件。
7.根据权利要求2所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,Boot Block部分的文件大小采用128Kbyte或256KByte大小的二进制文件。
8.根据权利要求2所述的BIOS POST的常规模式和诊断模式切换方法,其特征在于,两份功能不同的Boot Block代码可以同时储存在一块flash上,并且在不同的条件下,可以分别被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910341016.1A CN110162436A (zh) | 2019-04-25 | 2019-04-25 | 一种bios post的常规模式和诊断模式切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910341016.1A CN110162436A (zh) | 2019-04-25 | 2019-04-25 | 一种bios post的常规模式和诊断模式切换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110162436A true CN110162436A (zh) | 2019-08-23 |
Family
ID=67640109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910341016.1A Pending CN110162436A (zh) | 2019-04-25 | 2019-04-25 | 一种bios post的常规模式和诊断模式切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162436A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022160756A1 (zh) * | 2021-01-29 | 2022-08-04 | 苏州浪潮智能科技有限公司 | 服务器故障定位方法、装置、系统及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081562A (zh) * | 2009-11-30 | 2011-06-01 | 华为技术有限公司 | 一种设备诊断方法及系统 |
US20120117370A1 (en) * | 2007-01-05 | 2012-05-10 | Microsoft Corporation | Hardware diagnostics and software recovery on headless server appliances |
CN102799479A (zh) * | 2011-05-26 | 2012-11-28 | 鸿富锦精密工业(深圳)有限公司 | 具有多功能bios的主板及其测试方法 |
CN107885624A (zh) * | 2017-10-10 | 2018-04-06 | 曙光信息产业(北京)有限公司 | 控制bios调试信息输出的方法、装置及服务器 |
CN108874606A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种开关bios串口调试功能的控制装置及控制方法 |
CN109634793A (zh) * | 2018-12-11 | 2019-04-16 | 广东浪潮大数据研究有限公司 | Bios调试模式的控制方法、装置及设备 |
-
2019
- 2019-04-25 CN CN201910341016.1A patent/CN110162436A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117370A1 (en) * | 2007-01-05 | 2012-05-10 | Microsoft Corporation | Hardware diagnostics and software recovery on headless server appliances |
CN102081562A (zh) * | 2009-11-30 | 2011-06-01 | 华为技术有限公司 | 一种设备诊断方法及系统 |
CN102799479A (zh) * | 2011-05-26 | 2012-11-28 | 鸿富锦精密工业(深圳)有限公司 | 具有多功能bios的主板及其测试方法 |
CN107885624A (zh) * | 2017-10-10 | 2018-04-06 | 曙光信息产业(北京)有限公司 | 控制bios调试信息输出的方法、装置及服务器 |
CN108874606A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种开关bios串口调试功能的控制装置及控制方法 |
CN109634793A (zh) * | 2018-12-11 | 2019-04-16 | 广东浪潮大数据研究有限公司 | Bios调试模式的控制方法、装置及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022160756A1 (zh) * | 2021-01-29 | 2022-08-04 | 苏州浪潮智能科技有限公司 | 服务器故障定位方法、装置、系统及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
CN100555218C (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
US9405552B2 (en) | Method, device and system for controlling execution of an instruction sequence in a data stream accelerator | |
US7568090B2 (en) | Speedy boot for computer systems | |
CN107807881B (zh) | 代码覆盖率的测试方法、装置和计算机设备 | |
CN106575249A (zh) | 针对片上系统(soc)和系统的低功率调试架构 | |
CN110879720B (zh) | 可配置服务器及配置服务器的功能的方法 | |
US9846625B2 (en) | Method and device for debugging a MIPS-structure CPU with southbridge and northbridge chipsets | |
US8136001B2 (en) | Technique for initializing data and instructions for core functional pattern generation in multi-core processor | |
CN100422953C (zh) | 利用HDL扩展串口的SoC系统在线调试方法 | |
CN101630258A (zh) | Windows平台上嵌入式Linux软件集成开发系统及其构建方法 | |
US9870301B2 (en) | High-speed debug port using standard platform connectivity | |
KR20020048306A (ko) | 리프로그래머블 테스터, 디버거 및 버스 모니터를 갖는칩상의 무선 시스템을 구현하는 장치 및 방법 | |
CN104462943B (zh) | 业务系统中非侵入式性能监控装置和方法 | |
JP2001154876A (ja) | マイクロコンピュータデバッグアーキテクチャ及び方法 | |
CN102662645A (zh) | 片上系统及片上系统的硬件可编程器件的配置方法 | |
CN110162436A (zh) | 一种bios post的常规模式和诊断模式切换方法 | |
CN109634618A (zh) | 基于TMS320C674X处理器二级BootLoader串行加载自启动方法 | |
CN114138360B (zh) | DSP在Flash上的多核烧写启动方法及系统 | |
EP1113281A2 (en) | A method and apparatus for circuit emulation | |
CN107544804A (zh) | 嵌入式系统终端开发模式的启动方法及装置 | |
Ibrahim et al. | An on-chip IEEE 1687 network controller for reliability and functional safety management of system-on-chips | |
US9449176B1 (en) | Computer system vulnerability analysis apparatus and method | |
US6964026B2 (en) | Method of updating a semiconductor design | |
Dal Cin | Extending UML towards a Useful OO-Language for Modeling Dependability Features. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190823 |
|
RJ01 | Rejection of invention patent application after publication |