CN115408287A - 板卡中基础软件的检测方法、装置、设备及存储介质 - Google Patents
板卡中基础软件的检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115408287A CN115408287A CN202211070184.XA CN202211070184A CN115408287A CN 115408287 A CN115408287 A CN 115408287A CN 202211070184 A CN202211070184 A CN 202211070184A CN 115408287 A CN115408287 A CN 115408287A
- Authority
- CN
- China
- Prior art keywords
- address
- preset
- basic software
- target
- space
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种板卡中基础软件的检测方法、装置、设备及存储介质,该方法包括:目标板卡上电后,对基础软件对应的运行环境进行初始化,包括:基于目标板卡中的启动固件对预置的系统内核进行识别,并启动系统内核;获取目标板卡中基础软件对应配置的地址空间,对地址空间进行数据读写测试,根据返回的测试结果判断地址空间是否符合预设的目标空间;若确定符合目标空间,则获取启动固件传递的传参表并解析,得到基础软件中配置的目标参数,判断目标参数是否包含在规定的参数范围内;若确定包含在参数范围内,则读取基础软件对应的地址窗口配置信息,判断地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种板卡中基础软件的检测方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,计算机硬件设备与操作系统的种类日益多样化。在计算机配置完成后,通常需要对其进行开机检测,也即在基本输入输出系统启动过程中,对中央处理器,内存,硬盘,U盘等硬件设备进行上电自检,以检测其是否可以正常运行,若检测到至少一个硬件设备无法正常运行,则无法正常启动操作系统。
然而,即使检测到全部硬件设备均可正常运行,也可能会存在无法启动操作系统的问题。因为中央处理器芯片与操作系统内核之间具有很强的耦合性,但采用该中央处理器芯片设计的板卡装载的基本输入输出系统中基础软件在开发时却具有很大的自由度,以此来使同一操作系统内核适配不同的板卡上中央处理器芯片。但是由于对基础软件开发时具有很大的自由度,因此可能会存在基础软件的配置数据与操作系统不兼容从而无法启动操作系统的问题。
因此,如何在上电检测的基础上进一步检测基础软件的配置数据与操作系统是否兼容是亟待解决的问题。
发明内容
本申请提供一种板卡中基础软件的检测方法、装置、设备及存储介质,用以在上电检测的基础上进一步检测基础软件的配置数据与操作系统是否兼容。
第一方面,本申请实施例提供一种板卡中基础软件的检测方法,所述方法包括:
目标板卡上电后,对所述基础软件对应的运行环境进行初始化,包括:基于所述目标板卡中的启动固件对预置的系统内核进行识别,并启动所述系统内核;
获取所述目标板卡中所述基础软件对应配置的地址空间,对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间;所述预设的目标空间是所述系统内核能寻址到的地址空间;
若确定符合所述目标空间,则获取所述启动固件传递的传参表并解析,得到所述基础软件中配置的目标参数,判断所述目标参数是否包含在规定的参数范围内;所述参数范围记录于所述启动固件与所述系统内核对应的传参规范中;
若确定包含在所述参数范围内,则读取所述基础软件对应的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;所述配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围。
可选地,如上所述的方法,所述对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间,包括:
获取所述地址空间的起始地址,基于所述起始地址对所述地址空间的每个地址段进行数据读写测试;其中,每个地址段对应的空间大小相同,且为预设值;
确定数据读写测试成功的次数,根据所述数据读写测试成功的次数,判断所述地址空间是否符合预设的目标空间。
可选地,如上所述的方法,所述根据所述数据读写测试成功的次数,判断所述地址空间是否符合预设的目标空间,包括:
判断所述数据读写测试成功的次数与预设的次数是否一致;
若一致,则确定所述地址空间符合预设的目标空间;若不一致,则确定所述地址空间不符合预设的目标空间。
可选地,如上所述的方法,所述窗口配置信息检测包括硬件配置检测以及内存配置检测;所述地址窗口配置信息包括:所述目标板卡对应搭载的硬件的配置信息及内存配置信息;预设的配置范围包括:预设的硬件配置范围及预设的内存配置范围;
所述读取所述基础软件配置的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,包括:
对所述目标板卡的一级交叉开关地址窗口寄存器进行读取,获得所述一级交叉开关地址窗口寄存器中存储的所述硬件的配置信息,判断所述硬件的配置信息是否包含在预设的硬件配置范围内,以实现硬件配置检测;
对所述目标板卡的二级交叉开关地址窗口寄存器进行读取,获得所述二级交叉开关地址窗口寄存器中存储的内存配置信息,判断所述内存配置信息是否包含在预设的内存配置范围内,以实现内存配置检测。
可选地,如上所述的方法,所述方法还包括:
若确定包含在预设的配置范围内,则确定所述基础软件符合规范;
若确定不符合预设的目标空间,或若确定不包含在规定的参数范围内或若确定不包含在预设的配置范围内,则确定所述基础软件不符合规范。
可选地,如上所述的方法,所述确定所述基础软件不符合规范之后,还包括:
对用户进行异常提示;所述异常提示的方式包括以下任意一种或多种:声音提示、灯光提示以及文字提示。
第二方面,本申请实施例提供一种板卡中基础软件的检测装置,包括:
初始化模块,用于目标板卡上电后,对所述基础软件对应的运行环境进行初始化,包括:基于所述目标板卡中的启动固件对预置的系统内核进行识别,并启动所述系统内核;
第一检测模块,用于获取所述目标板卡中所述基础软件对应配置的地址空间,对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间;所述预设的目标空间是所述系统内核能寻址到的地址空间;
第二检测模块,用于若确定符合所述目标空间,则获取所述启动固件传递的传参表并解析,得到所述基础软件中配置的目标参数,判断所述目标参数是否包含在规定的参数范围内;所述参数范围记录于所述启动固件与所述系统内核对应的传参规范中;
第三检测模块,用于若确定包含在所述参数范围内,则读取所述基础软件对应的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;所述配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围。
第三方面,本申请实施例提供一种处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供一种板卡中基础软件的检测方法、装置、设备及存储介质,通过目标板卡上电后,对所述基础软件对应的运行环境进行初始化,对目标板卡的基础软件对应配置的地址空间进行数据读写测试,根据数据读写测试返回的结果判断地址空间是否符合预设的目标空间,以实现地址空间检测,在地址空间检测符合规范后,获取启动固件传递的传参表并解析,获取基础软件配置的目标参数,判断目标参数是否包含在预设的启动固件与系统内核对应的传参规范中,以实现目标参数检测,在目标参数检测符合规范后,读取基础软件中配置的地址窗口配置信息,判断地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测。也就是说,本申请通过在开机过程中对目标板卡的基础软件进行地址空间检测、传递参数检测以及窗口配置信息检测,从而可以准确判断基础软件与操作系统是否兼容,从而可以使开发人员及时对基础软件配置的数据进行更改,有效避免由于基础软件配置的数据与操作系统不兼容导致的无法启动操作系统的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种板卡中基础软件的检测方法的流程图;
图2为本申请实施例提供的又一种板卡中基础软件的检测方法的流程图;
图3为本申请实施例提供的另一种板卡中基础软件的检测方法的流程图;
图4为本申请实施例提供的操作系统启动方法的流程图;
图5为本申请实施例提供的板卡中基础软件的检测装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。
为了能够使同一操作系统内核适配板卡上不同的中央处理器芯片,开发人员可在对中央处理器芯片设计的板卡上装载的基本输入输出系统中的基础软件进行开发时,具有很大的自由度。即在基础软件开发过程中,对配置的数据具有很大的自由度。但是基础软件作为连接计算机底层硬件与上层操作系统的桥梁和枢纽,其配置的数据可直接影响内核能否正常启动,进而直接影响操作系统能否正常启动。只有基础软件配置的数据符合中央处理器芯片设计时的规范,才可以正常启动内核,进而与相应的操作系统相兼容,从而实现操作系统的正常启动。
而目前在计算机开机检测时,只是在基本输入输出系统在启动过程中,对硬件设备进行上电自检,并没有关于基础软件是否合规的检测,导致即使检测硬件设备能够正常运行,也会有无法正常启动操作系统的情况发生。所以存在检测基础软件的配置数据与操作系统不兼容的问题。
本申请提供的板卡中基础软件的检测方法、装置、设备及存储介质,旨在解决现有技术的如上技术问题。
下面对本申请提供的板卡中基础软件的检测方法的应用场景进行说明。在计算机中包括:板卡、基本输入输出系统(简称BIOS)及操作系统。其中,在板卡上包括:中央处理器芯片,存储芯片等。在基本输入输入系统中包括基本软件。将基本输入输出系统装载到存储芯片中。在操作系统中包括内核和文件系统。操作系统存储到硬盘中,硬盘通过对应的磁盘接口与板卡连接。
本申请实施例提供的板卡中基础软件的检测方法应用在对计算机启动的场景中。具体地,首先对计算机进行上电处理,启动BIOS,BIOS又称为启动固件。若BIOS启动成功,则BIOS通过磁盘接口对硬盘中的内核进行识别,对内核进行启动。在内核启动过程中,采用本申请实施例提供的板卡中基础软件的检测方法对基础软件中的配置数据进行是否符合规范的检测。其中,配置的数据可以包括:中央处理器的地址空间、启动固件向内核传递的目标参数及地址窗口配置信息。若确定都符合规范,则说明基础软件的配置数据能够保证内核启动成功,基础软件的配置数据与操作系统兼容。那么在内核启动成功后,启动操作系统,若确定至少一项配置的数据不符合规范,则进行不符合规范的异常提示。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图1为本申请实施例提供的一种板卡中基础软件的检测方法的流程图,如图1所示,本实施例提供的板卡中基础软件的检测方法的执行主体可以为板卡中基础软件的检测装置。在实际应用中,该板卡中基础软件的检测装置可以通过计算机程序实现,也可以通过存储有相关计算机程序的介质,例如U盘和/或光盘等实现;或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如芯片等。
本实施例提供的板卡中基础软件的检测包括地址空间检测、目标参数检测以及窗口配置信息检测,则本实施例提供的板卡中基础软件的检测方法包括以下步骤:
步骤101、目标板卡上电后,对基础软件对应的运行环境进行初始化,包括:基于目标板卡中的启动固件对预置的系统内核进行识别,并启动系统内核。
其中,基础软件为基本输出输出系统启动后,所运行的基本输出输出系统中的软件。
本实施例中,在对基础软件对应的运行环境进行初始化时,首先可对计算机进行上电处理,在进行上电处理后,启动目标板卡上的启动固件,判断启动固件是否启动成功,若确定启动固件启动成功,则通过磁盘接口对硬盘中操作系统的内核进行识别,并启动内核。在内核启动后,满足基础软件的运行环境,即完成了对基础软件对应的运行环境的初始化。
步骤102、获取目标板卡中基础软件对应配置的地址空间,对地址空间进行数据读写测试,根据返回的测试结果判断地址空间是否符合预设的目标空间;预设的目标空间是所述系统内核能寻址到的地址空间。
其中,基础软件对应配置的地址空间可以包括:中央处理器(简称:CPU)的地址空间。具体在基础软件中配置的地址空间可以包括:地址空间的起始地址和终止地址。或者可以包括:起始地址,每个地址段对应的空间大小及地址段的数量。
其中,预设的目标空间为与目标板卡上的中央处理器芯片适配的CPU的地址空间。在中央处理器的芯片完成设计后,预设的目标空间也就确定出来,并可写入到芯片的设计手册中。如在芯片的设计手册中规定出中央处理器地址空间的起始地址和终止地址。或者可以规定出中央处理器地址空间的起始地址,每个地址段对应的空间大小及地址段的数量。
其中,预设的目标空间也是系统内核能寻址到的的地址空间。具体可以为系统内核能寻址到的中央处理器的地址空间。具体的,在内核启动过程中,会对CPU进行初始化。在对CPU进行初始化过程中,会对CPU进行寻址,所以预设的目标空间,也为系统内核能够在中央处理器芯片上能够寻址到的CPU的地址空间。
可选的,本实施例中,可从CPU的设计手册中获取预设的目标空间,通过手动录入或者预先缓存的方式加载既定CPU的设计手册中预设的目标空间,并将目标空间对应地址范围存储到系统内核中,从系统内核中获取到预设的目标空间。
可选地,在内核启动过程中,基于基础软件中配置的地址空间中的起始地址和终止地址,将预设的数据写入到配置的地址空间中,并从配置的地址空间中读取预设的数据,以进行数据读写测试。返回的测试结果可以为写入和读取的预设数据是否一致的结果。
若确定测试结果为写入和读取的预设数据一致,则说明按照配置的地址空间写入及读取预设数据时,配置的地址空间符合预设的目标空间,所以系统内核是能够基于配置的地址空间成功完成寻址并且写入数据及读取数据的。若确定测试结果为没有成功写入及读取到预设数据,则说明按照配置的地址空间写入及读取预设数据时,配置的地址空间不符合预设的目标空间,所以系统内核是不能基于配置的地址空间成功完成寻址,无法成功写入数据的。并且在按照配置的地址空间寻址时,无法成功完成寻址,进而成功读取预设数据的。
可选地,在内核启动过程中,基于基础软件中配置的地址空间中的起始地址,每个地址段对应的空间大小及地址段的数量对地址空间进行数据读写测试时,可为每个地址段设置不同的数据进行数据读写测试。将预设的数据写入到配置的对应的地址段中,并从对应的地址段中读取预设的数据,以进行数据读写测试。返回的测试结果可以为数据读写测试成功的次数。即写入和读取的预设数据一致的次数。
若确定数据读写测试成功的次数与预设的次数一致,则说明按照配置的地址空间写入及读取预设数据时,配置的地址空间符合预设的目标空间,所以系统内核是能够基于配置的地址空间成功完成寻址并且写入数据及读取数据的。若确定测试结果为数据读写测试成功的次数与预设的次数不一致,则说明按照配置的地址空间写入及读取预设数据时,配置的地址空间不符合预设的目标空间,如预设的目标空间小于配置的地址空间。或者预设的目标空间与配置的地址空间的起始地址不一致等。所以系统内核是不能基于配置的地址空间每次都能成功完成寻址并写入及读取预设数据的。
步骤103、若确定符合目标空间,则获取启动固件传递的传参表并解析,得到基础软件中配置的目标参数,判断目标参数是否包含在规定的参数范围内;参数范围记录于启动固件与系统内核对应的传参规范中。
若确定符合目标空间,则确定基础软件对应配置的地址空间满足芯片设计时CPU的硬件要求,即基础软件对应配置的CPU的地址空间符合目标板卡上的中央处理器芯片适配的CPU的地址空间。以便能够进行目标参数检测以及窗口配置信息检测。若确定不符合目标空间,则确定基础软件对应配置的地址空间不满足芯片设计时CPU的硬件要求,则也无需进行目标参数检测以及窗口配置信息检测,可直接进行异常提示。
本实施例中,在基础软件中配置启动固件向内核传递的目标参数,这些目标参数形成了启动固件向内核传递的参数表,简称:启动固件传递的传参表。
其中,基础软件中配置的启动固件向内核传递的目标参数可以包括但不限于系统低端开始地址、独立显存地址、集显地址、系统高端开始地址及大小、外设部件互连接口内存(PCI_MEM)、外设部件互连接口输入输出(PCI_IO)的开始地址及大小以及显示驱动参数(VBIOS)地址等。
本实施例中,在中央处理器的芯片完成设计后,启动固件与系统内核对应的传参规范也就确定出来,并可写入到芯片的设计手册中。在传参规范中规定有目标参数范围。本实施例中,启动固件与系统内核对应的传参规范可以存储到内核的结构体中。
具体地,在本实施例中,在基础软件中配置启动固件向内核传递的目标参数后,可将对应的启动固件传递的参数表以结构体的形式存储到a2寄存器中,并设置有结构体指针。内核启动后,板卡中基础软件的检测装置进行目标参数检测。具体地,通过结构体指针从a2寄存器中确定结构体的存储位置,并基于结构体的存储位置从a2寄存器中读取结构体中的启动固件传递的参数表。从内核中获取结构体中存储的启动固件与系统内核对应的传参规范。将读取到的启动固件传递的参数表进行解析,获取到目标参数,将目标参数与启动固件与系统内核对应的传参规范中的规定的参数范围进行对比,判断目标参数是否包含在规定的参数范围内,以实现传递参数检测。
其中,启动固件与系统内核对应的传参规范中的规定的参数范围可以为唯一值,也可以为范围值,本实施例对此不做限定。示例性地,若启动固件与系统内核对应的传参规范中的规定的系统高端开始地址为0x9000_0000,则基础软件的检测装置可以判断基础软件配置的系统高端开始地址是否为0x9000_0000。若启动固件与系统内核对应的传参规范中的规定的PCI_IO地址为0x1000_0000到0x2000_0000之间,则板卡中基础软件的检测装置可以判断基础软件配置的PCI_IO的开始地址是否在0x1000_0000到0x2000_0000的范围内。
步骤104、若确定包含在参数范围内,则读取基础软件对应的地址窗口配置信息,判断地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围。
本实施例中,若确定目标参数包含在规定的参数范围内,则说明基础软件配置的启动固件向内核传递的目标参数符合启动固件与系统内核对应的传参规范。通过在基础软件中配置符合传参规范的目标参数,使内核和中央处理器芯片在目标参数上是适配的。进而可继续进行窗口配置信息检测。
可以理解的是,若确定目标参数不包含在规定的参数范围内,则说明基础软件配置的启动固件向内核传递的目标参数不符合启动固件与系统内核对应的传参规范,基础软件配置的目标参数与内核是不兼容的,进而基础软件配置的目标数据与操作系统不兼容。则可直接进行异常提示。
本实施例中,在进行窗口配置信息检测时,板卡中基础软件的检测装置可以读取基础软件配置的地址窗口配置信息,判断目标板卡的软件配置的地址窗口配置信息是否包含在预设的配置范围内。
其中,预设的配置范围在中央处理器的芯片完成设计后就可确定下来,并可写入到CPU的设计手册中。也可存储到内核中。其表示系统内核与所述目标板卡对应搭载部件的参数范围。
其中,地址窗口配置信息可以包括目标板卡对应搭载的硬件的配置信息及内存配置信息。其中,内存配置信息可以包括配置的内存大小,配置的内存高端地址,为内存所配置的交叉存取(INTERLEAVE)位信息等。目标板卡对应搭载的硬件的配置信息可以包括:与处理器连接的关键控制器和设备的开始地址、映射地址及占用范围等。
在一个示例中,板卡中基础软件的检测装置可以通过地址窗口寄存器读取目标板卡的基础软件配置的地址窗口配置信息,并将基础软件配置的地址窗口配置信息与预设的配置范围进行对比。若确定基础软件配置的地址窗口配置信息在预设的配置范围内,则说明基础软件的配置的地址窗口配置信息与目标板卡对应搭载部件的配置信息是兼容的。那么在内核启动后,对目标板卡对应搭载部件进行初始化时,内核能够基于基础软件配置的地址窗口配置信息成功访问到目标板卡对应搭载部件的硬件和内存,进而能够成功对目标板卡对应搭载部件进行初始化,目标板卡对应搭载部件能够正常运行。
可以理解的是,若确定基础软件配置的地址窗口配置信息不在预设的配置范围内,则说明基础软件的配置的地址窗口配置信息与目标板卡对应搭载部件的配置信息是不兼容的。那么在内核启动后,对目标板卡对应搭载部件进行初始化时,内核不能基于基础软件配置的地址窗口配置信息成功访问到与目标板卡对应搭载部件和内存,进而不能成功对目标板卡对应搭载部件进行初始化,目标板卡对应搭载部件无法正常运行。则可直接进行异常提示。
本实施例提供的板卡中基础软件的检测方法,目标板卡上电后,对基础软件对应的运行环境进行初始化,包括:基于目标板卡中的启动固件对预置的系统内核进行识别,并启动系统内核;获取目标板卡中基础软件对应配置的地址空间,对地址空间进行数据读写测试,根据返回的测试结果判断地址空间是否符合预设的目标空间;预设的目标空间是所述系统内核能寻址到的地址空间;若确定符合目标空间,则获取启动固件传递的传参表并解析,得到基础软件中配置的目标参数,判断目标参数是否包含在规定的参数范围内;参数范围记录于启动固件与系统内核对应的传参规范中;若确定包含在参数范围内,则读取基础软件对应的地址窗口配置信息,判断地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围,在本申请实施例中,通过对基础软件对应的运行环境进行初始化后,对目标板卡的基础软件进行地址空间检测、目标参数检测以及窗口配置信息检测,从而可以准确判断基础软件的配置数据与操作系统是否兼容,从而可以使开发人员及时对基础软件配置进行更改,有效避免由于基础软件的的配置数据与操作系统不兼容导致的无法启动操作系统的问题。
实施例二
图2为本申请实施例提供的又一种板卡中基础软件的检测方法的流程图,如图2所示,本实施例提供的板卡中基础软件的检测方法,在上述实施例一的基础上,步骤102具体包括以下步骤:
步骤201、获取地址空间的起始地址,基于起始地址对地址空间的每个地址段进行数据读写测试;其中,每个地址段对应的空间大小相同,且为预设值。
步骤202、确定数据读写测试成功的次数,根据数据读写测试成功的次数,判断地址空间是否符合预设的目标空间。
其中,基础软件配置的中央处理器的地址空间可以为中央处理器每个节点的内部多位物理地址,相应地,预设的目标空间可以为CPU的设计手册中规定的中央处理器每个节点的内部多位物理地址,在一个示例中,该多位物理地址具体可以为0x9800000000000000~0x9800100000000000,共64位物理地址。
在本实施例中,在进行数据读写测试时,可以从软件配置的中央处理器的起始地址开始进行数据读写测试,具体地,板卡中基础软件的检测装置可以获取基础软件配置的中央处理器的地址空间的起始地址,在一个示例中,该起始地址可以为中央处理器内部地址空间的首地址,也即0x9800000000000000。
在获取基础软件配置的中央处理器的地址空间的起始地址后,板卡中基础软件的检测装置可以基于起始地址基于基础软件配置的中央处理器的地址空间的每个地址段进行数据读写测试。其中,每个地址段对应的空间大小相同,且为预设值。
在一个示例中,每个地址段对应的空间大小可以为16M。相应地,第一个地址段可以为0x9800000000000000~0x9800000000004000,则下一地址段的起始地址为0x9800000000004000,结束地址为起始地址加0x4000的位置,依此类推,即可得到全部地址段的位置。
示例性的,中央处理芯片为龙芯3A3000。预设的目标空间是0x9800000000000000~0x9800001000000000。起始地址为0x9800000000000000,终止地址为0x9800001000000000。在进行数据读写测试时,预先配置一个标志变量,用于确定数据读写测试成功的次数。该标志变量的初始值为0。那么在进行数据读写测试时,按照基础软件对应配置的地址空间进行读写测试。示例性的,基础软件配置的地址空间也为0x9800000000000000~0x9800001000000000。则第一次进行数据读写测试时,获取基础软件配置的地址空间的第一个地址段,为0x9800000000000000~0x9800000000004000,将预设数值0写入到第一个地址段的起始地址0x9800000000000000中,然后从第一个地址段的起始地址0x9800000000000000中读出存入的值,判断读出的值是否为0,若是0,则标志变量加1,说明数据读写测试的成功次数累计为1,并说明基础配置软件对应配置的地址空间中的第一个地址段与预设的目标空间中的第一个地址段是匹配的。
再进行第二次数据读写测试,获取基础软件配置的地址空间的第二个地址段,将预设数值0写入到第二个地址段的起始地址0x9800000000004000中,然后从第二个地址段的起始地址0x9800000000004000中读出存入的值,判断读出的值是否为0,若是0,则标志变量加1,说明数据读写测试的成功次数累计为2。也说明基础配置软件对应配置的地址空间中的第二个地址段与预设的目标空间中的第二个地址段是匹配的。以此类推,获取基础软件配置的地址空间的每个地址段,均进行数据读写测试后,获取标志变量的数值,该标志变量的数值作为数据读写测试成功的次数。上述示例中,由于预设的目标空间与基础软件对应配置的地址空间是一致的,基础软件配置的地址空间符合预设的地址空间。由于0x9800000000000000~0x9800000000004000一共有4096个地址段,所以标志变量的数值为4096。
示例性的,若基础软件配置的地址空间也为0x9800000000000000~0x9800000000004000。则按照基础软件配置的地址空间只会进行一次数据读写测试,数据读写测试成功的次数也只为1,则标志变量的数值为1。但预设的目标空间中有4096个地址段,说明基础软件配置的地址空间远远小于预设的目标空间,确定基础软件配置的地址空间不符合预设的地址空间。
示例性的,在对基础软件配置的中央处理器的地址空间的每个地址段进行数据读写测试时,将预设的数据写入到配置的每个地址段中,并从每个地址段中读取预设的数据,以进行数据读写测试。返回的测试结果可以为数据读写测试成功的次数。即写入和读取的预设数据一致的次数。对目标板卡的基础软件配置的中央处理器的地址空间的每个地址段进行数据读写测试后,板卡中基础软件的检测装置可以确定数据读写测试成功的次数,并根据数据读写成功的次数,判断基础软件配置的中央处理器的地址空间是否符合预设的目标空间。
其中,在进行数据读写测试时,写入到每个地址段的预设的数据可以不同。
在上述实施例二的基础上,在一种可选的实施方式中,步骤202中,根据数据读写测试成功的次数,判断地址空间是否符合预设的目标空间,包括:判断数据读写测试成功的次数与预设的次数是否一致;若一致,则确定地址空间符合预设的目标空间;若不一致,则确定地址空间不符合预设的目标空间。
在本实施方式中,板卡中基础软件的检测装置可以判断数据读写测试成功的次数与预设的次数是否一致。在一种可能的情况中,若数据读写测试成功的次数与预设的次数相一致,则板卡中基础软件的检测装置可以确定基础软件配置的中央处理器的地址空间符合预设的目标空间。
其中,由于每个地址段均需要进行一次数据读写测试,所以若基础软件对应配置的地址空间符合预设的目标空间,那么每个地址段进行数据读写测试时均应该是成功的。所以预设的次数可以为预设的目标空间中的地址段的个数。
在一种可能的情况中,若数据读写测试成功的次数与预设的次数不一致,则表明基础软件配置的中央处理器的地址空间大于或者小于预设目标空间,则板卡中基础软件的检测装置可以确定基础软件配置的中央处理器的地址空间不符合预设目标空间。
举例来说,若预设的目标空间为256M,每个地址段对应的空间大小为16M,则预设的读取次数可以为256/16,也即16次。相应地,若板卡中基础软件的检测装置对目标板卡的基础软件配置的中央处理器的地址空间的每个地址段进行数据读写测试后,确定的读写成功的次数为16次,则可以确定基础软件配置的中央处理器的地址空间符合预设的目标空间,也即为256M。若板卡中基础软件的检测装置确定的读写成功的次数为15次,则表明基础软件配置的中央处理器的地址空间为15×16也即240M,则可以确定软件设置的中央处理器的地址空间不符合预设的目标空间。
本实施例提供的板卡中基础软件的检测方法,获取地址空间的起始地址,基于起始地址对地址空间的每个地址段进行数据读写测试;其中,每个地址段对应的空间大小相同,且为预设值;确定数据读写测试成功的次数,根据数据读写测试成功的次数,判断地址空间是否符合预设的目标空间。通过上述方式,可以快速且准确地判断出基础软件配置的中央处理器的地址空间是否正确,从而可以有效避免由于中央处理器的地址空间设置不准确导致的无法启动操作系统的问题。
实施例三
在上述实施例一的基础上,在一种可选的实施方式中,窗口配置信息检测包括硬件配置检测以及内存配置检测。地址窗口配置信息包括:所述目标板卡对应搭载的硬件的配置信息及内存配置信息;预设的配置范围包括:预设的硬件配置范围及预设的内存配置范围。
相应地,步骤104具体包括:
对目标板卡的一级交叉开关地址窗口寄存器进行读取,获得一级交叉开关地址窗口寄存器中存储的所述硬件的配置信息,判断所述硬件的配置信息是否包含在预设的硬件配置范围内,以实现硬件配置检测;对目标板卡的二级交叉开关地址窗口寄存器进行读取,获得二级交叉开关地址窗口寄存器中存储的内存配置信息,判断内存配置信息是否包含在预设的内存配置范围内,以实现内存配置检测。
在本实施方式中,窗口配置信息检测可以包括硬件配置检测以及内存配置检测。具体地,在一个示例中,在进行硬件配置检测时,板卡中基础软件的检测装置可以对目标板卡的一级交叉开关地址窗口寄存器进行读取,获得一级交叉开关地址窗口寄存器中存储的硬件的配置信息。
其中,在中央处理器芯片中可采用二级交叉开关实现板卡上的路由。一级交叉开关用于对每个连接域到总根的端口(Master端口)接收到的请求进行路由配置,每个Master端口可以具有8个地址窗口,每个地址窗口包括三个64位寄存器,寄存器中存储有目标板卡对应搭载的硬件的配置信息。
其中,目标板卡对应搭载的硬件的配置信息包括但不限于低引脚数总线接口(LPC_IO)映射地址及大小,各PCI_IO映射地址及大小,各PCI_MEM开始地址、映射地址及大小,各中断控制器开始地址及映射地址,各桥片设备空间大小以及超传输总线(HT)控制器开始地址等。
在获得一级交叉开关地址窗口寄存器中存储的目标板卡对应搭载的硬件的配置信息后,板卡中基础软件的检测装置可以判断一级交叉开关地址窗口寄存器中存储的硬件的配置信息是否包含在预设的硬件配置范围内,以实现硬件配置检测。
其中,在预设的硬件配置范围表示系统内核能够访问到的目标板卡对应搭载部件配置信息范围。预设的硬件配置范围在中央处理器的芯片完成设计后就可确定下来,可写入到CPU的设计手册中。通过手动录入或者预先缓存的方式加载既定CPU的设计手册中预设的硬件配置范围,并将预设的硬件配置范围存储到系统内核中。
其中,预设的硬件配置范围可包括但不限于与目标板卡对应搭载部件适配的以下数据:
低引脚数总线接口(LPC_IO)映射地址及大小,各PCI_IO映射地址及大小,各PCI_MEM开始地址、映射地址及大小,各中断控制器开始地址及映射地址,各桥片设备空间大小以及超传输总线(HT)控制器开始地址等。
在又一个示例中,在进行内存配置检测时,板卡中基础软件的检测装置可以对目标板卡的软件的二级交叉开关地址窗口寄存器进行读取,获得二级交叉开关地址窗口寄存器中配置的内存配置信息。
其中,配置的内存配置信息可以包括:配置的内存大小,配置的内存高端地址,为内存所配置的交叉存取(INTERLEAVE)位信息。
其中,在预设的内存配置范围表示系统内核能够访问到的内存配置信息范围。同样地,预设的内存配置范围在中央处理器的芯片完成设计后就可确定下来,可写入到CPU的设计手册中。通过手动录入或者预先缓存的方式加载既定CPU的设计手册中预设的内存配置范围,并将预设的内存配置范围存储到系统内核中。并可存储到内核中。其中,预设的内存配置范围可包括但不限于内核能访问到的内存大小,能访问到的内存高端地址,能访问到的为内存所配置的交叉存取(INTERLEAVE)位信息。
具体地,对二级交叉开关地址窗口寄存器进行读取,读取出累计出的所有配置的内存的大小,并读取配置的高端地址及交叉存取位信息。
在获得二级交叉开关地址窗口寄存器中配置的内存信息以及交叉存取位信息后,板卡中基础软件的检测装置可以通过外部总线读取预设的内存配置范围中真实的内存大小,并与通过二级交叉开关地址窗口寄存器读取的累计所有配置的内存的大小相比对。
此外,板卡中基础软件的检测装置还可以判断二级交叉开关地址窗口寄存器中存储的配置的内存高端地址及为内存所配置的交叉存取位信息是否包含在预设的内存配置范围内,以实现内存配置检测。
本实施例提供的板卡中基础软件的检测方法,通过对地址窗口寄存器进行读取,获取基础软件配置的目标板卡对应搭载部件的配置信息及内存配置信息,通过与预设的硬件配置范围及预设的内存配置范围进行比对,从而可以方便且准确地判断出基础软件配置的硬件配置信息以及内存配置信息是否正确,从而可以有效避免由于地址窗口信息配置不准确导致的无法启动操作系统的问题。
实施例四
图3为本申请实施例提供的另一种板卡中基础软件的检测方法的流程图,如图3所示,本实施例提供的板卡中基础软件的检测方法,在上述任一实施例的基础上,在对目标板卡的软件进行地址空间检测、目标参数检测以及窗口配置信息检测后,方法还包括以下步骤:
步骤301、判断是否包含在预设的配置范围内,若是,则执行步骤302,否则执行步骤303。
步骤302、若确定包含在预设的配置范围内,则确定基础软件符合规范。
本实施例中,首先对目标板卡的基础软件进行地址空间检测,若检测结果为确定地址空间符合目标空间的检测结果,则对目标板卡的基础软件进行目标参数检测。若检测结果为目标参数在规定的参数范围内,则对目标板卡的基础软件进行窗口配置信息检测。若检测结果为地址窗口配置信息包含在预设的配置范围内,则说明地址空间检测,目标参数检测及窗口配置信息检测均符合要求,则确定基础软件符合规范。
步骤303、若确定不符合预设的目标空间,或若确定不包含在规定的参数范围内或若确定不包含在预设的配置范围内,则确定基础软件不符合规范。
步骤304、对用户进行异常提示;异常提示的方式包括以下任意一种或多种:声音提示、灯光提示以及文字提示。
本实施例中,若目标板卡的基础软件的地址空间检测的检测结果、目标参数检测的检测结果以及窗口配置信息检测的检测结果中,至少包含一个检测结果为检测未通过,则表明目标板卡的基础软件的配置数据具有不符合预设的软件规范的内容,则确定目标板卡的软件不合规。
在判断目标板卡的软件是否合规后,若判断结果为目标板卡的软件不合规,则板卡中基础软件的检测装置可以对用户进行异常提示。其中,异常提示的方式可以包括以下任意一种或多种:声音提示、灯光提示以及文字提示。
示例性地,声音提示可以为通过蜂鸣器蜂鸣进行提示,灯光提示可以为通过灯光闪烁进行提示,文字提示可以为通过显示器显示例如“软件设置错误”的文字对用户进行提示。
相应地,若判断结果为目标板卡的软件合规,则板卡中基础软件的检测装置可退出板卡中基础软件的检测流程并启动操作系统。
在一个示例中,图4为本申请实施例提供的操作系统启动方法的流程图,如图4所示,本实施例提供的操作系统启动方法具体包括以下步骤:
步骤401、对计算机进行上电处理,并启动基本输入输出系统。
步骤402、判断基本输入输出系统是否启动成功。
步骤403、若否,则进行基本输入输出系统启动失败的异常提示。
步骤404、若是,则对硬盘中的内核进行识别,并对内核进行启动。
步骤405、判断内核是否在启动过程中。
步骤406、若否,则进行内核启动失败的异常提示。
步骤407、若是,则启动板卡中基础软件合规检测流程;其中,基础软件合规检测包括地址空间检测、目标参数检测以及窗口配置信息检测。
步骤408、判断目标板卡的软件的地址空间检测的检测结果、传递参数检测的检测结果以及窗口配置信息检测的检测结果是否均为检测通过。
步骤409、若是,则退出基础软件合规检测流程并启动操作系统。
步骤410、若否,则进行软件不合规的异常提示。
本实施例提供的软件合规检测方法,分别获取目标板卡的基础软件的地址空间检测的检测结果、传递参数检测的检测结果以及窗口配置信息检测的检测结果,根据检测结果,判断目标板卡的软件是否合规,若判断目标板卡的软件不合规,则对用户进行异常提示。通过上述方式,可以方便快捷地检测开发人员设计板卡的基础软件是否符合预设的软件规范,当开发人员软件设计不合规时可以快速给出异常提示,从而可以有效保障开发人员设计出与相应的操作系统相兼容的基础软件。
实施例五
图5为本申请实施例提供的板卡中基础软件的检测装置的结构示意图,如图5所示,本实施例提供的板卡中基础软件的检测装置包括:初始化模块51、第一检测模块52、第二检测模块53以及第三检测模块54。
其中,初始化模块51,用于目标板卡上电后,对所述基础软件对应的运行环境进行初始化,包括:基于所述目标板卡中的启动固件对预置的系统内核进行识别,并启动所述系统内核。第一检测模块52,用于获取所述目标板卡中所述基础软件对应配置的地址空间,对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间;所述预设的目标空间是所述系统内核能寻址到的地址空间。第二检测模块52,用于若确定符合所述目标空间,则获取所述启动固件传递的传参表并解析,得到所述基础软件中配置的目标参数,判断所述目标参数是否包含在规定的参数范围内;所述参数范围记录于所述启动固件与所述系统内核对应的传参规范中。第三检测模块53,用于若确定包含在所述参数范围内,则读取所述基础软件对应的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;所述配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围。
可选实施方式中,第一检测模块52包括读写单元以及第一判断单元。其中,读写单元,用于获取所述地址空间的起始地址,基于所述起始地址对所述地址空间的每个地址段进行数据读写测试;其中,每个地址段对应的空间大小相同,且为预设值。第一判断单元,用于确定数据读写测试成功的次数,根据所述数据读写测试成功的次数,判断所述地址空间是否符合预设的目标空间。
可选实施方式中,第一判断单元,具体用于判断所述数据读写测试成功的次数与预设的次数是否一致;若一致,则确定所述地址空间符合预设的目标空间;若不一致,则确定所述地址空间不符合预设的目标空间。
可选实施方式中,窗口配置信息检测包括硬件配置检测以及内存配置检测。所述地址窗口配置信息包括:所述目标板卡对应搭载的硬件的配置信息及内存配置信息;预设的配置范围包括:预设的硬件配置范围及预设的内存配置范围。
第三检测模块54包括第二判断单元以及第三判断单元。其中,第二判断单元用于对所述目标板卡的一级交叉开关地址窗口寄存器进行读取,获得所述一级交叉开关地址窗口寄存器中存储的所述硬件的配置信息,判断所述硬件的配置信息是否包含在预设的硬件配置范围内,以实现硬件配置检测。第三判断单元,用于对所述目标板卡的二级交叉开关地址窗口寄存器进行读取,获得所述二级交叉开关地址窗口寄存器中存储的内存配置信息,判断所述内存配置信息是否包含在预设的内存配置范围内,以实现内存配置检测。
可选实施方式中,装置还包括:确定模块以及提示模块。其中,确定模块,用于若确定包含在预设的配置范围内,则确定所述基础软件符合规范;若确定不符合预设的目标空间,或若确定不包含在规定的参数范围内或若确定不包含在预设的配置范围内,则确定所述基础软件不符合规范。提示模块,用于确定所述基础软件不符合规范之后,对用户进行异常提示;所述异常提示的方式包括以下任意一种或多种:声音提示、灯光提示以及文字提示;异常提示的方式包括以下任意一种或多种:声音提示、灯光提示以及文字提示。
需要说明的是,本实施例提供的板卡中基础软件的检测装置执行的技术方案和效果可以参见前述方法实施例的相关内容,在此不再赘述。
实施例六
图6为本申请的电子设备的结构示意图,如图6所示,本申请还提供了一种电子设备600,包括:存储器601和处理器602。
存储器601,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。存储器601可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器602,用于执行存储器601存放的程序。
其中,计算机程序存储在存储器601中,并被配置为由处理器602执行以实现本申请任意一个实施例提供的板卡中基础软件的检测方法。相关说明可以对应参见附图中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
其中,本实施例中,存储器601和处理器602通过总线连接。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent Interconnect,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
实施例七
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请任意一个实施例提供的板卡中基础软件的检测方法。
实施例八
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例提供板卡中基础软件的检测方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程板卡中基础软件的检测装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种板卡中基础软件的检测方法,其特征在于,所述方法包括:
目标板卡上电后,对所述基础软件对应的运行环境进行初始化,包括:基于所述目标板卡中的启动固件对预置的系统内核进行识别,并启动所述系统内核;
获取所述目标板卡中所述基础软件对应配置的地址空间,对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间;所述预设的目标空间是所述系统内核能寻址到的地址空间;
若确定符合所述目标空间,则获取所述启动固件传递的传参表并解析,得到所述基础软件中配置的目标参数,判断所述目标参数是否包含在规定的参数范围内;所述参数范围记录于所述启动固件与所述系统内核对应的传参规范中;
若确定包含在所述参数范围内,则读取所述基础软件对应的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;所述配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围。
2.根据权利要求1所述的方法,其特征在于,所述对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间,包括:
获取所述地址空间的起始地址,基于所述起始地址对所述地址空间的每个地址段进行数据读写测试;其中,每个地址段对应的空间大小相同,且为预设值;
确定数据读写测试成功的次数,根据所述数据读写测试成功的次数,判断所述地址空间是否符合预设的目标空间。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据读写测试成功的次数,判断所述地址空间是否符合预设的目标空间,包括:
判断所述数据读写测试成功的次数与预设的次数是否一致;
若一致,则确定所述地址空间符合预设的目标空间;若不一致,则确定所述地址空间不符合预设的目标空间。
4.根据权利要求1所述的方法,其特征在于,所述窗口配置信息检测包括硬件配置检测以及内存配置检测;所述地址窗口配置信息包括:所述目标板卡对应搭载的硬件的配置信息及内存配置信息;预设的配置范围包括:预设的硬件配置范围及预设的内存配置范围;
所述读取所述基础软件配置的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,包括:
对所述目标板卡的一级交叉开关地址窗口寄存器进行读取,获得所述一级交叉开关地址窗口寄存器中存储的所述硬件的配置信息,判断所述硬件的配置信息是否包含在预设的硬件配置范围内,以实现硬件配置检测;
对所述目标板卡的二级交叉开关地址窗口寄存器进行读取,获得所述二级交叉开关地址窗口寄存器中存储的内存配置信息,判断所述内存配置信息是否包含在预设的内存配置范围内,以实现内存配置检测。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
若确定包含在预设的配置范围内,则确定所述基础软件符合规范;
若确定不符合预设的目标空间,或若确定不包含在规定的参数范围内或若确定不包含在预设的配置范围内,则确定所述基础软件不符合规范。
6.根据权利要求5所述的方法,其特征在于,所述确定所述基础软件不符合规范之后,还包括:
对用户进行异常提示;所述异常提示的方式包括以下任意一种或多种:声音提示、灯光提示以及文字提示。
7.一种板卡中基础软件的检测装置,其特征在于,所述装置包括:
初始化模块,用于目标板卡上电后,对所述基础软件对应的运行环境进行初始化,包括:基于所述目标板卡中的启动固件对预置的系统内核进行识别,并启动所述系统内核;
第一检测模块,用于获取所述目标板卡中所述基础软件对应配置的地址空间,对所述地址空间进行数据读写测试,根据返回的测试结果判断所述地址空间是否符合预设的目标空间;所述预设的目标空间是所述系统内核能寻址到的地址空间;
第二检测模块,用于若确定符合所述目标空间,则获取所述启动固件传递的传参表并解析,得到所述基础软件中配置的目标参数,判断所述目标参数是否包含在规定的参数范围内;所述参数范围记录于所述启动固件与所述系统内核对应的传参规范中;
第三检测模块,用于若确定包含在所述参数范围内,则读取所述基础软件对应的地址窗口配置信息,判断所述地址窗口配置信息是否包含在预设的配置范围内,以实现窗口配置信息检测;所述配置范围表示所述系统内核与所述目标板卡对应搭载部件的参数范围。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211070184.XA CN115408287A (zh) | 2022-09-02 | 2022-09-02 | 板卡中基础软件的检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211070184.XA CN115408287A (zh) | 2022-09-02 | 2022-09-02 | 板卡中基础软件的检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115408287A true CN115408287A (zh) | 2022-11-29 |
Family
ID=84163088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211070184.XA Pending CN115408287A (zh) | 2022-09-02 | 2022-09-02 | 板卡中基础软件的检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408287A (zh) |
-
2022
- 2022-09-02 CN CN202211070184.XA patent/CN115408287A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719644B2 (en) | Method and system for diagnosing apparatus | |
CN114153779A (zh) | 一种i2c通信方法、系统、设备、及存储介质 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN115756984A (zh) | 内存测试方法、装置、设备及存储介质 | |
KR100825786B1 (ko) | 메모리 카드 및 메모리 카드의 디버깅 방법 | |
JP2000132430A (ja) | 信号処理装置 | |
CN113377586A (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
US8024362B2 (en) | System and method for erasing and writing desktop management interface data under a linux system | |
CN115408287A (zh) | 板卡中基础软件的检测方法、装置、设备及存储介质 | |
US7047444B2 (en) | Address selection for testing of a microprocessor | |
CN114610557B (zh) | 设备驱动单元的测试方法及装置 | |
CN115840618A (zh) | 一种hypervisor中虚拟机模拟设备寄存器的访问方法及装置 | |
CN112463633B (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 | |
US8122205B2 (en) | Structured virtual registers for embedded controller devices | |
US20130124925A1 (en) | Method and apparatus for checking a main memory of a processor | |
CN111596199B (zh) | 一种测试芯片、集成电路测试方法及系统和检测设备 | |
CN115129384A (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
US20010052114A1 (en) | Data processing apparatus | |
EP3557422A1 (en) | Method for accessing code sram, and electronic device | |
KR20210080398A (ko) | 메모리 내장 자체 테스트 컨트롤러를 이용한 판독 전용 메모리 테스트 | |
CN113867805B (zh) | 一种兼容基于固件的可信根的度量链构建方法、系统 | |
US5797032A (en) | Bus for connecting extension cards to a data processing system and test method | |
US20060242351A1 (en) | Method and apparatus for loading instructions into high memory | |
CN117236277B (zh) | 用于检查寄存器的方法及装置、电子设备 | |
US6742073B1 (en) | Bus controller technique to control N buses |
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 |