Method, device and equipment for detecting basic software in a board card and storage medium
By detecting the address space, target parameters, and window configuration information of the basic software during the computer boot process, the problem of compatibility detection between the basic software and the operating system is solved, ensuring the normal startup of the operating system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- LOONGSON ZHONGKE (XIAN) TECH CO LTD
- Filing Date
- 2022-09-02
- Publication Date
- 2026-05-01
Smart Images

Figure CN115408287B_ABST
Abstract
Description
Methods, devices, equipment, and storage media for testing basic software in circuit boards Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, device, and storage medium for detecting basic software in a circuit board. Background Technology
[0002] With the development of computer technology, computer hardware and operating systems have become increasingly diverse. After a computer is configured, a power-on test is usually required. This test, performed during the Basic Input / Output System (BIOS) startup process, checks the power-on self-test (POST) of hardware devices such as the CPU, memory, hard drive, and USB flash drive to ensure they are functioning correctly. If at least one hardware device is detected as malfunctioning, the operating system cannot boot properly.
[0003] However, even if all hardware devices are detected as functioning correctly, there may still be issues with the operating system failing to boot. This is because there is a strong coupling between the CPU chip and the operating system kernel, but the basic input / output system (PIS) on boards designed using that CPU chip has considerable freedom in its development, allowing the same operating system kernel to be adapted to different CPU chips on various boards. However, this freedom in basic software development can lead to incompatibility between the basic software's configuration data and the operating system, resulting in the operating system failing to boot.
[0004] Therefore, how to further test the compatibility between the configuration data of the basic software and the operating system based on the power-on test is an urgent problem to be solved. Summary of the Invention
[0005] This application provides a method, apparatus, device, and storage medium for detecting basic software in a circuit board, which is used to further detect whether the configuration data of the basic software is compatible with the operating system based on power-on detection.
[0006] In a first aspect, embodiments of this application provide a method for detecting basic software in a circuit board, the method comprising:
[0007] After the target board is powered on, the runtime environment corresponding to the basic software is initialized, including: identifying the preset system kernel based on the boot firmware in the target board, and starting the system kernel;
[0008] Obtain the address space corresponding to the basic software configuration in the target board, perform data read and write tests on the address space, and determine whether the address space conforms to the preset target space based on the returned test results; the preset target space is the address space that the system kernel can address.
[0009] If the target space is determined to be met, the parameter table passed by the boot firmware is obtained and parsed to obtain the target parameters configured in the basic software, and it is determined whether the target parameters are included in the specified parameter range; the parameter range is recorded in the parameter specification corresponding to the boot firmware and the system kernel.
[0010] If it is determined that the address window configuration information is included within the parameter range, the address window configuration information corresponding to the basic software is read, and it is determined whether the address window configuration information is included within the preset configuration range, so as to realize window configuration information detection; the configuration range represents the parameter range of the system kernel and the corresponding mounted components of the target board.
[0011] Optionally, in the method described above, the step of performing data read / write tests on the address space and determining whether the address space conforms to a preset target space based on the returned test results includes:
[0012] Obtain the starting address of the address space, and perform data read / write tests on each address segment of the address space based on the starting address; wherein, the space size corresponding to each address segment is the same and is a preset value;
[0013] The number of successful data read / write tests is determined, and based on the number of successful data read / write tests, it is determined whether the address space conforms to the preset target space.
[0014] Optionally, in the method described above, determining whether the address space conforms to the preset target space based on the number of successful data read / write tests includes:
[0015] Determine whether the number of successful data read / write tests matches the preset number;
[0016] If they match, the address space is determined to conform to the preset target space; if they do not match, the address space is determined to not conform to the preset target space.
[0017] Optionally, in the method described above, the window configuration information detection includes hardware configuration detection and memory configuration detection; the address window configuration information includes: the configuration information of the hardware and memory configuration information corresponding to the target board; the preset configuration range includes: a preset hardware configuration range and a preset memory configuration range;
[0018] The step of reading the address window configuration information of the basic software configuration and determining whether the address window configuration information is included in the preset configuration range includes:
[0019] The first-level crossbar switch address window register of the target board is read to obtain the hardware configuration information stored in the first-level crossbar switch address window register, and it is determined whether the hardware configuration information is included in the preset hardware configuration range to realize hardware configuration detection.
[0020] The secondary crossbar switch address window register of the target board is read to obtain the memory configuration information stored in the secondary crossbar switch address window register, and it is determined whether the memory configuration information is included in the preset memory configuration range to realize memory configuration detection.
[0021] Optionally, the method described above further includes:
[0022] If it is determined that the basic software is included within the preset configuration range, then it is determined that the basic software conforms to the specifications;
[0023] If it is determined that the basic software does not conform to the preset target space, or if it is determined that it is not included in the specified parameter range, or if it is determined that it is not included in the preset configuration range, then the basic software is determined to be non-compliant with the specifications.
[0024] Optionally, in the method described above, after determining that the basic software does not conform to the specification, the method further includes:
[0025] Provide users with abnormal prompts; the abnormal prompts may be provided in one or more of the following ways: sound prompts, light prompts, and text prompts.
[0026] Secondly, embodiments of this application provide a detection device for basic software in a circuit board, comprising:
[0027] An initialization module is used to initialize the runtime environment corresponding to the basic software after the target board is powered on, including: identifying the preset system kernel based on the boot firmware in the target board and starting the system kernel;
[0028] The first detection module is used to obtain the address space corresponding to the basic software configuration in the target board, perform data read and write tests on the address space, and determine whether the address space conforms to the preset target space based on the returned test results; the preset target space is the address space that the system kernel can address.
[0029] The second detection module is used to obtain and parse the parameter table passed by the boot firmware if it is determined that the target space is met, to obtain the target parameters configured in the basic software, and to determine whether the target parameters are included in the specified parameter range; the parameter range is recorded in the parameter specification corresponding to the boot firmware and the system kernel.
[0030] The third detection module is used to read the address window configuration information corresponding to the basic software if it is determined that the information is included in the parameter range, and to determine whether the address window configuration information is included in the preset configuration range, so as to realize window configuration information detection; the configuration range represents the parameter range of the system kernel and the corresponding component of the target board.
[0031] Thirdly, embodiments of this application provide a processor and a memory communicatively connected to the processor;
[0032] The memory stores computer-executed instructions;
[0033] The processor executes computer execution instructions stored in the memory to implement the method as described in the first aspect.
[0034] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in the first aspect.
[0035] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect.
[0036] This application provides a method, apparatus, device, and storage medium for detecting basic software in a circuit board. After the target circuit board is powered on, the operating environment corresponding to the basic software is initialized. Data read / write tests are performed on the address space configured for the basic software on the target circuit board. Based on the results of the data read / write tests, it is determined whether the address space conforms to a preset target space, thus achieving address space detection. After the address space detection conforms to the specification, the parameter table transmitted by the boot firmware is obtained and parsed to obtain the target parameters configured in the basic software. It is determined whether the target parameters are included in the preset parameter transmission specification corresponding to the boot firmware and system kernel, thus achieving target parameter detection. After the target parameter detection conforms to the specification, the address window configuration information configured in the basic software is read, and it is determined whether the address window configuration information is included in the preset configuration range, thus achieving window configuration information detection. In other words, by performing address space detection, parameter transmission detection, and window configuration information detection on the basic software of the target circuit board during the boot process, this application can accurately determine whether the basic software is compatible with the operating system. This allows developers to promptly modify the data configured in the basic software, effectively avoiding problems caused by incompatibility between the basic software configuration data and the operating system, which could prevent the operating system from booting. Attached Figure Description
[0037] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0038] Figure 1 is a flowchart of a method for detecting basic software in a board according to an embodiment of this application;
[0039] Figure 2 is a flowchart of another method for detecting basic software in a board according to an embodiment of this application;
[0040] Figure 3 is a flowchart of another method for detecting basic software in a board according to an embodiment of this application;
[0041] Figure 4 is a flowchart of the operating system startup method provided in an embodiment of this application;
[0042] Figure 5 is a schematic diagram of the structure of the detection device for the basic software in the board provided in the embodiment of this application;
[0043] Figure 6 is a schematic diagram of the structure of the electronic device provided in an embodiment of this application.
[0044] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concepts of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0045] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application.
[0046] To enable the same operating system kernel to be compatible with different CPU chips on the same circuit board, developers have considerable freedom in developing the basic software of the Basic Input / Output System (BIOS) mounted on the CPU chip's circuit board. This means they have a high degree of freedom in configuring the data during the basic software development process. However, as the bridge and hub connecting the computer's lower-level hardware and the upper-level operating system, the configuration data of the basic software directly affects whether the kernel can boot normally, and consequently, whether the operating system can boot normally. Only when the basic software configuration data conforms to the specifications of the CPU chip design can the kernel boot normally, thus achieving compatibility with the corresponding operating system and enabling the operating system to boot normally.
[0047] Currently, computer boot testing only performs a power-on self-test on the hardware during the Basic Input / Output System (BIOS) startup process. It doesn't check the compliance of the underlying software, leading to situations where the operating system fails to boot even if the hardware tests normal. Therefore, there's a problem of incompatibility between the configuration data of the underlying software and the operating system.
[0048] The detection method, apparatus, equipment, and storage medium for the basic software in the board provided in this application are intended to solve the above-mentioned technical problems in the prior art.
[0049] The following describes the application scenarios of the detection method for the basic software in the board provided in this application. The computer includes: a board, a Basic Input / Output System (BIOS), and an operating system. The board includes: a central processing unit chip, memory chips, etc. The BIOS includes basic software. The BIOS is loaded into the memory chip. The operating system includes a kernel and a file system. The operating system is stored on a hard disk, which is connected to the board through a corresponding disk interface.
[0050] The method for detecting basic software in a board provided in this application is applied to a computer startup scenario. Specifically, the computer is first powered on, and the BIOS (also known as boot firmware) is started. If the BIOS starts successfully, it identifies the kernel on the hard drive through the disk interface and starts the kernel. During the kernel startup process, the method for detecting basic software in a board provided in this application is used to check whether the configuration data in the basic software conforms to specifications. The configuration data may include: the address space of the central processing unit, the target parameters passed by the boot firmware to the kernel, and the address window configuration information. If it is determined that all conform to specifications, it means that the configuration data of the basic software can guarantee the successful kernel startup and that the configuration data of the basic software is compatible with the operating system. After the kernel starts successfully, the operating system is started. If it is determined that at least one piece of configuration data does not conform to specifications, an error message indicating non-compliance is displayed.
[0051] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0052] Example 1
[0053] Figure 1 is a flowchart of a method for detecting basic software in a circuit board according to an embodiment of this application. As shown in Figure 1, the execution entity of the method for detecting basic software in a circuit board provided in this embodiment can be a device for detecting basic software in a circuit board. In practical applications, this device for detecting basic software in a circuit board can be implemented by a computer program, or by a medium storing relevant computer programs, such as a USB flash drive and / or optical disc; or, it can be implemented by a physical device that integrates or installs relevant computer programs, such as a chip.
[0054] The detection of basic software in the board provided in this embodiment includes address space detection, target parameter detection, and window configuration information detection. The detection method of basic software in the board provided in this embodiment includes the following steps:
[0055] Step 101: After the target board is powered on, the runtime environment corresponding to the basic software is initialized, including: identifying the pre-installed system kernel based on the boot firmware in the target board and starting the system kernel.
[0056] Among them, the basic software refers to the software in the basic output system that runs after the basic output system is started.
[0057] In this embodiment, when initializing the runtime environment corresponding to the basic software, the computer is first powered on. After power-on, the boot firmware on the target board is started, and it is determined whether the boot firmware has started successfully. If the boot firmware has started successfully, the kernel of the operating system on the hard drive is identified through the disk interface and the kernel is started. After the kernel starts, the runtime environment of the basic software is satisfied, thus completing the initialization of the runtime environment corresponding to the basic software.
[0058] Step 102: Obtain the address space corresponding to the basic software configuration in the target board, perform data read and write tests on the address space, and determine whether the address space conforms to the preset target space based on the returned test results; the preset target space is the address space that the system kernel can address.
[0059] The address space configured for the basic software can include the address space of the Central Processing Unit (CPU). Specifically, the address space configured in the basic software can include the start and end addresses of the address space. Alternatively, it can include the start address, the size of each address segment, and the number of address segments.
[0060] The preset target space is the address space of the CPU adapted to the central processing unit (CPU) chip on the target board. After the CPU chip design is completed, the preset target space is determined and can be written into the chip's design manual. For example, the start and end addresses of the CPU address space can be specified in the chip's design manual. Alternatively, the start address of the CPU address space, the size of each address segment, and the number of address segments can be specified.
[0061] The preset target space is also the address space that the system kernel can address. Specifically, it can be the address space of the central processing unit that the system kernel can address. Specifically, during kernel startup, the CPU is initialized. During CPU initialization, CPU addressing occurs, so the preset target space is also the CPU address space that the system kernel can address on the central processing unit chip.
[0062] Optionally, in this embodiment, a preset target space can be obtained from the CPU design manual. The preset target space in the CPU design manual can be loaded by manual input or pre-caching, and the address range corresponding to the target space can be stored in the system kernel. The preset target space can then be obtained from the system kernel.
[0063] Optionally, during kernel startup, based on the start and end addresses of the address space configured in the underlying software, preset data is written into and read from the configured address space to perform data read / write tests. The returned test result can indicate whether the written and read preset data are consistent.
[0064] If the test result shows that the written and read preset data are consistent, it means that when writing and reading preset data according to the configured address space, the configured address space matches the preset target space. Therefore, the system kernel can successfully complete addressing and write / read data based on the configured address space. If the test result shows that the preset data was not successfully written or read, it means that when writing and reading preset data according to the configured address space, the configured address space does not match the preset target space. Therefore, the system kernel cannot successfully complete addressing based on the configured address space and cannot successfully write data. Furthermore, when addressing according to the configured address space, it cannot successfully complete addressing and thus cannot successfully read the preset data.
[0065] Optionally, during kernel startup, when performing data read / write tests on the address space based on the starting address, the size of each address segment, and the number of address segments configured in the underlying software, different data can be set for each address segment. Preset data is written to the corresponding configured address segment and read from the corresponding address segment to perform the data read / write test. The returned test result can be the number of successful data read / write tests, i.e., the number of times the written and read preset data match.
[0066] If the number of successful data read / write tests matches the preset number, it means that when writing and reading preset data according to the configured address space, the configured address space conforms to the preset target space. Therefore, the system kernel can successfully complete addressing and writing / reading data based on the configured address space. If the test result shows that the number of successful data read / write tests does not match the preset number, it means that when writing and reading preset data according to the configured address space, the configured address space does not conform to the preset target space. For example, the preset target space is smaller than the configured address space, or the preset target space does not match the starting address of the configured address space. Therefore, the system kernel cannot successfully complete addressing and writing / reading preset data every time based on the configured address space.
[0067] Step 103: If it is determined that the target space is met, the parameter table passed by the boot firmware is obtained and parsed to obtain the target parameters configured in the basic software. It is then determined whether the target parameters are included in the specified parameter range. The parameter range is recorded in the parameter specification corresponding to the boot firmware and the system kernel.
[0068] If the target address space is found to be compatible, then the address space configured for the basic software meets the hardware requirements of the CPU during chip design. In other words, the address space of the CPU configured for the basic software conforms to the address space of the CPU adapted to the central processing unit chip on the target board. This allows for target parameter detection and window configuration information detection. If the target address space is found to be incompatible, then the address space configured for the basic software does not meet the hardware requirements of the CPU during chip design. In this case, target parameter detection and window configuration information detection are unnecessary, and an error message can be displayed directly.
[0069] In this embodiment, the target parameters that the boot firmware passes to the kernel are configured in the basic software. These target parameters form a parameter table that the boot firmware passes to the kernel, referred to as the boot firmware parameter table.
[0070] The target parameters that the boot firmware configured in the basic software passes to the kernel may include, but are not limited to, the system low-end start address, the dedicated video memory address, the integrated graphics address, the system high-end start address and size, the peripheral component interconnect interface memory (PCI_MEM), the start address and size of the peripheral component interconnect interface input / output (PCI_IO), and the display driver parameter (VBIOS) address.
[0071] In this embodiment, after the central processing unit (CPU) chip design is completed, the parameter passing specifications corresponding to the boot firmware and system kernel are determined and can be written into the chip's design manual. The parameter passing specifications define the target parameter range. In this embodiment, the parameter passing specifications corresponding to the boot firmware and system kernel can be stored in the kernel's structure.
[0072] Specifically, in this embodiment, after configuring the target parameters that the boot firmware passes to the kernel in the basic software, the corresponding parameter table passed by the boot firmware can be stored in register a2 in the form of a structure, and a structure pointer is set. After the kernel starts, the detection device of the basic software on the board performs target parameter detection. Specifically, the storage location of the structure is determined from register a2 through the structure pointer, and the parameter table passed by the boot firmware in the structure is read from register a2 based on the storage location of the structure. The parameter transmission specification corresponding to the boot firmware and the system kernel stored in the structure is obtained from the kernel. The read parameter table passed by the boot firmware is parsed to obtain the target parameters, and the target parameters are compared with the parameter range specified in the parameter transmission specification corresponding to the boot firmware and the system kernel to determine whether the target parameters are included in the specified parameter range, thereby realizing the transmission parameter detection.
[0073] The parameter range specified in the parameter passing specification corresponding to the boot firmware and system kernel can be a unique value or a range of values; this embodiment does not limit this. For example, if the system high-end start address specified in the parameter passing specification corresponding to the boot firmware and system kernel is 0x9000_0000, the basic software detection device can determine whether the system high-end start address configured in the basic software is 0x9000_0000. If the PCI_IO address specified in the parameter passing specification corresponding to the boot firmware and system kernel is between 0x1000_0000 and 0x2000_0000, the basic software detection device on the board can determine whether the start address of the PCI_IO configured in the basic software is within the range of 0x1000_0000 to 0x2000_0000.
[0074] Step 104: If it is determined that the parameter range is included, the address window configuration information corresponding to the basic software is read, and it is determined whether the address window configuration information is included in the preset configuration range, so as to realize the window configuration information detection; the configuration range represents the parameter range of the system kernel and the corresponding mounted components of the target board.
[0075] In this embodiment, if the target parameter is determined to be within the specified parameter range, it indicates that the target parameter passed from the boot firmware configured in the basic software to the kernel conforms to the parameter passing specification corresponding to the boot firmware and the system kernel. By configuring target parameters that conform to the parameter passing specification in the basic software, the kernel and the central processing unit chip are compatible in terms of target parameters. Then, window configuration information detection can continue.
[0076] Understandably, if the target parameter is determined to be outside the specified parameter range, it indicates that the target parameter passed from the boot firmware of the basic software configuration to the kernel does not conform to the parameter passing specifications corresponding to the boot firmware and the system kernel. The target parameter of the basic software configuration is incompatible with the kernel, and consequently, the target data of the basic software configuration is incompatible with the operating system. In this case, an exception message can be displayed directly.
[0077] In this embodiment, when performing window configuration information detection, the detection device for the basic software in the board can read the address window configuration information of the basic software configuration and determine whether the address window configuration information of the target board's software configuration is included in the preset configuration range.
[0078] The preset configuration range can be determined after the central processing unit (CPU) chip design is completed and can be written into the CPU design manual. It can also be stored in the kernel. It represents the parameter range of the system kernel and the corresponding components mounted on the target board.
[0079] The address window configuration information may include the configuration information of the hardware and memory configuration information of the target board. The memory configuration information may include the configured memory size, the configured high-end memory address, and the interleaved access bit information configured for memory. The configuration information of the hardware on the target board may include the start address, mapped address, and occupied range of key controllers and devices connected to the processor.
[0080] In one example, the detection device for the basic software on the board can read the address window configuration information of the target board's basic software configuration through the address window register and compare it with a preset configuration range. If the address window configuration information of the basic software configuration is determined to be within the preset configuration range, it indicates that the address window configuration information of the basic software configuration is compatible with the configuration information of the corresponding component on the target board. Therefore, after the kernel boots, when initializing the corresponding component on the target board, the kernel can successfully access the hardware and memory of the corresponding component on the target board based on the address window configuration information of the basic software configuration, thus successfully initializing the corresponding component on the target board, allowing it to operate normally.
[0081] Understandably, if the address window configuration information of the basic software is determined to be outside the preset configuration range, it indicates that the address window configuration information of the basic software is incompatible with the configuration information of the corresponding component on the target board. Therefore, after the kernel boots, when initializing the corresponding component on the target board, the kernel cannot successfully access the corresponding component and memory based on the address window configuration information of the basic software, thus failing to successfully initialize the corresponding component on the target board, and the component on the target board cannot function properly. An error message can then be displayed directly.
[0082] The method for detecting basic software in a board provided in this embodiment initializes the runtime environment corresponding to the basic software after the target board is powered on. This includes: identifying the preset system kernel based on the boot firmware in the target board and starting the system kernel; obtaining the address space configured for the basic software in the target board, performing data read / write tests on the address space, and determining whether the address space conforms to the preset target space based on the returned test results; the preset target space is the address space that the system kernel can address; if it is determined to conform to the target space, the parameter table passed by the boot firmware is obtained and parsed to obtain the target parameters configured in the basic software, and it is determined whether the target parameters are included in the specified parameter range; the parameter range is recorded in the parameter specification corresponding to the boot firmware and the system kernel. If it is determined that the configuration is within the parameter range, the address window configuration information corresponding to the basic software is read, and it is determined whether the address window configuration information is within the preset configuration range to realize window configuration information detection. The configuration range represents the parameter range of the system kernel and the corresponding component mounted on the target board. In this embodiment, after initializing the operating environment corresponding to the basic software, address space detection, target parameter detection, and window configuration information detection are performed on the basic software of the target board. This allows for accurate determination of whether the configuration data of the basic software is compatible with the operating system, enabling developers to make timely changes to the basic software configuration and effectively avoiding the problem of the operating system failing to start due to incompatibility between the configuration data of the basic software and the operating system.
[0083] Example 2
[0084] Figure 2 is a flowchart of another method for detecting basic software in a board according to an embodiment of this application. As shown in Figure 2, the method for detecting basic software in a board provided in this embodiment, based on the above embodiment one, specifically includes the following steps in step 102:
[0085] Step 201: Obtain the starting address of the address space, and perform data read and write tests on each address segment of the address space based on the starting address; wherein, the space size corresponding to each address segment is the same and is a preset value.
[0086] Step 202: Determine the number of successful data read / write tests. Based on the number of successful data read / write tests, determine whether the address space meets the preset target space.
[0087] The address space of the central processing unit (CPU) in the basic software configuration can be the internal multi-bit physical address of each node of the CPU. Correspondingly, the preset target space can be the internal multi-bit physical address of each node of the CPU as specified in the CPU design manual. In one example, the multi-bit physical address can be 0x98000000000000000~0x98001000000000000, a total of 64 bits of physical address.
[0088] In this embodiment, when performing data read / write tests, the data read / write tests can be performed starting from the starting address of the central processing unit configured in the software. Specifically, the detection device of the basic software in the board can obtain the starting address of the address space of the central processing unit configured in the basic software. In one example, the starting address can be the first address of the internal address space of the central processing unit, that is, 0x98000000000000000.
[0089] After obtaining the starting address of the CPU's address space in the basic software configuration, the detection device for the basic software on the board can perform data read and write tests based on each address segment of the CPU's address space in the basic software configuration, starting from the starting address. Each address segment corresponds to the same space size, which is a preset value.
[0090] In one example, the space size corresponding to each address segment can be 16M. Accordingly, the first address segment can be 0x9800000000000000 to 0x9800000000004000. Then, the starting address of the next address segment is 0x9800000000004000, and the ending address is the starting address plus 0x4000. And so on, the positions of all address segments can be obtained.
[0091] For example, the central processing chip is Loongson 3A3000. The preset target address space is 0x9800000000000000~0x9800001000000000. The starting address is 0x98000000000000000, and the ending address is 0x9800001000000000. During data read / write tests, a flag variable is pre-configured to determine the number of successful data read / write tests. The initial value of this flag variable is 0. Therefore, during data read / write tests, read / write tests are performed according to the address space configured in the underlying software. For example, the address space configured in the underlying software is also 0x9800000000000000~0x9800001000000000. During the first data read / write test, the first address segment of the address space configured by the basic software is obtained, which is 0x9800000000000000~0x9800000000004000. The preset value 0 is written into the starting address 0x98000000000000000. Then, the stored value is read from the starting address 0x98000000000000000. It is determined whether the read value is 0. If it is 0, the flag variable is incremented by 1, indicating that the number of successful data read / write tests has been accumulated to 1, and that the first address segment in the address space configured by the basic software matches the first address segment in the preset target space.
[0092] A second data read / write test is performed. The second address segment of the address space configured in the basic software is obtained. The preset value 0 is written to the starting address 0x9800000000004000 of the second address segment. Then, the stored value is read from the starting address 0x9800000000004000. It is checked whether the read value is 0. If it is 0, the flag variable is incremented by 1, indicating that the cumulative number of successful data read / write tests is 2. This also shows that the second address segment in the address space configured in the basic software matches the second address segment in the preset target space. This process is repeated for each address segment in the address space configured in the basic software. After performing the data read / write test, the value of the flag variable is obtained, and this value represents the number of successful data read / write tests. In the above example, since the preset target space is consistent with the address space configured in the basic software, the address space configured in the basic software conforms to the preset address space. Since there are 4096 address ranges from 0x9800000000000000 to 0x9800000000004000, the value of the flag variable is 4096.
[0093] For example, if the address space configured for the basic software is also 0x9800000000000000~0x9800000000004000, then according to the address space configured for the basic software, only one data read / write test will be performed, and the number of successful data read / write tests will also be only 1, so the value of the flag variable will be 1. However, the preset target space has 4096 address segments, indicating that the address space configured for the basic software is much smaller than the preset target space, thus confirming that the address space configured for the basic software does not conform to the preset address space.
[0094] For example, when performing data read / write tests on each address segment of the CPU's address space in the basic software configuration, preset data is written into each configured address segment, and preset data is read from each address segment to perform the data read / write test. The returned test result can be the number of successful data read / write tests, that is, the number of times the preset data written and read matches. After performing data read / write tests on each address segment of the CPU's address space in the target board's basic software configuration, the detection device of the basic software in the board can determine the number of successful data read / write tests, and based on the number of successful data read / write tests, determine whether the CPU's address space in the basic software configuration conforms to the preset target space.
[0095] During data read / write tests, the preset data written to each address segment can be different.
[0096] Based on the above embodiment 2, in an optional implementation, step 202, determining whether the address space conforms to the preset target space based on the number of successful data read / write tests, includes: determining whether the number of successful data read / write tests is consistent with the preset number; if consistent, then determining that the address space conforms to the preset target space; if inconsistent, then determining that the address space does not conform to the preset target space.
[0097] In this embodiment, the detection device for the basic software on the board can determine whether the number of successful data read / write tests matches a preset number. In one possible case, if the number of successful data read / write tests matches the preset number, the detection device for the basic software on the board can determine that the address space of the central processing unit configured in the basic software conforms to the preset target space.
[0098] Since each address segment requires a data read / write test, if the address space configured for the underlying software matches the preset target space, then each address segment should successfully complete the data read / write test. Therefore, the preset number of tests can be the number of address segments in the preset target space.
[0099] In one possible scenario, if the number of successful data read / write tests is inconsistent with the preset number, it indicates that the address space of the central processing unit configured in the basic software is greater than or less than the preset target space. In this case, the detection device of the basic software in the board can determine that the address space of the central processing unit configured in the basic software does not conform to the preset target space.
[0100] For example, if the preset target space is 256M, and the space size corresponding to each address segment is 16M, then the preset number of reads can be 256 / 16, or 16 times. Correspondingly, if the detection device of the basic software in the board performs data read / write tests on each address segment of the CPU's address space configured in the target board's basic software, and determines that the number of successful read / write operations is 16, then it can be determined that the CPU's address space configured in the basic software conforms to the preset target space, which is 256M. If the detection device of the basic software in the board determines that the number of successful read / write operations is 15, it indicates that the CPU's address space configured in the basic software is 15×16, or 240M, and it can be determined that the CPU's address space set by the software does not conform to the preset target space.
[0101] The method for detecting basic software in a board provided in this embodiment obtains the starting address of the address space, and performs data read / write tests on each address segment of the address space based on the starting address. Each address segment corresponds to the same space size, which is a preset value. The number of successful data read / write tests is determined, and based on the number of successful tests, it is judged whether the address space conforms to the preset target space. Through this method, it is possible to quickly and accurately determine whether the address space of the central processing unit configured for the basic software is correct, thereby effectively avoiding the problem of operating system failure due to inaccurate central processing unit address space settings.
[0102] Example 3
[0103] Based on the above embodiment one, in an optional implementation, the window configuration information detection includes hardware configuration detection and memory configuration detection. The address window configuration information includes: the configuration information of the hardware and memory configuration information corresponding to the target board; the preset configuration range includes: a preset hardware configuration range and a preset memory configuration range.
[0104] Accordingly, step 104 specifically includes:
[0105] The first-level crossbar switch address window register of the target board is read to obtain the hardware configuration information stored in the first-level crossbar switch address window register, and it is determined whether the hardware configuration information is included in the preset hardware configuration range to realize hardware configuration detection; the second-level crossbar switch address window register of the target board is read to obtain the memory configuration information stored in the second-level crossbar switch address window register, and it is determined whether the memory configuration information is included in the preset memory configuration range to realize memory configuration detection.
[0106] In this embodiment, window configuration information detection may include hardware configuration detection and memory configuration detection. Specifically, in one example, during hardware configuration detection, the detection device for the basic software in the board can read the first-level crossbar switch address window register of the target board to obtain the hardware configuration information stored in the first-level crossbar switch address window register.
[0107] In this process, a two-stage crossbar switch can be used in the central processing unit chip to implement routing on the board. The first-stage crossbar switch is used to configure the routing of requests received from each connection domain to the root port (Master port). Each Master port can have 8 address windows, and each address window includes three 64-bit registers, which store the configuration information of the hardware corresponding to the target board.
[0108] The configuration information of the hardware corresponding to the target board includes, but is not limited to, the mapping address and size of the low pin count bus interface (LPC_IO), the mapping address and size of each PCI_IO, the start address, mapping address and size of each PCI_MEM, the start address and mapping address of each interrupt controller, the space size of each bridge chip device, and the start address of the HyperTransport Bus (HT) controller.
[0109] After obtaining the configuration information of the hardware corresponding to the target board stored in the first-level crossbar switch address window register, the detection device of the basic software in the board can determine whether the hardware configuration information stored in the first-level crossbar switch address window register is included in the preset hardware configuration range, so as to realize hardware configuration detection.
[0110] The preset hardware configuration range represents the range of component configuration information for the target board that the system kernel can access. This preset hardware configuration range is determined after the central processing unit (CPU) chip design is completed and can be written into the CPU's design manual. The preset hardware configuration range from the CPU's design manual is loaded either manually or pre-cached and then stored in the system kernel.
[0111] The preset hardware configuration range may include, but is not limited to, the following data that are compatible with the components mounted on the target board:
[0112] The mapping addresses and sizes of Low Pin Count Bus Interface (LPC_IO), the mapping addresses and sizes of each PCI_IO, the start address, mapping address and size of each PCI_MEM, the start address and mapping address of each interrupt controller, the space size of each bridge chip device, and the start address of the HyperTransport Bus (HT) controller, etc.
[0113] In another example, during memory configuration detection, the detection device for the basic software on the board can read the secondary crossbar switch address window register of the target board's software to obtain the memory configuration information configured in the secondary crossbar switch address window register.
[0114] The configured memory configuration information may include: the configured memory size, the configured high memory address, and the INTERLEAVE bit information configured for the memory.
[0115] The preset memory configuration range represents the range of memory configuration information that the system kernel can access. Similarly, the preset memory configuration range is determined after the central processing unit (CPU) chip design is completed and can be written into the CPU design manual. The preset memory configuration range from the CPU design manual is loaded manually or pre-cached and stored in the system kernel. This preset memory configuration range may include, but is not limited to, the amount of memory the kernel can access, the high-end memory addresses it can access, and the interleaved access bits configured for memory.
[0116] Specifically, the secondary crossbar switch address window register is read to obtain the total size of all configured memory, and the high-end address and crossbar access bit information of the configuration are also read.
[0117] After obtaining the memory information and cross access bit information configured in the secondary cross switch address window register, the detection device of the basic software in the board can read the actual memory size in the preset memory configuration range through the external bus and compare it with the total memory size of all configured memory read through the secondary cross switch address window register.
[0118] In addition, the detection device for the basic software in the board can also determine whether the configured high memory address and the cross access bit information configured for memory stored in the secondary cross switch address window register are included in the preset memory configuration range, so as to realize memory configuration detection.
[0119] The method for detecting basic software in a board provided in this embodiment reads the address window register to obtain the configuration information and memory configuration information of the components corresponding to the target board in the basic software configuration. By comparing it with the preset hardware configuration range and the preset memory configuration range, it is possible to conveniently and accurately determine whether the hardware configuration information and memory configuration information of the basic software configuration are correct. This can effectively avoid the problem of operating system failure due to inaccurate address window information configuration.
[0120] Example 4
[0121] Figure 3 is a flowchart of another method for detecting basic software in a board according to an embodiment of this application. As shown in Figure 3, the method for detecting basic software in a board provided in this embodiment, based on any of the above embodiments, after performing address space detection, target parameter detection, and window configuration information detection on the software of the target board, further includes the following steps:
[0122] Step 301: Determine whether it is included in the preset configuration range. If yes, proceed to step 302; otherwise, proceed to step 303.
[0123] Step 302: If it is determined that the software is included within the preset configuration range, then the basic software is deemed to conform to the specifications.
[0124] In this embodiment, the basic software of the target board is first subjected to address space detection. If the detection result indicates that the address space conforms to the target space, then the basic software of the target board is subjected to target parameter detection. If the detection result indicates that the target parameters are within the specified parameter range, then the basic software of the target board is subjected to window configuration information detection. If the detection result indicates that the address window configuration information is included within the preset configuration range, then the address space detection, target parameter detection, and window configuration information detection all meet the requirements, and the basic software is determined to conform to the specification.
[0125] Step 303: If it is determined that the target space does not meet the preset criteria, or if it is determined that it is not included in the specified parameter range, or if it is determined that it is not included in the preset configuration range, then the basic software is determined to be non-compliant with the specifications.
[0126] Step 304: Provide an error message to the user; the error message may be provided in one or more of the following ways: sound prompt, light prompt, and text prompt.
[0127] In this embodiment, if at least one of the detection results of address space detection, target parameter detection, and window configuration information detection of the target board's basic software is "detection failed", it indicates that the configuration data of the target board's basic software has content that does not conform to the preset software specifications, and the software of the target board is determined to be non-compliant.
[0128] After determining whether the target board's software is compliant, if the determination result is that the target board's software is non-compliant, the detection device for the basic software in the board can provide an error message to the user. The error message can be provided in one or more of the following ways: sound prompts, light prompts, and text prompts.
[0129] For example, an audio prompt can be made by a buzzer, an optical prompt can be made by a flashing light, and a text prompt can be made by displaying text such as "software settings error" on a monitor.
[0130] Accordingly, if the judgment result indicates that the target board's software is compliant, the detection device for the basic software in the board can exit the detection process for the basic software in the board and start the operating system.
[0131] In one example, Figure 4 is a flowchart of an operating system startup method provided in an embodiment of this application. As shown in Figure 4, the operating system startup method provided in this embodiment specifically includes the following steps:
[0132] Step 401: Power on the computer and start the basic input / output system.
[0133] Step 402: Determine whether the basic input / output system has started successfully.
[0134] Step 403: If not, display an error message indicating that the basic input / output system failed to start.
[0135] Step 404: If yes, then identify the kernel on the hard drive and start the kernel.
[0136] Step 405: Determine if the kernel is in the boot process.
[0137] Step 406: If not, display an exception message indicating that the kernel startup failed.
[0138] Step 407: If yes, then start the basic software compliance detection process in the board; the basic software compliance detection includes address space detection, target parameter detection and window configuration information detection.
[0139] Step 408: Determine whether the detection results of the target board's software address space detection, parameter transmission detection, and window configuration information detection are all passed.
[0140] Step 409: If yes, exit the basic software compliance testing process and start the operating system.
[0141] Step 410: If not, issue a software non-compliance error message.
[0142] The software compliance detection method provided in this embodiment obtains the detection results of address space detection, parameter transmission detection, and window configuration information detection of the target board's basic software. Based on the detection results, it determines whether the target board's software is compliant. If the target board's software is determined to be non-compliant, an error message is sent to the user. This method allows for convenient and quick detection of whether the basic software designed by developers conforms to preset software specifications. When the developer's software design is non-compliant, an error message can be quickly provided, effectively ensuring that developers design basic software compatible with the corresponding operating system.
[0143] Example 5
[0144] Figure 5 is a schematic diagram of the structure of the detection device for basic software in the board provided in this embodiment. As shown in Figure 5, the detection device for basic software in the board provided in this embodiment includes: an initialization module 51, a first detection module 52, a second detection module 53, and a third detection module 54.
[0145] The initialization module 51 is used to initialize the runtime environment corresponding to the basic software after the target board is powered on, including: identifying the preset system kernel based on the boot firmware in the target board and starting the system kernel. The first detection module 52 is used to obtain the address space configured for the basic software in the target board, perform data read / write tests on the address space, and determine whether the address space conforms to the preset target space based on the returned test results; the preset target space is the address space that the system kernel can address. The second detection module 53 is used to, if determined to conform to the target space, obtain and parse the parameter table transmitted by the boot firmware to obtain the target parameters configured in the basic software, and determine whether the target parameters are included within a specified parameter range; the parameter range is recorded in the parameter transmission specification corresponding to the boot firmware and the system kernel. The third detection module 54 is used to, if determined to be included within the parameter range, read the address window configuration information corresponding to the basic software and determine whether the address window configuration information is included within a preset configuration range, thereby realizing window configuration information detection; the configuration range represents the parameter range of the system kernel and the corresponding mounted components of the target board.
[0146] In an optional implementation, the first detection module 52 includes a read / write unit and a first judgment unit. The read / write unit is used to obtain the starting address of the address space and perform data read / write tests on each address segment of the address space based on the starting address; wherein the space size corresponding to each address segment is the same and is a preset value. The first judgment unit is used to determine the number of successful data read / write tests and, based on the number of successful data read / write tests, determine whether the address space conforms to a preset target space.
[0147] In an optional implementation, the first judgment unit is specifically used to determine whether the number of successful data read / write tests is consistent with a preset number; if they are consistent, the address space is determined to conform to the preset target space; if they are inconsistent, the address space is determined to not conform to the preset target space.
[0148] In an optional implementation, the window configuration information detection includes hardware configuration detection and memory configuration detection. The address window configuration information includes: the configuration information of the hardware and memory configuration information corresponding to the target board; the preset configuration range includes: a preset hardware configuration range and a preset memory configuration range.
[0149] The third detection module 54 includes a second judgment unit and a third judgment unit. The second judgment unit reads the first-level crossbar switch address window register of the target board to obtain the hardware configuration information stored in the register, and determines whether the hardware configuration information is included within a preset hardware configuration range, thereby achieving hardware configuration detection. The third judgment unit reads the second-level crossbar switch address window register of the target board to obtain the memory configuration information stored in the register, and determines whether the memory configuration information is included within a preset memory configuration range, thereby achieving memory configuration detection.
[0150] In an optional embodiment, the device further includes a determining module and a prompting module. The determining module is configured to determine that the basic software conforms to the specification if it is determined to be within a preset configuration range; and to determine that the basic software does not conform to the specification if it is determined to be outside a preset target space, or outside a specified parameter range, or outside a preset configuration range. The prompting module is configured to provide an error prompt to the user after determining that the basic software does not conform to the specification; the error prompting method includes any one or more of the following: sound prompt, light prompt, and text prompt.
[0151] It should be noted that the technical solution and effects of the detection device for the basic software in the board provided in this embodiment can be found in the relevant content of the foregoing method embodiments, and will not be repeated here.
[0152] Example 6
[0153] Figure 6 is a schematic diagram of the structure of the electronic device of this application. As shown in Figure 6, this application also provides an electronic device 600, including: a memory 601 and a processor 602.
[0154] Memory 601 is used to store programs. Specifically, the program may include program code, which includes computer-executable instructions. Memory 601 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk drive.
[0155] Processor 602 is used to execute programs stored in memory 601.
[0156] The computer program is stored in memory 601 and configured to be executed by processor 602 to implement the detection method of the basic software in the board provided in any embodiment of this application. Related descriptions can be understood by referring to the relevant descriptions and effects corresponding to the steps in the accompanying drawings, and will not be elaborated upon here.
[0157] In this embodiment, the memory 601 and the processor 602 are connected via a bus. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is used in Figure 6, but this does not imply that there is only one bus or one type of bus.
[0158] Example 7
[0159] This application also provides a computer-readable storage medium storing a computer program thereon, which is executed by a processor to implement the detection method for basic software in a board provided in any embodiment of this application.
[0160] Example 8
[0161] This application also provides a computer program product, including a computer program, which, when executed by a processor, implements the detection method for basic software in a board provided in any embodiment of this application.
[0162] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0163] The modules described as separate components may or may not be physically separate. Similarly, the components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0164] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated module can be implemented in hardware or in a combination of hardware and software functional modules.
[0165] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to the processor or controller of a detection device for the underlying software in a general-purpose computer, special-purpose computer, or other programmable board, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on the machine, partially on the machine, as a standalone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0166] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0167] Furthermore, although the operations are described in a specific order, this should be understood as requiring that such operations be performed in the specific order shown or in sequential order, or requiring that all illustrated operations be performed to achieve the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this application. Certain features described in the context of individual embodiments may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented individually or in any suitable sub-combination in multiple implementations.
[0168] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0169] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for detecting basic software in a circuit board, characterized in that, The method includes: after the target board is powered on, initializing the operating environment corresponding to the basic software, including: identifying the preset system kernel based on the boot firmware in the target board and starting the system kernel; obtaining the address space configured corresponding to the basic software in the target board, performing data read / write tests on the address space, and determining whether the address space conforms to the preset target space based on the returned test results; the preset target space is the address space that the system kernel can address; if it is determined to conform to the target space, obtaining and parsing the parameter table transmitted by the boot firmware to obtain the target parameters configured in the basic software, and determining whether the target parameters are included in the specified parameter range; the parameter range is recorded in the parameter specification corresponding to the boot firmware and the system kernel; if it is determined to be included in the parameter range, reading the address window configuration information corresponding to the basic software, and determining whether the address window configuration information is included in the preset configuration range to realize window configuration information detection; the configuration range represents the parameter range of the system kernel and the corresponding mounted components of the target board.
2. The method according to claim 1, characterized in that, The step of performing data read / write tests on the address space and determining whether the address space conforms to the preset target space based on the returned test results includes: obtaining the starting address of the address space; performing data read / write tests on each address segment of the address space based on the starting address; wherein the space size corresponding to each address segment is the same and is a preset value; determining the number of successful data read / write tests; and determining whether the address space conforms to the preset target space based on the number of successful data read / write tests.
3. The method according to claim 2, characterized in that, The step of determining whether the address space conforms to the preset target space based on the number of successful data read / write tests includes: determining whether the number of successful data read / write tests is consistent with the preset number; if consistent, then determining that the address space conforms to the preset target space; if inconsistent, then determining that the address space does not conform to the preset target space.
4. The method according to claim 1, characterized in that, The window configuration information detection includes hardware configuration detection and memory configuration detection; The address window configuration information includes: configuration information of the hardware and memory configuration information corresponding to the target board; the preset configuration range includes: a preset hardware configuration range and a preset memory configuration range; the step of reading the address window configuration information of the basic software configuration and determining whether the address window configuration information is included in the preset configuration range includes: reading the first-level crossbar switch address window register of the target board to obtain the hardware configuration information stored in the first-level crossbar switch address window register, and determining whether the hardware configuration information is included in the preset hardware configuration range to achieve hardware configuration detection; reading the second-level crossbar switch address window register of the target board to obtain the memory configuration information stored in the second-level crossbar switch address window register, and determining whether the memory configuration information is included in the preset memory configuration range to achieve memory configuration detection.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: if it is determined that the basic software is included in a preset configuration range, then the basic software is determined to be compliant with the specification; if it is determined that the basic software is not included in a preset target space, or if it is determined that the basic software is not included in a specified parameter range, or if it is determined that the basic software is not included in a preset configuration range, then the basic software is determined to be compliant with the specification.
6. The method according to claim 5, characterized in that, After determining that the basic software does not conform to the specifications, the method further includes: providing an error message to the user; the error message can be provided in any one or more of the following ways: sound prompt, light prompt, and text prompt.
7. A detection device for basic software in a circuit board, characterized in that, The device includes: an initialization module, used to initialize the runtime environment corresponding to the basic software after the target board is powered on, including: identifying a preset system kernel based on the boot firmware in the target board and starting the system kernel; a first detection module, used to obtain the address space configured corresponding to the basic software in the target board, perform data read / write tests on the address space, and determine whether the address space conforms to a preset target space based on the returned test results; the preset target space is the address space that the system kernel can address; a second detection module, used to obtain and parse the parameter table transmitted by the boot firmware if it is determined to conform to the target space, obtain the target parameters configured in the basic software, and determine whether the target parameters are included in a specified parameter range; the parameter range is recorded in the parameter specification corresponding to the boot firmware and the system kernel; a third detection module, used to read the address window configuration information corresponding to the basic software if it is determined to be included in the parameter range, and determine whether the address window configuration information is included in a preset configuration range, so as to realize window configuration information detection; the configuration range represents the parameter range of the system kernel and the corresponding mounted components of the target board.
8. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-6.
Citation Information
Patent Citations
Method and device for remote management of BIOS (basic input / output system) configuration based on UEFI (unified extensible firmware interface
CN102541606A
Software configuration parameter testing method and device and automobile
CN112181799A