CN113703920A - Hardware simulation method and platform - Google Patents

Hardware simulation method and platform Download PDF

Info

Publication number
CN113703920A
CN113703920A CN202111000101.5A CN202111000101A CN113703920A CN 113703920 A CN113703920 A CN 113703920A CN 202111000101 A CN202111000101 A CN 202111000101A CN 113703920 A CN113703920 A CN 113703920A
Authority
CN
China
Prior art keywords
hardware
firmware
file system
ramdisk
image
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.)
Granted
Application number
CN202111000101.5A
Other languages
Chinese (zh)
Other versions
CN113703920B (en
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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202111000101.5A priority Critical patent/CN113703920B/en
Publication of CN113703920A publication Critical patent/CN113703920A/en
Application granted granted Critical
Publication of CN113703920B publication Critical patent/CN113703920B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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

Abstract

The invention discloses a hardware simulation method and a hardware simulation platform, wherein the method comprises the following steps: manufacturing encapsulation adaptive firmware of hardware to be simulated, wherein the encapsulation adaptive firmware comprises a head script, middle data and tail version information; loading the RAMDISK file system mirror image and the encapsulation adaptation firmware, executing the head script, and judging whether the encapsulation adaptation firmware is injected into the mirror image of the RAMDISK file system or not according to the tail version information; for the RAMDISK file system mirror image which is injected with the encapsulation adaptation firmware, decompressing and transferring middle data in the encapsulation adaptation firmware into the mirror image of the RAMDISK file system, and updating the RAMDISK file system mirror image of the hardware to be simulated; and migrating the updated middle data in the RAMDISK file system image of the hardware to be simulated to the root file system, running the user program in the environment of the root file system, and starting the user program of the hardware to be simulated to obtain a simulation result. The simulation method has strong compatibility and can highly simulate the use scene of a physical hardware platform.

Description

Hardware simulation method and platform
Technical Field
The invention belongs to the field of computer hardware simulation, and particularly relates to a hardware simulation method and a hardware simulation platform.
Background
Due to reasons of cost, manufacture, maintenance and the like, resources of a hardware platform are often lacked in the product software development and test process, and in order to improve the delivery efficiency and software quality of a product, the hardware platform is often required to be subjected to full-system virtualization simulation. The hardware simulation platform of the whole system can provide a large amount of simulation hardware resources based on limited server resources, and meets the requirements of development and test verification of user software before the hardware platform completes production and manufacturing or when the resources are insufficient. The QEMU is a popular open source hardware virtualization technology at present, and has the advantages of cross-platform, high speed, portability and the like, and the QEMU is used as a Virtual Machine Monitor (VMM) on a host machine, simulates a CPU processor through dynamic binary conversion, and provides a series of hardware models. In addition, QEMU may also implement hardware virtualization acceleration in combination with Kernel-based Virtual Machine (KVM) technology, so that the performance of the emulated platform processor approaches the actual physical device.
Although QEMU technology has powerful hardware simulation capability, a complete hardware system often has a large variety of hardware modules, and if QEMU is adopted to realize hardware simulation of the whole system, the required manpower input and time cost are huge. The hardware simulated based on the QEMU open source technology has the direct interaction object of the kernel, so that the simulated hardware is obtained by performing abstract modeling on the logic of the actual hardware, and the logic behavior of the simulated hardware is completely consistent with that of the actual hardware for kernel codes. The hardware platform of the whole system usually covers a large number of physical devices, except for core units such as a processor and a peripheral controller, the periphery of the hardware platform usually also has some hardware modules with special functions, and the QEMU simulation of all hardware in the system is realized, so that the modeling difficulty is large, the workload is large, and the quick iteration of the hardware platform is difficult to adapt.
For the complete operation and test of the user program, if the QEMU cannot realize the simulation of all hardware in the system, the binary code of the user program cannot be directly operated on a hardware simulation platform due to the incomplete hardware simulation. In this case, there are generally two common processing methods:
one is to modify and generate a user program suitable for the operation of a simulation platform based on source codes, but the applicability is poor, the code maintenance workload of application software developers is increased, and the purpose of verifying the software operation effect of physical equipment based on a simulation environment is difficult to achieve.
And the other method is to generate an adaptation file only with a difference part based on source codes, and enable the existing user program to run in the simulation environment through hot patching or replacement after the system is started. This approach has significant limitations for read-only file systems, and because the content of the read-only file system cannot be modified, it is difficult to perform a replacement operation on an application that is automatically executed after the system is started. In addition, the adaptation file for replacement usually needs to be stored in the storage medium, and for the software development process with continuous iterative update, there is an operation of formatting the content of the storage medium when performing operations such as upgrading the operating system or the user software, so that the adaptation file is cleared.
Disclosure of Invention
Aiming at the defects or improvement requirements in the prior art, the invention provides a hardware simulation method and a hardware simulation platform, and aims to shorten the system hardware simulation modeling period and improve the running compatibility of a user program, so that the technical problem of reducing the implementation difficulty of the full-system hardware simulation is solved.
To achieve the above object, according to an aspect of the present invention, there is provided a hardware simulation method, including:
manufacturing encapsulation adaptive firmware of hardware to be simulated, wherein the encapsulation adaptive firmware comprises a head script, middle data and tail version information;
loading the RAMDISK file system mirror image and the encapsulation adaptation firmware, executing the head script, and judging whether to inject the encapsulation adaptation firmware into the mirror image of the RAMDISK file system according to the tail version information;
for the RAMDISK file system mirror image which is injected with the encapsulation adaptation firmware, decompressing and transferring middle data in the encapsulation adaptation firmware into the mirror image of the RAMDISK file system, and updating the RAMDISK file system mirror image of the hardware to be simulated;
and migrating the updated middle data in the RAMDISK file system image of the hardware to be simulated to a root file system, running a user program in the environment of the root file system, and starting the user program of the hardware to be simulated to obtain a simulation result.
Preferably, the method for manufacturing the package adapting firmware of the hardware to be simulated specifically includes:
in the C file, recoding the interface function of the hardware to be simulated;
compiling the C file into a dynamic link library (SOS) based on a compiling chain of an operating system, and generating a shared library;
the firmware including the hardware to be simulated is injected into a script, an adaptive script, the shared library and a configuration file of the hardware to be simulated are packaged;
and adding the version information of the encapsulation adaptive firmware after the encapsulation is finished.
Preferably, the package adapting firmware includes a header script, middle data, and tail version information, and is specifically divided into:
the head script injects a script for the firmware;
the middle data is the configuration files of the adaptive script, the shared library and the hardware to be simulated;
the tail version information is version information of the encapsulation adaptive firmware.
Preferably, the adaptation script of the middle data is in a chain type, and the corresponding relation between the adaptation script and the dynamic link library of the shared library is established between the so files according to a preset rule.
Preferably, the determining whether to inject the package adapting firmware into the mirror image of the RAMDISK file system according to the trailer version information includes:
comparing the tail version information of the mirror image of the RAMDISK file system with the tail version information of the encapsulation adaptive firmware;
if the tail information of the RAMDISK file system image is consistent with the firmware tail version information of the encapsulation adaptive firmware, loading the RAMDISK file system image into a memory space of a hardware simulation platform, and starting a user program of the hardware to be simulated;
and if the tail information of the RAMDISK file system image does not have information corresponding to the tail version information of the encapsulation adaptive firmware, or the tail information of the RAMDISK file system image is inconsistent with the firmware tail version information of the encapsulation adaptive firmware, decompressing and transferring middle data in the encapsulation adaptive firmware into the RAMDISK file system image, and updating the RAMDISK file system image of the hardware to be simulated.
Preferably, the central data in the package adapting firmware is decompressed and migrated to the image of the RAMDISK file system, and the specific method includes:
stripping an image header of the RAMDISK file system image to obtain an RAMDISK compressed image file;
decompressing the RAMDISK compressed image file to obtain an uncompressed RAMDISK image file, and mounting the uncompressed RAMDISK image file;
decompressing a compressed packet of the middle data in the packaging adaptive firmware and copying the data to a mount directory of the RAMDISK image file;
modifying a starting file in the RAMDISK image file according to the middle data in the packaging adaptive firmware, and updating RAMDISK file system image data of the hardware to be simulated;
unloading the mount directory of the RAMDISK file system mirror image and compressing the updated file system mirror image to obtain an RAMDISK file system compressed mirror image of the hardware to be simulated;
adding an image head to a RAMDISK file system compressed image of the hardware to be simulated, and adding firmware version information to the tail of the RAMDISK file system compressed image of the hardware to be simulated to obtain the RAMDISK file system image of the hardware to be simulated;
and loading the RAMDISK file system image of the hardware to be simulated into the memory space of the hardware simulation platform.
Preferably, the migrating the middle data in the updated RAMDISK file system image of the hardware to be emulated to a root file system, includes:
after the kernel of the hardware simulation platform is started, entering a memory file system which is injected with the encapsulation adaptive firmware;
completing dynamic modification of the configuration file of the middle data of the packaging adaptive firmware in a first process of the user program, and generating updated middle data of the packaging adaptive firmware;
and modifying the content of the starting file of the root file system, and switching to the starting process of the root file system.
Preferably, the method includes modifying a start-up file of the root file system, and switching to a start-up process of the root file system, and includes:
migrating the updated encapsulation adaptation firmware to a directory node of a root file system;
executing the starting file of the root file system after the migration is finished;
and executing the first script of the middle data in the starting process, and deploying the middle data.
Preferably, the root file system deploys the middle data in a starting process, and the specific method includes:
injecting the shared library into a system process address space or an application program address space of a hardware simulation platform by an adaptive script in the middle data;
placing the shared library in a first order of a system process address space or an application program address space of the hardware simulation platform;
redirecting the original code flow to a hardware self-defined simulation module in the shared library in the middle data, and directly simulating a simulation result obtained by hardware logic execution in the hardware self-defined simulation module.
According to another aspect of the present invention, there is provided a hardware emulation platform, comprising: a QEMU module and an adaptation firmware module, wherein:
the QEMU module comprises a processor, a peripheral controller, a peripheral and a starting guider, wherein a hardware model in the QEMU module corresponds to the logic simulation of hardware to be simulated and is used for bearing simulation operation of an inner core and an upper layer software instruction level;
the adaptation firmware module comprises a software module, a hardware module and a software module, wherein the adaptation script, the software module and the software module are used for packaging adaptation firmware in a host environment, simultaneously adding firmware version information to the packaging adaptation firmware, loading and injecting the packaging adaptation firmware into a mirror image file of RAMDISK by the QEMU module when a hardware emulation platform is started, the hardware emulation platform is deployed into a memory space of the hardware emulation platform, hijacking and taking over a necessary hardware access operation in an operating system process or a user program range of an operating system, and taking over a user program, and taking over a necessary hardware access operation for emulating analog hardware module, and taking over a simulation hardware module, which is not equipped in the hardware module, in the hardware simulation module, and taking over a hardware module, in a hardware module, and taking over a hardware in a hardware module, and taking over a hardware module, in a hardware simulation platform in a hardware simulation, and taking over a hardware in a hardware simulation platform in a hardware simulation platform in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware in a process of an operating system, and taking a hardware in a hardware simulation platform in.
Generally, compared with the prior art, the technical scheme of the invention has the following beneficial effects:
on the first hand, the hardware simulation method provided by the invention has strong compatibility, can be directly compatible in the binary codes of the unmodified operating system and the unmodified user program which are run by a simulation platform, and highly simulates the use scene of a physical hardware platform; meanwhile, the expansibility is strong, and for different hardware platforms of the same processor, based on the framework of the invention, related application developers can also complete the adaptation simulation of different hardware.
In a second aspect, the hardware simulation platform provided by the invention has weak coupling, the hardware simulation platform built by the QEMU module and the encapsulation adaptive firmware is independent of an operating system and user software, and a user can directly upgrade the system and the user software to realize common evolution along with the software version of the physical equipment.
Drawings
FIG. 1 is a flowchart illustrating a hardware simulation method according to a first embodiment of the present invention;
FIG. 2 is a schematic diagram of the internal components of the package adapter firmware in the first embodiment;
FIG. 3 is a flowchart of firmware adaptation for a hardware emulation platform according to one embodiment;
FIG. 4 is a schematic diagram illustrating an architecture of a hardware emulation platform according to an embodiment of the present invention;
fig. 5 is a start-up flowchart of the hardware emulation platform according to the first embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
The first embodiment is as follows:
in an embodiment, a hardware simulation method is provided, as shown in fig. 1, the method includes:
s101, manufacturing encapsulation adaptive firmware of the hardware to be simulated, wherein the encapsulation adaptive firmware comprises a head script, middle data and tail version information.
In the first embodiment, the simulation hardware is obtained based on the QEMU open source technology, and the obtained simulation hardware directly interacts with the kernel, so that the obtained simulation hardware is obtained by performing abstract modeling on the logic of the actual hardware, and the logic behavior of the simulation hardware is completely consistent with that of the actual hardware for kernel codes.
The encapsulation adaptation firmware of the hardware to be simulated comprises an adaptation script and a shared library file with a redirection function, the related file of the hardware to be simulated is encapsulated into a firmware, the QEMU module loads the encapsulation adaptation firmware and adds the encapsulation adaptation firmware into a memory file system when a simulation platform is started, the encapsulation adaptation firmware is automatically deployed into a system memory in the system starting process, hijacking and managing necessary hardware access operation in the range of an operating system process or a user program, and the encapsulation adaptation firmware is used for simulating the hardware function or the custom function which is not simulated by the existing QEMU module.
S102, loading the RAMDISK file system mirror image and the encapsulation adaptation firmware, executing the head script, and judging whether the encapsulation adaptation firmware is injected into the mirror image of the RAMDISK (virtual memory disk) file system or not according to the tail version information.
In this embodiment, after the loading of the RAMDISK file system image and the package adaptation firmware, the QEMU module directly calls and executes the package adaptation firmware, that is, executes the Fix _ ramdisk.sh script at the head of the package adaptation firmware to perform an adaptation firmware injection action of the middle data, and before the injection, determines whether to inject the package adaptation firmware into the image of the RAMDISK file system according to the tail version information of the package adaptation firmware.
If the tail information of the RAMDISK file system image is consistent with the firmware tail version information of the encapsulation adaptive firmware, loading the RAMDISK file system image into a memory space of a hardware simulation platform, and starting a user program of the hardware to be simulated;
and if the tail information of the RAMDISK file system image does not have information corresponding to the tail version information of the encapsulation adaptive firmware, or the tail information of the RAMDISK file system image is inconsistent with the firmware tail version information of the encapsulation adaptive firmware, decompressing and transferring middle data in the encapsulation adaptive firmware into the RAMDISK file system image, and updating the RAMDISK file system image of the hardware to be simulated.
S103, for the RAMDISK file system mirror image which is injected with the encapsulation adaptation firmware, decompressing and transferring the middle data in the encapsulation adaptation firmware into the mirror image of the RAMDISK file system, and updating the RAMDISK file system mirror image of the hardware to be simulated.
In this embodiment, the middle data in the encapsulated adaptation firmware includes an adaptation script, a shared library, and a configuration file of the hardware to be emulated, and the related data of the hardware to be emulated is decompressed and migrated to the mirror image of the RAMDISK file system, so as to obtain the RAMDISK file system mirror image belonging to the hardware to be emulated.
And S104, migrating the updated middle data in the RAMDISK file system image of the hardware to be simulated to a root file system, running a user program in the environment of the root file system, and starting the user program of the hardware to be simulated to obtain a simulation result.
In the first embodiment, the updated RAMDISK file system image of the hardware to be simulated is loaded into the memory space of the hardware simulation platform, then the middle data in the updated RAMDISK file system image of the hardware to be simulated is migrated to the root file system, and when the root file system is started, the root file system is adapted and deployed according to the middle data corresponding to the hardware to be simulated, so as to hijack the user program execution flow of the hardware to be simulated, and generate the simulation result of the hardware to be simulated.
In the first embodiment, the QEMU module is a base layer of the overall system architecture, and the kernel runs on QEMU simulation hardware and interacts with the QEMU simulation hardware directly; the encapsulation adaptation firmware and the related function simulation module are located in the user space, and when the user space needs to access hardware which is not simulated by the QEMU through the kernel, the encapsulation adaptation firmware hijacks and redirects the hardware to the function simulation unit.
In the first embodiment, the package adaptive firmware exists independently, and the QEMU module completes dynamic loading and injects the package adaptive firmware into the system memory, without depending on the storage device of the system.
The hardware simulation method provided by the embodiment has strong compatibility, can directly run unmodified operating systems and user program binary codes on a simulation platform, and highly simulates the use scene of a physical hardware platform; meanwhile, the expansibility is strong, and for different hardware platforms of the same processor, based on the framework of the invention, related application developers can also complete the adaptation simulation of different hardware.
In order to implement that the QEMU module in the existing hardware platform does not have a simulated hardware function or a self-defined function, in combination with the embodiment of the present invention, there is also an optimal implementation scheme, specifically, the method for manufacturing the package adapting firmware of the hardware to be simulated includes:
in the C file, editing an interface function of the hardware to be simulated, and simulating an execution result of the logic of the hardware to be simulated;
compiling the C file into a dynamic link library (SOS) based on a compiling chain of an operating system, and generating a shared library;
the firmware including the hardware to be simulated is injected into a script, an adaptive script, the shared library and a configuration file of the hardware to be simulated are packaged;
and adding the version information of the encapsulation adaptive firmware after the encapsulation is finished.
In this embodiment one, the C file is independent and does not depend on the source code environment of the user program. Recoding operation carried out on the interface function of the hardware to be simulated comprises rewriting or adding (dlopen + dlsym) operation, and simulating the execution result of the hardware logic to be simulated. Taking the I2C temperature sensor as an example, only the temperature acquisition interface function in the application program needs to be rewritten, the required temperature value is directly returned, hardware simulation of devices such as the I2C controller and the I2C device (temperature sensor) is not needed, and the workload of simulation development is greatly reduced.
The shared library formed by the so files has a redirection function, and the redirection can solve the problem of hardware function simulation in a user space, for example, the problem of accessing unrealized bottom simulation hardware through a kernel is avoided, and a code execution flow is simplified.
And packaging the firmware injection script comprising the hardware to be simulated, the adaptation script, the shared library and the configuration file of the hardware to be simulated through a firmware manufacturing module.
In order to distinguish the functional areas of the package adapting firmware, in combination with the embodiment of the present invention, there is also a preferred implementation scheme, specifically, as shown in fig. 2, the package adapting firmware includes a header script, middle data, and tail version information, and is specifically divided into:
the head script injects a script for the firmware;
the middle data is the configuration files of the adaptive script, the shared library and the hardware to be simulated;
the tail version information is version information of the encapsulation adaptive firmware.
In the first embodiment, the internal components of the package adapting firmware are as shown in fig. 2, and the package adapting firmware header script is a Fix _ ramdisk.sh injection script, which is used to inject the package adapting firmware into the RAMDISK file system image. The tail version information of the encapsulation adaptive firmware is the version information of the current firmware, and if the version of the encapsulation adaptive firmware is updated, the tail version information of the encapsulation adaptive firmware can be represented by the tail version number of the encapsulation adaptive firmware. The middle data of the packaged adaptive firmware is a compressed packet file, which comprises Head-script.sh, Next-script.sh chain-type adaptive scripts, shared library files and related configuration file data of hardware to be simulated.
In order to add an adaptive shared library to a system process address space or any application program address space of a hardware simulation platform, in combination with the embodiment of the present invention, there is also a preferred implementation scheme, specifically, as shown in fig. 2, an adaptive script of the middle data is in a chain form, and a corresponding relationship is established between the adaptive script and a dynamic link library of the shared library.
In the first embodiment, as shown in fig. 2, the middle data of the packaged adaptive firmware is divided into a first script and an adaptive script, the first script Head-script serves as a trigger source, the adaptive script Next-script behind the first script is associated with the dynamic link library of the shared library, so that a corresponding relationship is established between the so-called files according to a preset rule, and the so-called dynamic link library so-called files are correspondingly executed after the adaptive script Next-script and the subsequent scripts are executed.
And the middle data of the packaged adaptive firmware needs to be added into a system process address space or an application program address space of the hardware simulation platform, a corresponding process address space does not exist when the program is not started, and if no corresponding Next-script exists when the program is started, the shared library cannot be injected into the program address space. In the first embodiment, the chain-type script can ensure that the injection of the shared library can be executed in the whole running process of the simulation platform, and if a certain program corresponds to the nth Next-script, the execution of the nth Next-script when the program is started can be ensured, and the corresponding nth dynamic link library so file is injected into the address space of the program.
In order to avoid repeatedly injecting the encapsulation adaptive firmware into the RAMDISK file system, in combination with the embodiment of the present invention, there is also a preferred implementation scheme, specifically, the determining whether to inject the encapsulation adaptive firmware into the image of the RAMDISK file system according to the trailer version information includes:
comparing the tail version information of the mirror image of the RAMDISK file system with the tail version information of the encapsulation adaptive firmware;
if the tail information of the RAMDISK file system image is consistent with the firmware tail version information of the encapsulation adaptive firmware, loading the RAMDISK file system image into a memory space of a hardware simulation platform, and starting a user program of the hardware to be simulated;
and if the tail information of the RAMDISK file system image does not have information corresponding to the tail version information of the encapsulation adaptive firmware, or the tail information of the RAMDISK file system image is inconsistent with the firmware tail version information of the encapsulation adaptive firmware, decompressing and transferring middle data in the encapsulation adaptive firmware into the RAMDISK file system image, and updating the RAMDISK file system image of the hardware to be simulated.
In the first embodiment, as shown in fig. 2, the naming rule of the mirror tail version information of the RAMDISK file system is the same as the naming rule of the tail version information of the package adaptive firmware. And if the same version of the packaging adaptive firmware exists in the mirror image of the RAMDISK file system, not injecting, and loading the RAMDISK mirror image file into a memory space of the hardware simulation platform.
In order to obtain an image of a RAMDISK file system related to hardware to be emulated, in combination with the embodiment of the present invention, there is also a preferred implementation, specifically, the middle data in the package adapting firmware is decompressed and migrated to the image of the RAMDISK file system, and the specific method includes:
and stripping an image header of the RAMDISK file system image to obtain the RAMDISK compressed image file.
And decompressing the RAMDISK compressed image file to obtain an uncompressed RAMDISK image file, and mounting the uncompressed RAMDISK image file.
In the first embodiment, the uncompressed RAMDISK image file is mounted in the HOST environment.
And decompressing the compressed packet of the middle data in the packaging adaptive firmware and copying the data to the mount directory of the RAMDISK image file.
And modifying a starting file in the RAMDISK image file according to the middle data in the packaging adaptive firmware, and updating the RAMDISK file system image data of the hardware to be simulated.
In this embodiment, the modification of the init start file in the RAMDISK image file is to add a middle data deployment and migration action in the package adaptation firmware, and to perform an operation on the start file of the root file system, that is, to add an injection operation of a Head-script.
And unloading the mount directory of the RAMDISK file system mirror image and compressing the updated file system mirror image to obtain the RAMDISK file system compressed mirror image of the hardware to be simulated.
And adding an image head to the RAMDISK file system compressed image of the hardware to be simulated, and adding firmware version information to the tail of the RAMDISK file system compressed image of the hardware to be simulated to obtain the RAMDISK file system image of the hardware to be simulated.
In the first embodiment, for updated RAMDISK file system image data of the hardware to be simulated, an image is added to the head of a RAMDISK file system compressed image of the hardware to be simulated, and firmware version information is added to the tail of the RAMDISK file system compressed image of the hardware to be simulated, so that the RAMDISK file system image of the hardware to be simulated is obtained.
And loading the RAMDISK file system image of the hardware to be simulated into the memory space of the hardware simulation platform.
In order to synchronously update the adaptive firmware of the hardware to be emulated in the root file system, in combination with the embodiment of the present invention, there is also a preferred implementation, specifically, the migrating the middle data in the updated RAMDISK file system image of the hardware to be emulated to the root file system, where the specific method includes:
and after the kernel of the hardware simulation platform is started, entering a memory file system which is injected with the encapsulation adaptive firmware.
In the first embodiment, when the kernel software running on the emulation platform is started, the start environment enters the memory file system into which the package adaptive firmware is injected.
And finishing the dynamic modification of the configuration file of the middle data of the packaging adaptive firmware in the first process of the user program to generate the updated middle data of the packaging adaptive firmware.
In this embodiment, the configuration file of the middle data of the adaptive firmware is configuration information of hardware to be simulated, unique modification marks are performed in the simulation platform according to the configuration information of the hardware to be simulated, each piece of hardware to be simulated corresponds to one modification mark, the middle data of the encapsulated adaptive firmware is updated due to the modification of the configuration information of the hardware to be simulated, and updated middle data of the encapsulated adaptive firmware is generated.
And modifying the content of the starting file of the root file system, and switching to the starting process of the root file system.
In the first embodiment, the execution operation of the first script Head-script encapsulating the middle data of the adaptive firmware is injected into the boot file of the root file system, and the injection operation uniformly adopts a "copy-injection-bind mount" mode, which is applicable to the modification operation in the application scenario of the read-only file system. In the application scenario of the existing read-only file system, the modification of the read-only file in the system is only manually operated by a user after the system is started, and only the program running range after the system is started can be covered, so that the program execution process in the starting process of the operating system cannot be influenced.
In order to deploy the intermediate data so as to inject the shared library into the corresponding address space, in combination with the embodiment of the present invention, there is also a preferred implementation scheme, specifically, modifying the start-up file of the root file system, where the specific method includes:
and migrating the updated encapsulation adaptation firmware to a directory node of a root file system.
And executing the starting file of the root file system after the migration is finished.
And executing the first script of the middle data in the starting process, and deploying the middle data.
In the first embodiment, as shown in fig. 3, the first script Head-script of the middle data is executed in the starting process, after the process is started, an execution operation of the adaptation script Next-script is added at a node where the shared library needs to be injected, then the adaptation script Next-script is executed when the system executes the node, and the adaptation script Next-script completes the injection operation of the shared library and the execution operation of adding the Next adaptation script Next-script.
After the execution of the memory file system is finished, the starting process of the root file system is switched, and meanwhile, the encapsulation adaptive firmware is migrated to a directory node of the root file system, so that the encapsulation adaptive firmware is ensured to continuously exist in two stages of the memory file system and the root file system.
In order to improve the priority of the adaptation script in the encapsulated adaptation firmware, in combination with the embodiment of the present invention, there is also a preferred implementation scheme, and specifically, the root file system deploys the middle data in the starting process, where the specific method includes:
injecting the shared library into a system process address space or an application program address space of a hardware simulation platform by an adaptive script in the middle data;
placing the shared library in a first order of a system process address space or an application program address space of the hardware simulation platform;
redirecting the original code flow to a hardware self-defined simulation module in the shared library in the middle data, and directly simulating a simulation result obtained by hardware logic execution in the hardware self-defined simulation module.
In this embodiment, an adaptation flow of the package adaptation firmware in the boot process of the root file system is shown in fig. 3, where a chain adaptation script of the package adaptation firmware injects the shared library into the system-wide process address space or the application program address space, and the shared library has a higher priority in the program execution process by using the injection manner of the environment variable LD _ load, so that functions and symbols in other libraries can be covered.
The LD _ PRELOAD is an environment variable of the Linux system, and can influence the link of the program in the running process, so that a user can define the dynamic link library which is loaded preferentially before the program runs, and the dynamic link library can be used for selectively loading the same function in different dynamic link libraries. Through LD _ PRELOAD, the user can load other dynamic link libraries in the middle of the main program and its dynamic link library, even covering the normal function library. On the one hand, the user can use his or her own or better function (without the need for someone else's source code) with this function, and on the other hand, the user can inject a program into someone else's program to achieve a specific purpose.
Redirecting the original code flow to a hardware self-defined simulation module in a shared library of the encapsulation adaptive firmware, and directly simulating functional data obtained by hardware logic execution in the hardware self-defined simulation module.
Example two:
a second embodiment provides a hardware simulation platform, and the simulation method of the hardware simulation platform of the second embodiment is a hardware simulation method according to the first embodiment, and the hardware simulation platform includes: a QEMU module and an adaptation firmware module, wherein:
the QEMU module comprises a processor, a peripheral controller, a peripheral and a starting guider, wherein a hardware model in the QEMU module corresponds to the logic simulation of hardware to be simulated and is used for bearing simulation operation of an inner core and an upper layer software instruction level;
the adaptation firmware module comprises a software module, a hardware module and a software module, wherein the adaptation script, the software module and the software module are used for packaging adaptation firmware in a host environment, simultaneously adding firmware version information to the packaging adaptation firmware, loading and injecting the packaging adaptation firmware into a mirror image file of RAMDISK by the QEMU module when a hardware emulation platform is started, the hardware emulation platform is deployed into a memory space of the hardware emulation platform, hijacking and taking over a necessary hardware access operation in an operating system process or a user program range of an operating system, and taking over a user program, and taking over a necessary hardware access operation for emulating analog hardware module, and taking over a simulation hardware module, which is not equipped in the hardware module, in the hardware simulation module, and taking over a hardware module, in a hardware module, and taking over a hardware in a hardware module, and taking over a hardware module, in a hardware simulation platform in a hardware simulation, and taking over a hardware in a hardware simulation platform in a hardware simulation platform in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware in a process of an operating system, and taking a hardware in a hardware simulation platform in.
In the second embodiment, the building of the simulation platform is started by the QEMU module creating a hardware model, and the hardware simulation in the minimum system is completed through a device model modeling mechanism of the QEMU module, for example, a QOM (the QOM is a set of object-oriented mechanisms implemented by the QEMU on the basis of a C file, and is responsible for abstracting all devices into objects). In order to ensure normal and stable operation of operating system software and upper-layer software, the minimum set required by hardware modeling of the QEMU module is composed of a processor, a peripheral controller, a peripheral and a starting guider. The method is characterized in that:
the processor emulation comprises at least a CPU, an interrupt controller GIC and an associated processor configuration unit. The CPU is responsible for instruction set simulation of codes, the interrupt controller is responsible for interrupt connection and distribution between system hardware and the CPU, and the processor configuration unit stores hardware information of the processor and ensures normal starting flow of the kernel.
The peripheral controller at least comprises a serial port controller UART, a watchdog WDOG, a storage controller and a PCI controller. The UART is used for the operation of a system console and is the primary interactive interface between a user and the system; the watchdog is mainly used for normal restarting, closing and other operations of the simulation system; the storage controller is responsible for data interaction between the operating system and the external storage equipment; the PCI controller is used for hanging network cards and other PCI devices, various mature PCI network card hardware models are integrated in the QEMU, and the simulation of the PCI controller can realize the rapid construction of interfaces of other PCI devices on the basis of reducing the independent modeling of the network controller.
The peripheral at least comprises a memory card and a network card device. The external storage device is used for storing a file system, user data and the like; the network card device is used for supporting the simulation platform to communicate with an external network.
The starting guide device is used for simulating a hardware guide unit in the processor and partial functions of the software starting guide device, finishing the cutting of the hardware difference between the minimum system hardware simulation platform and the actual hardware platform and ensuring that the kernel starting process is not abnormal due to the loss of the hardware; completing the loading of the encapsulation adaptive firmware, the kernel mirror image, the equipment tree and the RAMDISK memory file system mirror image; and detecting whether the memory file system image is injected with the encapsulation adaptive firmware, and if the encapsulation adaptive firmware is not detected or the injected encapsulation adaptive firmware is not consistent with the loaded encapsulation adaptive firmware in version, injecting the contained adaptive file into the memory file system image through an injection script embedded in the encapsulation adaptive firmware and adding related version information.
As shown in fig. 4, the QEMU minimum system hardware module in this embodiment is a base layer of the overall system architecture, and the kernel runs on the QEMU simulation hardware and interacts directly with the QEMU simulation hardware; the encapsulation adaptation firmware and the related function simulation module are located in the user space, and when the user space needs to access analog hardware which is not provided by the QEMU through a kernel, the encapsulation adaptation firmware hijacks and redirects the analog hardware to the function simulation unit.
As shown in fig. 5, the flow of the hardware emulation platform includes the following steps:
and S201, starting a full-system hardware simulation platform.
And S202, creating a QEMU system hardware model.
S203, cutting the device tree.
In the second embodiment, the boot loader finishes cutting the hardware difference between the minimum system hardware simulation platform and the actual hardware platform, so as to ensure that the kernel boot process is not abnormal due to the loss of the hardware, and avoid redundant hardware.
And S204, loading the operating system image and packaging the adaptive firmware.
And S205, manufacturing the package adapting firmware.
In the second embodiment, step S201 is executed while step S205 is executed.
And S206, compiling to generate a relocation shared library.
And S207, packaging the adaptive firmware.
And S208, loading the operating system image and packaging the adaptive firmware.
In the second embodiment, after S203 and S207 are completed, the operating system image and the package adapter firmware are loaded on the QEMU module, respectively.
S209, judging whether the RAMDISK has the encapsulation adaption firmware. If yes, go to step S210, otherwise, go to step S211.
S210, judging whether the RAMDISK has the encapsulation adapting firmware with consistent version. If so, go to S212, otherwise, go to S211.
In the second embodiment, if the tail information of the RAMDISK file system image is consistent with the firmware tail version information of the encapsulation adaptive firmware, the RAMDISK file system image is loaded into the memory space of the hardware simulation platform, and a user program of the hardware to be simulated is started;
and if the tail information of the RAMDISK file system image does not have information corresponding to the tail version information of the encapsulation adaptive firmware, or the tail information of the RAMDISK file system image is inconsistent with the firmware tail version information of the encapsulation adaptive firmware, decompressing and transferring middle data in the encapsulation adaptive firmware into the RAMDISK file system image, and updating the RAMDISK file system image of the hardware to be simulated.
Injecting package adaptation firmware into the RAMDISK S211.
S212, starting the RAMDISK memory file system.
S213, deploying the encapsulation adaptation firmware.
And S214, injecting a chain type adaptation script, and migrating and packaging the adaptation firmware into the directory node of the root file system.
In the second embodiment, the triggering operation of the Head of the chain type adaptation script is performed, the middle data of the encapsulation adaptation firmware is divided into the first script and the adaptation script, the first script Head-script serves as a triggering source to perform the triggering operation, the chain type script can ensure that the injection of the shared library can be executed in the whole operation process of the simulation platform, after the triggering process is started, the execution operation of the adaptation script Next-script is added at a node where the shared library needs to be injected, then the adaptation script Next-script is executed when the system executes the node, and the injection operation of the shared library and the execution operation of adding the Next adaptation script Next-script are completed by the adaptation script Next-script.
Since the dynamic link library encapsulating the adapted firmware is loaded preferentially before the program runs, the necessary hardware access operation within the scope of the operating system process or the user program can be hijacked and managed.
S215, switching to start the root file system.
In the second embodiment, after the execution of the memory file system is finished, the starting process of the root file system is switched to, and meanwhile, the encapsulation adaptive firmware is migrated to the directory node of the root file system, so that the encapsulation adaptive firmware is ensured to continuously exist in two stages of the memory file system and the root file system.
The shared library is injected into the whole system process address space or the application program address space by the chain type adaptation script of the encapsulation adaptation firmware, and the shared library has higher priority in the program execution process by adopting the injection mode of the environment variable LD _ PRELOAD, so that functions and symbols in other libraries can be covered.
And S216, running the user program to obtain the simulation hardware.
Finally, simulation hardware is obtained, and a user can directly upgrade the system and the user software to realize the common evolution along with the software version of the physical equipment. The hardware simulation platform in the second embodiment is weak in coupling, and the hardware simulation platform built by the QEMU module and the encapsulation adaptive firmware is independent of an operating system and user software.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (10)

1. A hardware simulation method, comprising:
manufacturing encapsulation adaptive firmware of hardware to be simulated, wherein the encapsulation adaptive firmware comprises a head script, middle data and tail version information;
loading the RAMDISK file system mirror image and the encapsulation adaptation firmware, executing the head script, and judging whether to inject the encapsulation adaptation firmware into the mirror image of the RAMDISK file system according to the tail version information;
for the RAMDISK file system mirror image which is injected with the encapsulation adaptation firmware, decompressing and transferring middle data in the encapsulation adaptation firmware into the mirror image of the RAMDISK file system, and updating the RAMDISK file system mirror image of the hardware to be simulated;
and migrating the updated middle data in the RAMDISK file system image of the hardware to be simulated to a root file system, running a user program in the environment of the root file system, and starting the user program of the hardware to be simulated to obtain a simulation result.
2. The hardware simulation method according to claim 1, wherein the manufacturing of the package adapting firmware of the hardware to be simulated specifically comprises:
in the C file, recoding the interface function of the hardware to be simulated;
compiling the C file into a dynamic link library (SOS) based on a compiling chain of an operating system, and generating a shared library;
the firmware including the hardware to be simulated is injected into a script, an adaptive script, the shared library and a configuration file of the hardware to be simulated are packaged;
and adding the version information of the encapsulation adaptive firmware after the encapsulation is finished.
3. The hardware emulation method of claim 2, wherein the package adapting firmware comprises a header script, middle data, and tail version information, and is specifically divided into:
the head script injects a script for the firmware;
the middle data is the configuration files of the adaptive script, the shared library and the hardware to be simulated;
the tail version information is version information of the encapsulation adaptive firmware.
4. The hardware simulation method of claim 3, wherein the adaptation script of the middle data is in a chain form, and the adaptation script and the dynamic link library of the shared library establish a corresponding relationship between the so files according to a preset rule.
5. The hardware emulation method of claim 1, wherein the determining whether to inject the encapsulated firmware into an image of a RAMDISK file system according to the trailer version information comprises:
comparing the tail version information of the mirror image of the RAMDISK file system with the tail version information of the encapsulation adaptive firmware;
if the tail information of the RAMDISK file system image is consistent with the firmware tail version information of the encapsulation adaptive firmware, loading the RAMDISK file system image into a memory space of a hardware simulation platform, and starting a user program of the hardware to be simulated;
and if the tail information of the RAMDISK file system image does not have information corresponding to the tail version information of the encapsulation adaptive firmware, or the tail information of the RAMDISK file system image is inconsistent with the firmware tail version information of the encapsulation adaptive firmware, decompressing and transferring middle data in the encapsulation adaptive firmware into the RAMDISK file system image, and updating the RAMDISK file system image of the hardware to be simulated.
6. The hardware emulation method of claim 1, wherein the middle data in the encapsulating adaptation firmware is decompressed and migrated to the image of the RAMDISK file system, and the specific method comprises:
stripping an image header of the RAMDISK file system image to obtain an RAMDISK compressed image file;
decompressing the RAMDISK compressed image file to obtain an uncompressed RAMDISK image file, and mounting the uncompressed RAMDISK image file;
decompressing a compressed packet of the middle data in the packaging adaptive firmware and copying the data to a mount directory of the RAMDISK image file;
modifying a starting file in the RAMDISK image file according to the middle data in the packaging adaptive firmware, and updating RAMDISK file system image data of the hardware to be simulated;
unloading the mount directory of the RAMDISK file system mirror image and compressing the updated file system mirror image to obtain an RAMDISK file system compressed mirror image of the hardware to be simulated;
adding an image head to a RAMDISK file system compressed image of the hardware to be simulated, and adding firmware version information to the tail of the RAMDISK file system compressed image of the hardware to be simulated to obtain the RAMDISK file system image of the hardware to be simulated;
and loading the RAMDISK file system image of the hardware to be simulated into the memory space of the hardware simulation platform.
7. The hardware simulation method according to claim 6, wherein the migrating the middle data in the updated RAMDISK file system image of the hardware to be simulated to a root file system specifically comprises:
after the kernel of the hardware simulation platform is started, entering a memory file system which is injected with the encapsulation adaptive firmware;
completing dynamic modification of the configuration file of the middle data of the packaging adaptive firmware in a first process of the user program, and generating updated middle data of the packaging adaptive firmware;
and modifying the content of the starting file of the root file system, and switching to the starting process of the root file system.
8. The hardware simulation method of claim 7, wherein modifying the boot file of the root file system and switching to a boot process of the root file system comprises:
migrating the updated encapsulation adaptation firmware to a directory node of a root file system;
executing the starting file of the root file system after the migration is finished;
and executing the first script of the middle data in the starting process, and deploying the middle data.
9. The hardware simulation method of claim 8, wherein the root file system deploys the middle data during a boot process, and the specific method includes:
injecting the shared library into a system process address space or an application program address space of a hardware simulation platform by an adaptive script in the middle data;
placing the shared library in a first order of a system process address space or an application program address space of the hardware simulation platform;
redirecting the original code flow to a hardware self-defined simulation module in the shared library in the middle data, and directly simulating a simulation result obtained by hardware logic execution in the hardware self-defined simulation module.
10. A hardware emulation platform, comprising: a QEMU module and an adaptation firmware module, wherein:
the QEMU module comprises a processor, a peripheral controller, a peripheral and a starting guider, wherein a hardware model in the QEMU module corresponds to the logic simulation of hardware to be simulated and is used for bearing simulation operation of an inner core and an upper layer software instruction level;
the adaptation firmware module comprises a software module, a hardware module and a software module, wherein the adaptation script, the software module and the software module are used for packaging adaptation firmware in a host environment, simultaneously adding firmware version information to the packaging adaptation firmware, loading and injecting the packaging adaptation firmware into a mirror image file of RAMDISK by the QEMU module when a hardware emulation platform is started, the hardware emulation platform is deployed into a memory space of the hardware emulation platform, hijacking and taking over a necessary hardware access operation in an operating system process or a user program range of an operating system, and taking over a user program, and taking over a necessary hardware access operation for emulating analog hardware module, and taking over a simulation hardware module, which is not equipped in the hardware module, in the hardware simulation module, and taking over a hardware module, in a hardware module, and taking over a hardware in a hardware module, and taking over a hardware module, in a hardware simulation platform in a hardware simulation, and taking over a hardware in a hardware simulation platform in a hardware simulation platform in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware simulation, and taking a hardware in a hardware simulation platform in a hardware in a process of an operating system, and taking a hardware in a hardware simulation platform in.
CN202111000101.5A 2021-08-27 2021-08-27 Hardware simulation method and platform Active CN113703920B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111000101.5A CN113703920B (en) 2021-08-27 2021-08-27 Hardware simulation method and platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111000101.5A CN113703920B (en) 2021-08-27 2021-08-27 Hardware simulation method and platform

Publications (2)

Publication Number Publication Date
CN113703920A true CN113703920A (en) 2021-11-26
CN113703920B CN113703920B (en) 2023-08-08

Family

ID=78656426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111000101.5A Active CN113703920B (en) 2021-08-27 2021-08-27 Hardware simulation method and platform

Country Status (1)

Country Link
CN (1) CN113703920B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204271A1 (en) * 2006-02-28 2007-08-30 Andrew Gaiarsa Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform
US20100257411A1 (en) * 2009-04-07 2010-10-07 Kabushiki Kaisha Toshiba Emulation device and emulator activation method
CN105701298A (en) * 2016-01-15 2016-06-22 天津大学 Simulation platform design method based on Power PC SoC framework
US20190243634A1 (en) * 2018-02-08 2019-08-08 Insyde Software Corp. System and method for providing firmware data updates
CN111597109A (en) * 2020-04-24 2020-08-28 清华大学 Defect detection method and system for cross-architecture firmware stack memory
US10846113B1 (en) * 2017-03-30 2020-11-24 Amazon Technologies, Inc. Board management controller firmware virtualization
CN112241311A (en) * 2020-10-22 2021-01-19 杭州安恒信息技术股份有限公司 Firmware simulation method and device, electronic equipment and readable storage medium
CN112417444A (en) * 2020-12-03 2021-02-26 南京邮电大学 Attack trapping system based on firmware simulation
US20210150031A1 (en) * 2016-10-14 2021-05-20 Imagination Technologies Limited Verifying firmware binary images using a hardware design and formal assertions

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204271A1 (en) * 2006-02-28 2007-08-30 Andrew Gaiarsa Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform
US20100257411A1 (en) * 2009-04-07 2010-10-07 Kabushiki Kaisha Toshiba Emulation device and emulator activation method
CN105701298A (en) * 2016-01-15 2016-06-22 天津大学 Simulation platform design method based on Power PC SoC framework
US20210150031A1 (en) * 2016-10-14 2021-05-20 Imagination Technologies Limited Verifying firmware binary images using a hardware design and formal assertions
US10846113B1 (en) * 2017-03-30 2020-11-24 Amazon Technologies, Inc. Board management controller firmware virtualization
US20190243634A1 (en) * 2018-02-08 2019-08-08 Insyde Software Corp. System and method for providing firmware data updates
CN111597109A (en) * 2020-04-24 2020-08-28 清华大学 Defect detection method and system for cross-architecture firmware stack memory
CN112241311A (en) * 2020-10-22 2021-01-19 杭州安恒信息技术股份有限公司 Firmware simulation method and device, electronic equipment and readable storage medium
CN112417444A (en) * 2020-12-03 2021-02-26 南京邮电大学 Attack trapping system based on firmware simulation

Also Published As

Publication number Publication date
CN113703920B (en) 2023-08-08

Similar Documents

Publication Publication Date Title
US8621279B1 (en) System and method for generating emulation-based scenarios for Error Handling
CN107967139B (en) Hot updating method and device for game
CN109408393B (en) Application testing method, device and equipment and computer readable storage medium
CN111309451A (en) Method for realizing cross compilation of Docker mirror images
CN115629971A (en) Application development system and method
CN114816417A (en) Cross compiling method and device, computing equipment and storage medium
CN111123737A (en) Digital hardware virtual simulation system
CN111459606A (en) Method for quickly creating virtual machine under virtualization and server
CN110032425B (en) Dynamic link library file virtualization method, system and storage medium
CN109960511B (en) Dynamic library issuing method based on virtualization technology, storage medium and intelligent terminal
CN113342436B (en) Game translation method and device
CN110704113A (en) Starting method and system based on FPGA platform and development board device
CN111966470B (en) Loading method and device of virtual machine monitor and electronic equipment
CN113703920B (en) Hardware simulation method and platform
CN112667352A (en) Multi-CPU instruction cross compiling unified construction method, equipment and medium
CN116401003A (en) Android application running method, system and storage medium based on desktop operating system
CN116540929A (en) Virtualized reading method and device of disk array, electronic equipment and storage medium
US7752030B2 (en) Virtualization as emulation support
CN114416031B (en) Operating system for supporting RISC-V processor facing AIoT scene
US11188361B1 (en) Cross-architecture software distribution using a virtual instruction set architecture
CN114443221A (en) Method and system for constructing cross-platform container mirror image based on build dah and electronic equipment
CN113177292A (en) Universal BIM secondary development implementation method and device
CN113805848A (en) Target machine control software integration method and system
CN115545136B (en) Method for managing RAID card in domestic processor platform firmware
CN112905233B (en) Peripheral transplanting method of embedded firmware based on Linux kernel

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
GR01 Patent grant
GR01 Patent grant