CN117608538A - BIOS code development method and device, electronic equipment and storage medium - Google Patents

BIOS code development method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN117608538A
CN117608538A CN202311434779.3A CN202311434779A CN117608538A CN 117608538 A CN117608538 A CN 117608538A CN 202311434779 A CN202311434779 A CN 202311434779A CN 117608538 A CN117608538 A CN 117608538A
Authority
CN
China
Prior art keywords
code
package
architecture
kernel
development
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
Application number
CN202311434779.3A
Other languages
Chinese (zh)
Inventor
杨黎明
孙秀强
王晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311434779.3A priority Critical patent/CN117608538A/en
Publication of CN117608538A publication Critical patent/CN117608538A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application provides a BIOS code development method, a device, electronic equipment and a storage medium. The method comprises the following steps: developing a kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package; when the kernel code architecture is developed according to a preset first code architecture, the chip design code is developed according to the first code architecture to obtain a first chip design code package; when the kernel code architecture is developed according to a preset first code architecture, hardware code development is performed according to the first code architecture, and a first hardware code package is obtained; and generating a first BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet and the first hardware code packet. The synchronous development of the kernel code architecture, the chip design code and the hardware code is realized in a parallel development mode, so that the development period of the BIOS code is shortened, and the development efficiency of the BIOS code is improved.

Description

BIOS code development method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method and apparatus for developing a BIOS code, an electronic device, and a storage medium.
Background
In BIOS code development, under the influence of the standard implementation of the standard open source library file and the related protocol related to UEFI which can be updated regularly by the open source community, the standard open source library file and the related protocol have the influence of version updating, the project code needs to be subjected to operations such as full coverage test, function adjustment and the like, and the project code development efficiency is low.
In order to solve the above problems, the prior art adopts a serial BIOS code development method. Firstly, a CPU component manufacturer issues codes, secondly, a BIOS kernel developer carries out transplanting according to the codes issued by the CPU component manufacturer, and then a hardware manufacturer takes an authorization package from the BIOS kernel developer and carries out transplanting to obtain a BIOS code development result. However, in the serial development method, the downstream manufacturer needs to wait for the code development of the upstream manufacturer to complete, so that the development time period of the BIOS code is long and the development efficiency is low.
Disclosure of Invention
The application provides a BIOS code development method, a device, electronic equipment and a readable storage medium. The problems of long BIOS code development time period and low development efficiency of a serial development mode in the prior art are solved by carrying out parallel development of the first kernel code architecture package, the first chip design code package and the first hardware code package based on the preset first code architecture and obtaining a first BIOS code package development result.
In a first aspect, the present application provides a method for developing BIOS code, the method comprising:
developing a kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package;
when a first kernel code architecture packet is obtained by developing a kernel code architecture according to a preset first code architecture, a first chip design code packet is obtained by developing a chip design code according to the first code architecture, wherein the first kernel code architecture packet and a standard interface function of the first chip design code packet are unified;
when a kernel code architecture is developed according to a preset first code architecture to obtain a first kernel code architecture package, hardware code development is performed according to the first code architecture to obtain a first hardware code package, wherein standard interface functions of the first kernel code architecture package and the first hardware code package are unified;
and generating a first BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet and the first hardware code packet.
Optionally, the method for developing BIOS code provided in the present application further includes:
and developing the first chip design code package according to the first code architecture chip design code, wherein the first chip design code package and the first kernel code architecture package are unified in module function interface version information, release date information and development tool version information.
Optionally, the method for developing BIOS code provided in the present application further includes:
consistency compiling is carried out according to the universal standard functions of the first kernel code architecture package, the first chip design code package and the first hardware code package, and a consistency compiling result is obtained;
constructing a first kernel code architecture package version interface according to a first characteristic development function of the first kernel code architecture package by a preset standard version interface construction rule;
constructing a version interface of the first chip design code package according to a second characteristic development function of the first chip design code package through a standard version interface construction rule;
constructing a first hardware code package version interface according to a third characteristic development function of the first hardware code package through a standard version interface construction rule;
constructing a standard interface function of the first kernel code architecture package according to the consistency compiling result and the first kernel code architecture package version interface;
constructing a standard interface function of the first chip design code package according to the consistency compiling result and the first chip design code package version interface;
and constructing a standard interface function of the first hardware code package according to the consistency compiling result and the first hardware code package version interface.
Optionally, the method for developing BIOS code provided in the present application further includes:
and developing a kernel code architecture according to the standard library, the kernel calling file and the kernel related path to obtain a first kernel code architecture package.
Optionally, the method for developing BIOS code provided in the present application further includes:
and developing the chip design code according to the architecture of the first kernel code architecture package to obtain a second chip design code package, wherein the standard interface functions of the first kernel code architecture package and the second chip design code package are unified.
Optionally, the method for developing BIOS code provided in the present application further includes:
and developing the hardware code according to the architecture of the first kernel code architecture packet to obtain a second hardware code packet, wherein the standard interface functions of the first kernel code architecture packet and the second hardware code packet are unified.
Optionally, the method for developing BIOS code provided in the present application further includes:
performing difference detection on the characteristic function version of the first kernel code architecture package corresponding to the development result of the first BIOS code package and the characteristic function version of the first chip design code package to obtain a version difference detection result;
when the version difference detection result is that the difference between the characteristic function version of the first kernel code architecture package and the characteristic function version of the first chip design code package is larger than a preset value, function modification requirement detection is carried out according to the standard interface function, and a function modification requirement detection result is obtained;
When the function modification requirement detection result is that the function does not need modification, the first chip design code package is reproduced under the framework of the first hardware code package, and a third hardware code package is obtained by calling;
and generating a second BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet and the third hardware code packet.
In a second aspect, the present application further provides a BIOS code development device, including:
the first kernel development module is used for developing kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package;
the first chip design code development module is used for carrying out chip design code development according to the first code architecture to obtain a first chip design code package when carrying out kernel code architecture development according to the preset first code architecture to obtain a first kernel code architecture package, wherein the first kernel code architecture package and the standard interface function of the first chip design code package are unified;
the first hardware code development module is used for carrying out hardware code development according to the first code architecture to obtain a first hardware code package when carrying out kernel code architecture development according to a preset first code architecture to obtain a first kernel code architecture package, wherein the first kernel code architecture package and the standard interface function of the first hardware code package are unified;
The first development result generation module is used for generating a first BIOS code package development result according to the first kernel code architecture package, the first chip design code package and the first hardware code package.
In a third aspect, the present application also provides an electronic device comprising a processor and a memory storing a program or instructions executable on the processor, which when executed by the processor, implement the steps of the BIOS code development method as described in the first aspect.
In a fourth aspect, embodiments of the present application provide a readable storage medium having stored thereon a program or instructions which, when executed by a processor, implement the steps of the BIOS code development method according to the first aspect.
According to the technical scheme, the first kernel code architecture package, the first chip design code package and the first hardware code package are developed in parallel based on the preset first code architecture, and the first BIOS code package development result is obtained. The BIOS code development period is shortened, and the BIOS code development efficiency is improved. And the standard interface functions of the first kernel code architecture package, the first chip design code package and the first hardware code package which are obtained through parallel development are mutually unified, so that the rapid compiling from the first kernel code architecture package, the first chip design code package to the first hardware code package is realized on the premise that the interface change or the compiling rule change is not needed, and the development and compiling efficiency of the BIOS code is further improved.
The foregoing description is merely an overview of the technical solutions provided in the present application, and may be implemented according to the content of the specification in order to make the technical means of the present application more clearly understood, and in order to make the above-mentioned and other objects, features and advantages of the present application more clearly understood, the following detailed description of the present application is given.
Drawings
One or more embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which the figures of the drawings are not to be taken in a limiting sense, unless otherwise indicated.
FIG. 1 is an example of existing BIOS code development provided herein;
FIG. 2 is a schematic diagram of a BIOS code development method according to an embodiment of the present application;
FIG. 3 is a second schematic diagram of a BIOS code development method according to an embodiment of the present application;
FIG. 4 is a third schematic diagram of a development method of BIOS code according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a BIOS code development method according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a BIOS code development method according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a BIOS code development method according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a BIOS code development method according to an embodiment of the present application;
FIG. 9 is a BIOS code development example provided herein;
FIG. 10 is a schematic diagram of a BIOS code development device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The terms first, second and the like in the description and in the claims, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged, as appropriate, such that embodiments of the present application may be implemented in sequences other than those illustrated or described herein, and that the objects identified by "first," "second," etc. are generally of a type and not limited to the number of objects, e.g., the first object may be one or more. Furthermore, in the description and claims, "and/or" means at least one of the connected objects, and the character "/", generally means that the associated object is an "or" relationship.
In currently mainstream basic input output system (Basic Input Output System, BIOS) code development, BIOS code packages often include a kernel code architecture or kernel code architecture package, a chip design production (silocon) code or silocon code package, a project development code or a hardware code package. The kernel architecture of the BIOS is often subjected to code development by a BIOS kernel developer, and refers to a standard component library file of an open source of a universal unified extensible firmware interface (Unified Extensible Firmware Interface, UEFI), for example, characteristic function development is performed on the basis of the open source standard component through the BIOS kernel. The sillcon code package is often developed by a sillcon manufacturer, such as AMD or Intel manufacturer, who designs and produces chips, based on the open source UEFI community, developing a CPU and various interface protocols; and authorizing the corresponding development kit to a BIOS provider, transplanting the sillcon kit into a BIOS kernel development kit by the BIOS provider, packaging and providing the BIOS kernel development kit to a terminal equipment developer, and developing a set of BIOS project development kit suitable for hardware configuration by the terminal equipment developer according to the configuration of the hardware components of the terminal equipment developer and based on the development kit provided by the BIOS developer.
However, under the influence of the regular updating of the standard open source library file related to UEFI and the standard implementation of the related protocol by the open source community, version updating exists in the standard open source library file and the related protocol, the problem that different kernel code architecture packages and the silllicon code packages are asynchronous in version due to different development subjects exists, the project code development is difficult to transplant, the compiling problem is more, local functions are updated by the BIOS kernel or the silllicon package, and adverse effects are brought to the functions developed by the project based on the modules. For example, if the function of the upstream manufacturer is changed greatly, the relevant part of the project code is adjusted accordingly, and the effect is necessarily affected by the previous modification based on the project. At this time, whether codes subjected to related modification by manpower are effective or not is subjected to full coverage test and verification, whether the codes are updated or not is required to be modified along with the modification of a kernel code developer or not, whether related function functions are adjusted or not is required to be modified, and whether project codes are transplanted or not is required to be re-evaluated, so that the project code development efficiency is seriously reduced.
In view of the above problems, as shown in fig. 1, the prior art often adopts a serial manner to develop codes. The method comprises the steps that a sialicon manufacturer provides a version based on a UEFI open source community, develops a sialicon component, then authorizes a corresponding part of codes to a BIOS kernel developer, upgrades a corresponding standard library according to the codes provided by the sialicon, and adapts to a new development library by modifying the realization of a kernel calling function if a library function on which the kernel development depends changes is encountered, or realizes the function in an old library again, so that the original kernel realization function is kept unchanged; the hardware developer performs project code migration again based on the version provided by the BIOS kernel developer, and solves the compiling problem caused by the change of the library on which the function depends, the adaptation problem such as function parameter change, and the like.
However, in the serial development mode of issuing codes from a CPU component manufacturer, transplanting the codes to a BIOS kernel developer, and transplanting and developing the codes by taking an authorization package from the BIOS kernel developer to a hardware manufacturer, a downstream manufacturer needs to wait for the development of an upstream manufacturer code to be completed, so that the development efficiency is low, and the downstream manufacturer needs to perform interface modification or compilation rule adjustment based on the transplanting and compiling of the upstream manufacturer code, so that the problem of transplanting and compiling exists, the whole time of developing the BIOS code is too long, and the use and development of the BIOS code are hindered.
According to the technical scheme, on the basis of UEFI/PI open source standard library and file development, all component ends such as a kernel development end, a chip design development end and a hardware development end are used for realizing synchronization of the standard library, and a stable version standard library and file provided by an open source community are adopted in parallel for development and compilation of a tool kit;
the placement positions of the common standard library files of the component ends are unified, and the calling function interfaces are unified, so that codes developed based on the common standard library can be compiled under the compiling environment of an open-source code frame; meanwhile, the chip designs the development kit of the development terminal or the code development kit of the hardware development terminal, and can realize compiling under the code architecture of the kernel development terminal without changing interfaces or compiling rules, thereby achieving compiling consistency;
In addition, the hardware development terminal is based on a module with a specific function provided by a kernel development terminal or a chip design development terminal, standard interface functions are required to be unified, version information of the specific function of the corresponding component terminal can be obtained through a standard interface, so that the hardware development terminal can judge whether the specific function of an updated version needs to be imported according to the development node at present, and evaluate the influence of modification on the current stage.
According to the technical scheme, the first kernel code architecture package, the first chip design code package and the first hardware code package are developed in parallel based on the preset first code architecture, and the first BIOS code package development result is obtained. The BIOS code development period is shortened, and the BIOS code development efficiency is improved. And the standard interface functions of the first kernel code architecture package, the first chip design code package and the first hardware code package which are obtained through parallel development are mutually unified, so that the rapid compiling from the first kernel code architecture package, the first chip design code package to the first hardware code package is realized on the premise that the interface change or the compiling rule change is not needed, and the development and compiling efficiency of the BIOS code is further improved.
The method, the device, the electronic equipment and the nonvolatile readable storage medium for developing the BIOS code provided by the application are described in detail through specific embodiments and application scenes with reference to the accompanying drawings.
A first embodiment of the present application relates to a BIOS code development method, as shown in fig. 2, including:
step 101, developing a kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package;
102, when a first kernel code architecture is obtained by developing a kernel code architecture according to a preset first code architecture, developing a chip design code according to the first code architecture to obtain a first chip design code package, wherein standard interface functions of the first kernel code architecture package and the first chip design code package are unified;
step 103, when a kernel code architecture is developed according to a preset first code architecture to obtain a first kernel code architecture package, performing hardware code development according to the first code architecture to obtain a first hardware code package, wherein standard interface functions of the first kernel code architecture package and the first hardware code package are unified;
step 104, generating a first BIOS code package development result according to the first kernel code architecture package, the first chip design code package and the first hardware code package.
Specifically, according to the BIOS code development method provided by the application, firstly, a BIOS code package to be developed is divided into three parts, namely a kernel code architecture package, a willicon code package and a hardware code package or a project code development package. The development of the three parts is to perform standard unified parallel development according to a preset first code architecture, such as a standard UEFI community code architecture. For example, when the first kernel code architecture package is generated by developing the kernel code architecture according to the preset first code architecture, the development of the first chip design code package and the development of the first hardware code package are performed simultaneously, and the development of the first chip design code package is also based on the preset first code architecture, such as the standard UEFI community code architecture, and the standard interface functions of the first kernel code architecture package, the first chip design code package and the first hardware code package are the same, so that the general management among the first kernel code architecture package, the first chip design code package and the first hardware code package is realized, and finally the development result of the first BIOS code package is obtained.
For example, the first kernel code architecture package includes standard library files, and the locations of the files in the first chip design code package and the first hardware code package are consistent with the file locations of the first kernel code architecture package. The first chip design code package is developed based on a standard library, for example, the code development is dependent on a standard UEFI community code architecture, and because the first chip design code package is unified with standard library files of the first kernel code architecture package, the first chip design code package can be completely compiled under a compiling environment and a file management directory provided by an open source architecture, and can be completely compiled under a code architecture and a compiling environment corresponding to the first kernel code architecture package, and code transplanting or library file reference change is not needed in the development process. The code base of the kernel development end of the first kernel code architecture package can realize seamless compiling effect after replacing the chip design development end code of the first chip design code package by the arrangement of file paths on the premise of not changing functions or files in the first chip design code package and own standard base files and functions.
Similarly, the first hardware code package is also developed based on a standard library, for example, the code development is dependent on a standard UEFI community code architecture, and because the first hardware code package is unified with a standard library file of the first kernel code architecture package, the first hardware code package uses the standard library file and functions when developing functions suitable for hardware, and uses no non-standard functions or functions directly dependent on the development of a chip design development end or a kernel development end, the first hardware code package can be independently and completely compiled under a compiling environment and a file management directory provided by the development framework, and can realize complete compiling under a kernel package scene provided by the kernel development end by placing related functions, and the seamless compiling effect after the hardware development end code of the first hardware code package is replaced without changing the functions or files in the first hardware code package and the standard library files and functions of the first hardware code package.
According to the technical scheme, the first kernel code architecture package, the first chip design code package and the first hardware code package are developed in parallel based on the preset first code architecture, and the first BIOS code package development result is obtained. The BIOS code development period is shortened, and the BIOS code development efficiency is improved. And the standard interface functions of the first kernel code architecture package, the first chip design code package and the first hardware code package which are obtained through parallel development are mutually unified, so that the rapid compiling from the first kernel code architecture package, the first chip design code package to the first hardware code package is realized on the premise that the interface change or the compiling rule change is not needed, and the development and compiling efficiency of the BIOS code is further improved.
Based on the above embodiment, as shown in fig. 3, in the method for developing BIOS code provided in the present application, step 102 includes:
step 121, developing a first chip design code package according to the first code architecture chip design code, wherein the first chip design code package and the module function interface version information, the release date information and the development tool version information of the first kernel code architecture package are unified.
Specifically, in the BIOS code development method provided in the present application, in order to ensure the effect of parallel development of the function functions of the unified version standard library based on the unified interface for the first chip design code package and the first kernel code architecture package, the standard interface functions of the first chip design code package and the first kernel code architecture package are unified with each other. The content of the function interface includes, but is not limited to, interface information content such as a first chip design code package and a first kernel code architecture package, which are used for obtaining stable version information, release date, development tool version information and the like of the function interface of each module in the UEFI open source community standard library. The development modules respectively corresponding to the first chip design code package and the first kernel code architecture package acquire stable version information according to the unified functional interfaces, and update the functional functions respectively developed, for example, perform interface calling processing or function change processing, so as to obtain the first chip design code package and the first kernel code architecture package which are developed in parallel.
Likewise, in order to ensure that the first hardware code package and the first kernel code architecture package are based on a unified interface, the function functions of the unified version standard library are developed in parallel, and the standard interface functions of the first hardware code package and the first kernel code architecture package are unified with each other. The content of the function interface includes, but is not limited to, interface information content such as stable version information, release date, development tool version information and the like of each module function interface in the UEFI open source community standard library, which are used in the first hardware code package and the first kernel code architecture package. The development modules respectively corresponding to the first hardware code package and the first kernel code architecture package acquire stable version information according to the unified functional interfaces, and update the functional functions respectively developed, for example, perform interface calling processing or function change processing, so as to obtain the first hardware code package and the first kernel code architecture package which are developed in parallel.
On the basis of the above embodiment, as shown in fig. 4, in the BIOS code development method provided in the present application, before step 101, the method further includes:
step 105, performing consistency compiling according to the universal standard functions of the first kernel code architecture package, the first chip design code package and the first hardware code package to obtain a consistency compiling result;
Step 106, constructing a first kernel code architecture package version interface according to a first characteristic development function of the first kernel code architecture package through a preset standard version interface construction rule;
step 107, constructing a version interface of the first chip design code package according to a second characteristic development function of the first chip design code package through a standard version interface construction rule;
step 108, constructing a version interface of the first hardware code packet according to a third characteristic development function of the first hardware code packet through a standard version interface construction rule;
step 109, constructing a standard interface function of the first kernel code architecture package according to the consistency compiling result and the first kernel code architecture package version interface;
step 110, constructing a standard interface function of the first chip design code package according to the consistency compiling result and the version interface of the first chip design code package;
and step 111, constructing a standard interface function of the first hardware code package according to the consistency compiling result and the first hardware code package version interface.
Specifically, in the BIOS code development method provided in the present application, a standard function that is unified with each other may be implemented by a kernel development end corresponding to the first kernel code architecture packet, a chip design development end corresponding to the first chip design code packet, and a hardware development end corresponding to the first hardware code packet, which are not limited to the following manner:
When the kernel development end, the chip design development end and the hardware development end construct interface functions, a unified standard version interface needs to be constructed. On the basis, the kernel development end, the chip design development end and the hardware development end have standard general function module development requirements and characteristic function module development requirements respectively developed according to the characteristics of the kernel development end, the chip design development end and the hardware development end.
For example, for the development requirements of standard general function modules of a kernel development end, a chip design development end and a hardware development end, the technical scheme provided by the application performs consistency compiling according to the general standard functions of a first kernel code architecture package, a first chip design code package and a first hardware code package to obtain consistency compiling results, for example, functional function development is performed based on a public version standard library, and the developed results can be subjected to seamless compiling in code development environments of any one of the kernel development end, the chip design development end and the hardware development end.
The method comprises the steps that a kernel development end builds a version interface based on a unified standard version interface building rule and a characteristic development function of the kernel development end, and a first kernel code architecture package version interface is built based on a unified standard version interface building rule and a first characteristic development function of the kernel development end; the chip design development end builds a first chip design code package version interface based on unified standard version interface building rules and a second characteristic development function of the chip design development end; the hardware development end builds the first hardware code package version interface based on the unified standard version interface building rule and the third characteristic development function of the hardware development end. Then, the kernel development end builds a standard interface function of the first kernel code architecture package according to the consistency compiling result and the first kernel code architecture package version interface; the chip design development terminal builds a standard interface function of the first chip design code package according to the consistency compiling result and the first chip design code package version interface; and the hardware development terminal builds a standard interface function of the first hardware code package according to the consistency compiling result and the first hardware code package version interface.
On the basis of the above embodiment, in the BIOS code development method provided by the present application, the standard interface functions of the developing ends of the first kernel code architecture package, the first chip design code package and the first hardware code package are respectively developed, so that the hardware developing end can make corresponding patches according to the dependent original library version when in call, so that code development, migration and compiling can be rapidly performed when a module is upgraded, and errors are reduced, thereby improving BIOS code development efficiency.
On the basis of the above embodiment, as shown in fig. 5, the first code architecture includes a standard library, a kernel calling file and a kernel related path, and in the BIOS code development method provided in the present application, step 101 includes:
and step 112, developing a kernel code architecture according to the standard library, the kernel calling file and the kernel related path to obtain a first kernel code architecture package.
Specifically, in the method for developing BIOS codes provided in the present application, the first code architecture includes a standard library, a related call file, and a related path, and when developing the first kernel code architecture package, the first chip design code package, and the first hardware code package, code development corresponding to the functional module is performed based on the unified standard library. For example, a kernel development terminal performs kernel code architecture development based on a standard library and a kernel call file and a kernel related path to obtain a first kernel code architecture package; the chip design development terminal develops chip design codes based on a standard library, a chip design calling file and a chip design related path to obtain a first chip design code package; and the hardware development terminal performs hardware code development based on the standard library, the hardware call file and the hardware related path to obtain a first hardware code package.
On the basis of the above embodiment, in the BIOS code development method provided by the present application, the first kernel code architecture package, the first chip design code package, and the first hardware code package standard library are unified with each other, so that coupling between the developed respective functional modules and the standard library, for example, the standard open source community code architecture can be achieved. And the development codes of the first chip design code package and the development codes of the first hardware code package can be imported under the framework of the kernel development end to realize the effect that the code package can be compiled, so that the flexible transplanting of the code package is realized.
On the basis of the above embodiment, as shown in fig. 6, in the BIOS code development method provided in the present application, after step 101, the method further includes:
and 113, developing chip design codes according to the architecture of the first kernel code architecture package to obtain a second chip design code package, wherein standard interface functions of the first kernel code architecture package and the second chip design code package are unified.
Specifically, in the BIOS code development method provided by the application, not only is a form of parallel development of the three types of the BIOS code development method localized, but also the code development can be realized by parallel development of the first kernel code architecture package and the first hardware code package in a mode that the chip design code package is based on the architecture of the first kernel code architecture package. After the parallel development of the first kernel code architecture package and the first hardware code package is completed, the application performs chip design code development according to the developed first kernel code architecture package to obtain a second chip design code package, and generates a new BIOS code development result according to the first kernel code architecture package, the first hardware code package and the second chip design code package.
On the basis of the above embodiment, as shown in fig. 7, in the BIOS code development method provided in the present application, after step 101, the method further includes:
and 114, developing a hardware code according to the architecture of the first kernel code architecture packet to obtain a second hardware code packet, wherein standard interface functions of the first kernel code architecture packet and the second hardware code packet are unified.
Specifically, in the BIOS code development method provided by the application, not only is a form of parallel development of the three types of the BIOS code development method localized, but also the code development can be realized by parallel development of the first kernel code architecture package and the first chip design code package in a mode that the hardware code package is based on the architecture of the first kernel code architecture package. After the parallel development of the first kernel code architecture package and the first chip design code package is completed, the method and the device perform hardware code development according to the developed first kernel code architecture package to obtain a second hardware code package, and generate a new BIOS code development result according to the first kernel code architecture package, the second hardware code package and the first chip design code package.
On the basis of the above embodiment, as shown in fig. 8, in the BIOS code development method provided in the present application, after step 104, the method further includes:
Step 115, performing difference detection on the characteristic function version of the first kernel code architecture package and the characteristic function version of the first chip design code package corresponding to the development result of the first BIOS code package to obtain a version difference detection result;
step 116, when the version difference detection result is that the difference between the characteristic function version of the first kernel code architecture package and the characteristic function version of the first chip design code package is greater than a preset value, performing function modification requirement detection according to the standard interface function to obtain a function modification requirement detection result;
step 117, when the function modification requirement detection result indicates that the function does not need modification, reproducing the first chip design code package under the framework of the first hardware code package, and calling to obtain a third hardware code package;
step 118, generating a second BIOS code package development result according to the first kernel code architecture package, the first chip design code package and the third hardware code package.
Specifically, in the BIOS code development method provided by the present application, after a first BIOS code packet development result is generated, a characteristic function version of the first kernel code architecture packet and a characteristic function version of the first chip design code packet are detected differently, and when the difference between the version difference detection result is that the kernel characteristic function version of the first kernel code architecture packet and the characteristic function version of the first chip design code packet are greater than a preset value, a larger version difference is generated between the kernel characteristic function and the silllicon characteristic function on which hardware development depends. And then, judging whether the function of the Jining function is modified according to the standard interface version corresponding to the standard interface function, and when judging that the function is not required to be modified and the original function is kept, reproducing the codes of the first chip design code package or the codes of the first kernel code architecture package under the current hardware development end module, and calling to obtain a third hardware code package. Finally, the version updating effect of the BIOS code is realized according to the first kernel code architecture package, the first chip design code package and the third hardware code package. And when judging that the function needs to be modified, modifying the function of the hardware code package and updating the version of the BIOS code.
It should be emphasized that when the first kernel code architecture package, the first chip design code package and the first hardware code package are upgraded individually, it is necessary to ensure consistency of common library function versions of the first kernel code architecture package, the first chip design code package and the first hardware code package, or ensure that inconsistent versions can achieve a backward compatible effect by means of version management. At this time, different kernel versions can be compatible with the code package and the project code development package of the sicicon, and when the hardware development terminal only needs to update the BIOS kernel development package or only needs to update the sicicon code development package, an asynchronous update mode can be realized, so that different requirements can be flexibly processed.
On the basis of the embodiment, when the BIOS code package development method aims at the problem that the difference between the kernel version and the willicon version is too large, whether updating is needed or not is judged by reading version information of the corresponding module, and a new hardware code package is quickly generated by calling a function, so that the updating efficiency of the BIOS code version is improved.
On the basis of the above embodiment, as shown in fig. 9, the present application further provides a BIOS code packet development example:
The technical scheme provided by the application comprises the steps of developing BIOS kernel codes, developing the willicon codes and developing the hardware project codes in parallel, and realizing based on unified open source community UEFI/protocol interface (Protocol Interface, PI) standard library files and development kits. The BIOS kernel code architecture comprises a standard library file and codes for developing characteristic functions of the kernel, the silllicon code package comprises component codes and non-UEFI firmware development codes which are developed based on the standard library, the hardware code package comprises functional codes which are developed based on the standard library and codes corresponding to the functional characteristics which are inherited and developed from the BIOS kernel code architecture and the silllicon code package, and the hardware code package can be quickly modified and updated according to the differences of versions corresponding to the BIOS kernel code architecture and the silllicon code package.
Specifically, the kernel development end, the chip design development end and the hardware development end together create a unified standard interface function, and the function interface content includes the stable version information, the release date and the development tool version information of the function interfaces of all modules in the UEFI open source community standard library, and is not limited to the interface information content. After the related information is obtained, the kernel development end, the chip design development end and the hardware development end obtain the latest stable version through a unified functional interface, and update the functional functions developed by the respective modules, such as interface calling, function change and the like. Therefore, the function parallel development of the kernel development end, the chip design development end and the hardware development end based on the unified interface and the unified version standard library is realized.
When the respective function modules are developed, the kernel development end, the chip design development end and the hardware development end are respectively developed based on a standard library, related calling files and related paths, so that the coupling of the respective function modules and a standard development source community code architecture is realized, meanwhile, the codes of the hardware development end can be imported and compiled under the framework of the kernel development end, and the flexible transplanting effect of the code package is achieved.
The hardware development end is arranged on characteristic function modules developed by the kernel development end and the chip design development end, the developed function functions need to be built with the kernel development end and the chip design development end to form a unified version interface, when the characteristic modules of the kernel development end or the chip design development end are upgraded, the hardware development end judges whether updating is needed or not by reading version information of corresponding modules when the codes are upgraded, corresponding function updating actions are executed, the problem that versions are inconsistent when different partial codes are upgraded is solved, and the version updating rate of BIOS codes is improved.
A second embodiment of the present application relates to a BIOS code development device, as shown in fig. 10, including:
The first kernel development module 201 is configured to perform kernel code architecture development according to a preset first code architecture to obtain a first kernel code architecture package;
the first chip design code development module 202 is configured to perform chip design code development according to a first code architecture to obtain a first chip design code package when performing kernel code architecture development according to a preset first code architecture to obtain a first kernel code architecture package, where standard interface functions of the first kernel code architecture package and the first chip design code package are unified;
the first hardware code development module 203 is configured to perform hardware code development according to a first code architecture to obtain a first hardware code package when performing kernel code architecture development according to a preset first code architecture to obtain a first kernel code architecture package, where standard interface functions of the first kernel code architecture package and the first hardware code package are unified;
the first development result generating module 204 is configured to generate a first BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet, and the first hardware code packet.
On the basis of the above embodiment, in the BIOS code development device provided in the present application, the first chip design code development module 202 includes:
The unified version information development unit is used for developing and obtaining a first chip design code package according to the first code architecture chip design code, wherein the first chip design code package and the module function interface version information, the release date information and the development tool version information of the first kernel code architecture package are unified.
On the basis of the above embodiment, the BIOS code development device provided in the present application further includes:
the universal function consistency compiling module is used for carrying out consistency compiling according to the universal standard functions of the first kernel code architecture package, the first chip design code package and the first hardware code package to obtain a consistency compiling result;
the kernel code version interface construction module is used for constructing a first kernel code architecture package version interface according to a first characteristic development function of the first kernel code architecture package through a preset standard version interface construction rule;
the chip design code version interface construction module is used for constructing a first chip design code package version interface according to a second characteristic development function of the first chip design code package through standard version interface construction rules;
the hardware code version interface construction module is used for constructing a first hardware code packet version interface according to a third characteristic development function of the first hardware code packet through standard version interface construction rules;
The kernel code version standard interface function construction module is used for constructing a standard interface function of the first kernel code architecture package according to the consistency compiling result and the first kernel code architecture package version interface;
the chip design code version standard interface function construction module is used for constructing a standard interface function of the first chip design code package according to the consistency compiling result and the first chip design code package version interface;
and the hardware code version standard interface function construction module is used for constructing a standard interface function of the first hardware code package according to the consistency compiling result and the first hardware code package version interface.
In the BIOS code development device provided in the present application, the first kernel development module 201 includes:
and the standard architecture development unit is used for developing the kernel code architecture according to the standard library, the kernel calling file and the kernel related path to obtain a first kernel code architecture package.
On the basis of the above embodiment, the BIOS code development device provided in the present application further includes:
the second chip design code development module is used for developing the chip design code according to the architecture of the first kernel code architecture package to obtain a second chip design code package, wherein the standard interface functions of the first kernel code architecture package and the second chip design code package are unified.
On the basis of the above embodiment, the BIOS code development device provided in the present application further includes:
and the second hardware code development module is used for carrying out hardware code development according to the architecture of the first kernel code architecture packet to obtain a second hardware code packet, wherein the standard interface functions of the first kernel code architecture packet and the second hardware code packet are unified.
On the basis of the above embodiment, the BIOS code development device provided in the present application further includes:
the version difference detection module is used for carrying out difference detection on the characteristic function version of the first kernel code architecture package corresponding to the development result of the first BIOS code package and the characteristic function version of the first chip design code package to obtain a version difference detection result;
the function modification requirement detection module is used for detecting the function modification requirement according to the standard interface function when the version difference detection result is that the difference between the characteristic function version of the first kernel code architecture package and the characteristic function version of the first chip design code package is larger than a preset value, so as to obtain a function modification requirement detection result;
the third hardware code development module is used for reproducing the first chip design code package under the framework of the first hardware code package to call and obtain a third hardware code package when the function modification requirement detection result indicates that the function does not need modification;
And the second development result generation module is used for generating a second BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet and the third hardware code packet.
A third embodiment of the present application relates to an electronic device, as shown in fig. 11, including:
at least one processor 301; the method comprises the steps of,
a memory 302 communicatively coupled to the at least one processor 301; wherein,
the memory 302 stores instructions executable by the at least one processor 301 to enable the at least one processor 301 to implement the BIOS code development method described in the first embodiment of the present application.
Where the memory and the processor are connected by a bus, the bus may comprise any number of interconnected buses and bridges, the buses connecting the various circuits of the one or more processors and the memory together. The bus may also connect various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver may be one element or may be a plurality of elements, such as a plurality of receivers and transmitters, providing a means for communicating with various other apparatus over a transmission medium. The data processed by the processor is transmitted over the wireless medium via the antenna, which further receives the data and transmits the data to the processor.
The processor is responsible for managing the bus and general processing and may also provide various functions including timing, peripheral interfaces, voltage regulation, power management, and other control functions. And memory may be used to store data used by the processor in performing operations.
A fourth embodiment of the present application relates to a non-transitory computer readable storage medium storing a computer program. The computer program, when executed by a processor, implements the BIOS code development method described in the first embodiment of the present application.
That is, it will be understood by those skilled in the art that all or part of the steps in implementing the methods of the embodiments described above may be implemented by a program stored in a storage medium, where the program includes several instructions for causing a device (which may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps in the methods of the embodiments described herein. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. This application is intended to cover any variations, uses, or adaptations of the application following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It is to be understood that the present application is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (10)

1. A method for developing BIOS code packages, the method comprising:
developing a kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package;
when a first kernel code architecture packet is obtained by developing a kernel code architecture according to a preset first code architecture, performing chip design code development according to the first code architecture to obtain a first chip design code packet, wherein the first kernel code architecture packet and a standard interface function of the first chip design code packet are unified;
When a kernel code architecture is developed according to a preset first code architecture to obtain a first kernel code architecture package, performing hardware code development according to the first code architecture to obtain a first hardware code package, wherein standard interface functions of the first kernel code architecture package and the first hardware code package are unified;
and generating a first BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet and the first hardware code packet.
2. The method of claim 1, wherein the developing the chip design code according to the first code architecture to obtain a first chip design code package comprises:
and developing the first chip design code package according to the first code architecture chip design code, wherein the first chip design code package and the module function interface version information, the release date information and the development tool version information of the first kernel code architecture package are unified.
3. The method of claim 2, wherein before the developing the chip design code according to the first code architecture to obtain the first chip design code package, further comprising:
Performing consistency compiling according to the first kernel code architecture package, the first chip design code package and the universal standard function of the first hardware code package to obtain a consistency compiling result;
constructing a first kernel code architecture package version interface according to a first characteristic development function of the first kernel code architecture package through a preset standard version interface construction rule;
constructing a first chip design code package version interface according to a second characteristic development function of the first chip design code package through the standard version interface construction rule;
constructing a first hardware code package version interface according to a third characteristic development function of the first hardware code package through the standard version interface construction rule;
constructing a standard interface function of the first kernel code architecture package according to the consistency compiling result and the first kernel code architecture package version interface;
constructing a standard interface function of the first chip design code package according to the consistency compiling result and the first chip design code package version interface;
and constructing a standard interface function of the first hardware code package according to the consistency compiling result and the first hardware code package version interface.
4. The method of claim 1, wherein the first code architecture includes a standard library, a kernel call file, and a kernel-related path, and the developing the kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package includes:
and developing a kernel code architecture according to the standard library, the kernel calling file and the kernel related path to obtain the first kernel code architecture package.
5. The method of claim 1, wherein after the developing the kernel code architecture according to the preset first code architecture to obtain the first kernel code architecture package, further comprising:
and developing chip design codes according to the architecture of the first kernel code architecture package to obtain a second chip design code package, wherein standard interface functions of the first kernel code architecture package and the second chip design code package are unified.
6. The method of claim 1, wherein after the developing the kernel code architecture according to the preset first code architecture to obtain the first kernel code architecture package, further comprising:
And developing hardware codes according to the architecture of the first kernel code architecture packet to obtain a second hardware code packet, wherein standard interface functions of the first kernel code architecture packet and the second hardware code packet are unified.
7. The method of claim 1, wherein after generating a first BIOS code packet development result from the first kernel code architecture packet, the first chip design code packet, and the first hardware code packet, further comprising:
performing difference detection on the characteristic function version of the first kernel code architecture package corresponding to the development result of the first BIOS code package and the characteristic function version of the first chip design code package to obtain a version difference detection result;
when the version difference detection result is that the difference between the characteristic function version of the first kernel code architecture package and the characteristic function version of the first chip design code package is larger than a preset value, function modification requirement detection is carried out according to the standard interface function, and a function modification requirement detection result is obtained;
when the function modification requirement detection result is that the function does not need modification, the first chip design code package is reproduced under the framework of the first hardware code package, and a third hardware code package is obtained by calling;
And generating a second BIOS code package development result according to the first kernel code architecture package, the first chip design code package and the third hardware code package.
8. A BIOS code development device, comprising:
the first kernel development module is used for developing kernel code architecture according to a preset first code architecture to obtain a first kernel code architecture package;
the first chip design code development module is used for carrying out chip design code development according to a first code architecture when carrying out kernel code architecture development according to a preset first code architecture to obtain a first kernel code architecture package, so as to obtain a first chip design code package, wherein the first kernel code architecture package and a standard interface function of the first chip design code package are unified;
the first hardware code development module is used for carrying out hardware code development according to a first code architecture to obtain a first hardware code package when carrying out kernel code architecture development according to a preset first code architecture to obtain a first kernel code architecture package, wherein the first kernel code architecture package and a standard interface function of the first hardware code package are unified;
And the first development result generation module is used for generating a first BIOS code packet development result according to the first kernel code architecture packet, the first chip design code packet and the first hardware code packet.
9. An electronic device comprising a processor and a memory storing a program or instructions executable on the processor, which when executed by the processor, implement the steps of the BIOS code development method of any one of claims 1-7.
10. A readable storage medium storing a computer program, wherein the computer program when executed by a processor implements the BIOS code development method of any one of claims 1-7.
CN202311434779.3A 2023-10-31 2023-10-31 BIOS code development method and device, electronic equipment and storage medium Pending CN117608538A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311434779.3A CN117608538A (en) 2023-10-31 2023-10-31 BIOS code development method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311434779.3A CN117608538A (en) 2023-10-31 2023-10-31 BIOS code development method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117608538A true CN117608538A (en) 2024-02-27

Family

ID=89958676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311434779.3A Pending CN117608538A (en) 2023-10-31 2023-10-31 BIOS code development method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117608538A (en)

Similar Documents

Publication Publication Date Title
CN111428462B (en) Communication protocol template construction method and terminal equipment
CN107205055A (en) Terminal staging method and device
CN112270149B (en) Verification platform automatic integration method and system, electronic equipment and storage medium
CN104932973A (en) Version compatibility test method and apparatus
CN111859834B (en) UVM-based verification platform development method, system, terminal and storage medium
US8347278B2 (en) Instrumenting a compiled software routine for augmentation
CN111611441B (en) Heterogeneous data processing method and device and computer equipment
CN111399828A (en) Model-driven logic device modeling method and terminal
CN109977008A (en) A kind of method and terminal that the JS code that application program relies on is compatible with primary library
CN117608538A (en) BIOS code development method and device, electronic equipment and storage medium
CN111427582A (en) Management method, device and equipment of RT L code and computer readable storage medium
CN108536429B (en) Method and device for developing software, storage medium and electronic equipment
CN116090252A (en) Matlab-based method, device, equipment and medium for automatically generating input interface model
CN109756570A (en) A kind of method and electronic equipment for realizing customization pypi mirror image server
TWI762842B (en) Integrated circuitry development system, integrated circuitry development method, and integrated circuitry
CN111008018A (en) CAN signal unpacking processing method and system
WO2022015773A1 (en) Synchronization of source code under development in multiple concurrent instances of an integrated development environment
CN114253828A (en) Method and device for determining test template, computing equipment and storage medium
CN110597536A (en) Software upgrading method, system and terminal equipment
CN109508290A (en) A kind of automated testing method and electronic equipment based on educational system
CN114443068B (en) Automatic deployment method, system and device for customized domestic operation system PXE
CN113467803B (en) Application program repairing method, related device and equipment
US7065734B2 (en) Method of generating multiple hardware description language configurations for a phase locked loop from a single generic model for integrated circuit design
CN111865930B (en) Method for automatically extracting character protocols of uninterruptible power supply
CN114531335B (en) Method, equipment and device for detecting management information base data

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