CN116431103A - Digital DevOps platform design method for embedded software - Google Patents

Digital DevOps platform design method for embedded software Download PDF

Info

Publication number
CN116431103A
CN116431103A CN202310462913.4A CN202310462913A CN116431103A CN 116431103 A CN116431103 A CN 116431103A CN 202310462913 A CN202310462913 A CN 202310462913A CN 116431103 A CN116431103 A CN 116431103A
Authority
CN
China
Prior art keywords
digital
embedded software
model
embedded
devops
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
CN202310462913.4A
Other languages
Chinese (zh)
Other versions
CN116431103B (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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202310462913.4A priority Critical patent/CN116431103B/en
Publication of CN116431103A publication Critical patent/CN116431103A/en
Application granted granted Critical
Publication of CN116431103B publication Critical patent/CN116431103B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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/60Software deployment
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a digital DevOps platform design method for embedded software, and belongs to the field of embedded software testing. The invention introduces a digital simulation technology based on a DevOps technology, and adopts the digital simulation technology to simulate the hardware environment of embedded software, including a processor, peripheral equipment, a bus and the like; secondly, realizing embedded software development and test based on a digital simulation platform, including code iterative development, unit test, configuration item test, operation monitoring and the like; and finally, constructing an embedded DevOps workflow, integrating the digital simulation environment into a tool chain of the DevOps as an infrastructure, and realizing automatic compiling construction, automatic deployment, automatic test, test result acquisition and the like of the embedded software. The invention improves the development efficiency of embedded software, ensures the quality of the software and reduces the development cost and period.

Description

Digital DevOps platform design method for embedded software
Technical Field
The invention belongs to the field of embedded software testing, and particularly relates to a digital DevOps platform design method for embedded software.
Background
The traditional embedded software development and test are required to be completed by combining with the hardware of the target machine, and firstly, after the design development of the embedded software is completed by the host machine, the embedded software is downloaded into a corresponding hardware platform through cross compiling to run and debug, so that software and hardware integration test and system function verification are performed. When problems occur in the test and verification process, software and hardware problems need to be synchronously checked, the iteration period is long, and the cost is high. With the improvement of the software scale of the embedded system, the hardware composition is more complex, and the repair cost of the later software and hardware integration test problem is increased by times. Because of the complex hardware and long production period, the problem that software cannot be developed in time to integrate and test the software and the hardware often occurs when the software is developed and the hardware is not yet, and the waste of software development and test resources is caused. After the later hardware resources are in place, development and testing cannot be carried out in parallel due to limited resources, so that the problem discovery time is further delayed, and in the embedded software development process, the problem discovery time is in direct proportion to the problem repair cost.
At present, the DevOps is widely applied to the non-embedded software development process in the fields of Internet and the like as a new generation continuous integration/continuous development technology, greatly improves the development efficiency of the software, and is one of effective means for guaranteeing the quality of the software. Because embedded software highly depends on special hardware, the embedded software needs to be downloaded to a special hardware platform for running and debugging after cross compiling, so that the DevOps is difficult to be applied and popularized in the development process of the embedded software, and the customization and diversity of the embedded software hardware running environment become short plates and bottlenecks for restricting the development of the embedded software DevOps technology.
Traditional embedded software development and test are developed based on a real target machine environment, development progress is limited to a hardware environment, and problems of low resource utilization rate, high cost, long period and the like exist. Although the general DevOps technology is widely applied to the development of non-embedded software, the development efficiency is greatly improved; however, because the embedded software has the characteristics of software-hardware coupling, strong specificity, serious customization and the like, the embedded DevOps is difficult to land in the development of the embedded software, and has long development period and low efficiency.
In order to break through the constraint of hardware on embedded software development, promote the application of the DevOps technology in the embedded software development process, improve the embedded software development efficiency, and invent a digital DevOps platform design method oriented to embedded software. The hardware operation platform of the embedded software is simulated by a digital method, the universalization of the heterogeneous hardware platform is realized, the heterogeneous embedded software is deployed and operated on the host platform, and the DevOps workflow is improved and perfected, so that the development of the embedded software can be adapted and supported.
Disclosure of Invention
First, the technical problem to be solved
The invention aims to solve the technical problems of strong software and hardware coupling, long iteration development period, deficient test environment, low test automation degree and difficult guarantee of software quality in the current embedded software development process by providing a digital DevOps platform design method for embedded software.
(II) technical scheme
In order to solve the technical problems, the invention provides a digital DevOps platform design method for embedded software, which comprises the following steps:
first step, constructing a digital simulation environment
Simulating a hardware running environment of the embedded software, constructing a digital simulation environment equivalent to the hardware running environment, replacing a hardware infrastructure in the embedded DevOps, and comprising: a processor, peripheral devices and bus of the embedded target machine; simulating an instruction set architecture of a processor, realizing the functions of address fetching, decoding and executing, and running target program instructions; simulating the behavior functions of peripheral equipment and buses, realizing the input, output and processing of interface data, and completing the injection of external excitation;
second step, creating embedded DevOps workflow
A flow tool for building an embedded DevOps workflow, comprising: demand management, digital infrastructure configuration, code development, code testing, code deployment and operation monitoring, and automatic construction, testing and deployment of embedded software are realized by writing an automatic script file;
third step, digital development and testing
Compiling and constructing a tool chain based on the digital simulation environment integrated embedded software, performing code iterative development, constructing and generating an executable program of a designated target platform, and downloading the target program into the digital simulation environment for running and debugging; designing and running test cases, including: the method comprises the steps of configuring external excitation data of a digital simulation environment by unit test cases and configuration item test cases, monitoring and collecting software operation information, and counting program operation coverage information.
(III) beneficial effects
The invention provides a digital DevOps platform design method for embedded software, which has the following characteristics:
the digital simulation technology is adopted, so that the digital infrastructure oriented to the embedded software is realized, the dependence on the special hardware infrastructure is reduced, the dynamic management of the digital simulation environment is realized by adopting the configuration file, and the problem of the running environment developed by the embedded software in the host machine environment can be solved.
The design of the embedded DevOps workflow is realized by adopting continuous integration and automatic test technology, the configuration and the running state monitoring of the digital infrastructure are integrated into the workflow, the development, the test, the deployment and the monitoring of the embedded software based on the digital simulation environment are realized based on the automatic script, and the development and the test efficiency of the embedded software can be improved.
Drawings
FIG. 1 is a block diagram of the design method of the digital DevOps platform for embedded software.
Detailed Description
To make the objects, contents and advantages of the present invention more apparent, the following detailed description of the present invention will be given with reference to the accompanying drawings and examples.
The invention provides a digital DevOps platform design method for embedded software, which introduces a digital simulation technology based on the DevOps technology, simulates a hardware environment of the embedded software to realize an equivalent digital simulation environment, uses the digital simulation environment as an operation platform of heterogeneous embedded software, and supports continuous integration and continuous deployment of the embedded software. Firstly, simulating a hardware environment of embedded software by adopting a digital simulation technology, wherein the hardware environment comprises a processor, peripherals, a bus and the like; secondly, realizing embedded software development and test based on a digital simulation platform, including code iterative development, unit test, configuration item test, operation monitoring and the like; and finally, constructing an embedded DevOps workflow, integrating the digital simulation environment into a tool chain of the DevOps as an infrastructure, and realizing automatic compiling construction, automatic deployment, automatic test, test result acquisition and the like of the embedded software. The digital DevOps platform for the embedded software, which is realized by the method, has flexible configurability, can support the ring running of the embedded software with various architectures, meets the customizing requirement of the hardware environment of the embedded system, breaks through the constraint of the special hardware environment, realizes the application of the DevOps in the embedded software by using the digital technology, further improves the development efficiency of the embedded software, ensures the quality of the software, and reduces the development cost and period.
The invention aims to provide a digital DevOps platform design method for embedded software, which solves the problems of strong software and hardware coupling, long iteration development period, deficient test environment, low test automation degree and difficult guarantee of software quality in the current embedded software development process.
First step, constructing a digital simulation environment
The hardware running environment of the embedded software is simulated, and the equivalent digital simulation environment is constructed to replace the hardware infrastructure in the embedded DevOps, including the processor, peripheral equipment, bus and the like of the embedded target machine. Simulating an instruction set architecture of a processor, realizing the functions of address fetching, decoding and executing, and running target program instructions; and simulating the behavior functions of peripheral equipment and buses, realizing the input, output and processing of interface data, and completing the injection of external excitation.
Second step, creating embedded DevOps workflow
The process tool for constructing the embedded DevOps workflow comprises requirement management, digital infrastructure configuration, code development, code testing, code deployment, operation monitoring and the like, and automatic construction, testing and deployment of embedded software are realized by writing an automatic script file.
Third step of digital development and testing
And integrating a compiling and constructing tool chain of the embedded software based on the digital simulation environment, performing code iterative development, constructing and generating an executable program of a specified target platform, and downloading the target program into the simulation environment for running and debugging. The method comprises the steps of designing and operating test cases, including unit test cases and configuration item test cases, configuring external excitation data of a digital simulation environment, monitoring and collecting software operation information, and counting program operation coverage information.
Example 1:
an embodiment of a digital DevOps platform design method for embedded software comprises two parts, namely digital simulation platform construction and embedded DevOps workflow construction, as shown in fig. 1.
Firstly, simulating a hardware environment of an embedded system by adopting a digital simulation technology to form a processor simulation model library, a peripheral simulation model library and a bus simulation model library, constructing a digital simulation environment, and flexibly configuring based on a digital environment configuration file to generate simulation environments meeting development requirements of embedded software with different structures; and secondly, constructing an embedded DevOps workflow based on the digital simulation environment, supplementing a digital simulation environment configuration tool, generating the simulation environment according to requirements, supporting tool operations such as embedded software code development, code testing, code deployment, operation monitoring and the like, and developing digital development testing.
The specific implementation steps are as follows:
the first step specifically comprises:
s11, establishing a digital simulation model library
The digital simulation model library is used for simulating the hardware components of the embedded system, is the basis for realizing the embedded DevOps, adopts the digital simulation technology to perform functional simulation on real hardware, establishes a virtual target machine model, and supports the on-loop operation of the embedded software of the corresponding architecture, and the specific steps are as follows.
(1) And establishing a processor simulation MODEL library CPU_MODEL_LAB. Establishing a processor simulation framework to realize functional simulation of processor address taking, decoding, execution, interrupt processing and the like; implementing instruction set architecture simulation according to processor type (e.g., DSP6713, SPARC BM 3803); the on-chip device function simulation of the corresponding processor comprises an on-chip timer, a register, a memory, GPIO, EMIF and the like, a processor simulation model dynamic library XXX_CPU_CORE.DLL is generated, and interfaces such as CPU_READ, CPU_WRITE READ-WRITE access and the like are externally provided.
(2) A peripheral device emulation MODEL library dev_model_lab is built. And establishing a peripheral device function simulation framework, realizing functions such as device register, READ-WRITE access and data processing, configuring device attributes and interrupt signals, generating a peripheral device simulation model dynamic library XXX_DEV_CORE.DLL, and externally providing interfaces such as DEV_READ and DEV_WRITE READ-WRITE access.
(3) A BUS simulation MODEL library bus_model_lab is built. And establishing a BUS device simulation framework, realizing functions of device registration, message transmission, message reception, message processing and the like, generating a peripheral device simulation model dynamic library XXX_BUS_CORE.DLL, and externally providing interfaces such as BUS_SEND, BUS_RECEIVE read-write access and the like.
S12, configuring digital infrastructure
The digital infrastructure is configured according to the actual hardware environment of the embedded software to form an environment configuration file describing the model structure and the system composition structure, and the specific steps are as follows.
(1) A digitized model is configured. And carrying out structural description on the processing model, the peripheral equipment model and the bus model by adopting XML, wherein the structural description comprises information such as an input/output interface, model attributes, model types and the like, forming a configurable structural model, carrying out unified management and generating a model configuration file system_config.
(2) And configuring a digital simulation environment. The method comprises the steps of describing and configuring a digital simulation environment by adopting JSON, and generating an environment configuration file sim_case.
S13, generating an embedded software digital simulation environment
The embedded software digital simulation environment is generated by analyzing an environment configuration file sim_case. Json of the system digital simulation environment, and the method comprises the following specific steps of creating an SOC, creating a CPU, creating a DEVICE, creating a BUS and the like.
(1) An SOC is created. Analyzing the sim_case.json file, extracting computer board information in the configuration file, creating an SOC computer board model, and establishing association with the BUS.
(2) A BUS is created. Analyzing the sim_case.json file, extracting a communication bus between computer boards, creating a bus model, and establishing association with the SOC.
(3) A CPU is created. Analyzing the sim_case.json file, extracting the constituent elements in the computer board, identifying the CPU type model, creating the CPU model, and establishing the association relation with the equipment.
(4) DEVICE is created. Analyzing the sim_case.json file, extracting the constituent elements in the computer board, identifying the DEVICE type model, creating the DEVICE model, and establishing the association relation with the CPU.
The second step specifically comprises: creating embedded DevOps workflows
The digital simulation environment is added into the DevOps to form a digital embedded DevOps workflow, which mainly comprises tool chain construction and automatic scripting.
S21, constructing a tool chain. The embedded DevOps tool chain is configured, and comprises requirements management (such as tools like Jira and OnRoad), digital infrastructure configuration (such as tools like QEMU), code development (such as tools like eclipe, vcode and Git), code testing (such as tools like Cuni t), code deployment (such as tools like Jenkins), operation monitoring (such as tools like QEMU) and the like.
S22, writing an automatic script. And writing an automatic script file, driving the embedded DevOps workflow to run, and realizing automatic construction, test and deployment of the embedded software.
The third step specifically comprises: developing digital development tests
Based on the digital simulation environment and the embedded DevOps workflow, digital development test is carried out, continuous integration and automatic test of embedded software are realized, and the specific flow is as follows.
S31, code development. Code editing is carried out based on integrated development environments such as eclipse, vcode and the like, a tool chain of a target program architecture is selected for cross compiling, target codes are generated and downloaded into a digital simulation environment for debugging.
S32, code testing. And generating unit test cases based on the Cunit and other tools, injecting excitation data into the digital simulation environment, and executing the test cases.
S33, code deployment. And loading the target program which is developed and tested to a specified digital simulation platform through a Jenkins tool, and executing through an automatic execution script.
S34, operation monitoring. And monitoring the running state of the embedded software based on the digital simulation environment, and collecting running information such as code coverage rate and the like.
S35, functional iteration. And analyzing code coverage based on the digital simulation environment, performing functional iteration, and repeating the steps S31-S34 to complete continuous integration and automatic test of the embedded software.
The key points of the invention are as follows:
1. and (3) building an embedded software digital simulation environment:
traditional embedded software development depends on hardware environment to a great extent, needs to carry out software-hardware collaborative design and integrated test, is limited by the problems of strong special hardware environment specialization, poor configurability and difficult state acquisition, and cannot effectively carry out continuous integration and automatic test.
The invention carries out function simulation on hardware constituent elements of an embedded system based on a simulation technology, and comprises a processor, peripheral equipment, a bus and the like, and provides an external access interface; based on the system configuration file, an association relation between simulation models is established, a digital simulation environment which is functionally equivalent to a hardware environment is generated, and functions such as simulation operation, function test, fault simulation, state data acquisition and the like of embedded software are supported. The digital simulation environment has the characteristics of flexible configuration, high reusability, low construction cost and the like, meets the environment requirements of embedded software development and test, supports the landing of embedded DevOps, and further ensures the development efficiency and quality of the embedded software.
2. Embedded DevOps workflow design:
the digital simulation technology is creatively combined with the continuous integration and automatic test technology, the embedded software-oriented DevOps is designed, the digital infrastructure is used for replacing the embedded hardware infrastructure, tool chains of development, test, deployment, monitoring and the like are integrated, and an automatic execution script is written to form the digital embedded DevOps workflow.
The digital infrastructure is used as a key ring and is integrated into an embedded DevOps workflow, the management of a model library and a simulation environment is realized in an XML and JSON mode, and the dynamic configuration of the digital simulation environment is carried out according to the requirements. The method is characterized in that the method breaks away from hardware facilities in a host machine environment, code development, code testing, code deployment, operation monitoring and other works of embedded software are carried out based on a digital infrastructure, and automatic testing and executing scripts are written. And acquiring the results of software testing and deployment operation through the digital simulation environment, performing code coverage analysis, and performing functional iteration of software and hardware according to the code coverage result. Reconfiguring the digital infrastructure, developing and testing codes, and deploying the codes into a packaging environment for performance identification test after the code coverage meets the requirements.
The invention relates to a digital DevOps platform design method for embedded software, which has the following characteristics:
the digital simulation technology is adopted, so that the digital infrastructure oriented to the embedded software is realized, the dependence on the special hardware infrastructure is reduced, the dynamic management of the digital simulation environment is realized by adopting the configuration file, and the problem of the running environment developed by the embedded software in the host machine environment can be solved.
The design of the embedded DevOps workflow is realized by adopting continuous integration and automatic test technology, the configuration and the running state monitoring of the digital infrastructure are integrated into the workflow, the development, the test, the deployment and the monitoring of the embedded software based on the digital simulation environment are realized based on the automatic script, and the development and the test efficiency of the embedded software can be improved.
The foregoing is merely a preferred embodiment of the present invention, and it should be noted that modifications and variations could be made by those skilled in the art without departing from the technical principles of the present invention, and such modifications and variations should also be regarded as being within the scope of the invention.

Claims (10)

1. The digital DevOps platform design method for the embedded software is characterized by comprising the following steps of:
first step, constructing a digital simulation environment
Simulating a hardware running environment of the embedded software, constructing a digital simulation environment equivalent to the hardware running environment, replacing a hardware infrastructure in the embedded DevOps, and comprising: a processor, peripheral devices and bus of the embedded target machine; simulating an instruction set architecture of a processor, realizing the functions of address fetching, decoding and executing, and running target program instructions; simulating the behavior functions of peripheral equipment and buses, realizing the input, output and processing of interface data, and completing the injection of external excitation;
second step, creating embedded DevOps workflow
A flow tool for building an embedded DevOps workflow, comprising: demand management, digital infrastructure configuration, code development, code testing, code deployment and operation monitoring, and automatic construction, testing and deployment of embedded software are realized by writing an automatic script file;
third step, digital development and testing
Compiling and constructing a tool chain based on the digital simulation environment integrated embedded software, performing code iterative development, constructing and generating an executable program of a designated target platform, and downloading the target program into the digital simulation environment for running and debugging; designing and running test cases, including: the method comprises the steps of configuring external excitation data of a digital simulation environment by unit test cases and configuration item test cases, monitoring and collecting software operation information, and counting program operation coverage information.
2. The method for designing the digital DevOps platform for embedded software according to claim 1, wherein the first step specifically comprises:
s11, establishing a digital simulation model library, wherein the digital simulation model library is the simulation of hardware components of the embedded system, is the basis for realizing embedded DevOps, adopts a digital simulation technology to perform functional simulation on real hardware, establishes a virtual target machine model, and supports the on-loop running of embedded software of a corresponding architecture;
s12, configuring a digital infrastructure, namely configuring the digital infrastructure according to the actual hardware environment of the embedded software to form an environment configuration file describing a model structure and a system composition structure;
s13, generating an embedded software digital simulation environment:
and generating the digital simulation environment of the embedded software by analyzing the environment configuration file of the digital simulation environment of the system.
3. The method for designing the digital DevOps platform for embedded software according to claim 2, wherein the step S11 specifically comprises:
establishing a processor simulation MODEL library CPU_MODEL_LAB: establishing a processor simulation framework to realize the simulation of the address taking, decoding, executing and interrupt processing functions of the processor; implementing instruction set architecture simulation according to the processor type; realizing on-chip equipment function simulation of a corresponding processor, generating a processor simulation model dynamic library XXX_CPU_CORE.DLL, and externally providing CPU_READ and CPU_WRITE READ-WRITE access interfaces;
establishing a peripheral device simulation MODEL library DEV_MODEL_LAB: establishing a peripheral equipment function simulation framework, realizing equipment register, READ-WRITE access and data processing functions, configuring equipment attribute and interrupt signals, generating a peripheral equipment simulation model dynamic library XXX_DEV_CORE.DLL, and externally providing DEV_READ and DEV_WRITE READ-WRITE access interfaces;
establishing a BUS simulation MODEL library BUS_MODEL_LAB: and establishing a BUS device simulation framework, realizing the functions of device registration, message transmission, message reception and message processing, generating a peripheral device simulation model dynamic library XXX_BUS_CORE.DLL, and externally providing BUS_SEND and BUS_RECEIVE read-write access interfaces.
4. The method for designing the digital DevOps platform for embedded software according to claim 2, wherein the step S12 specifically comprises:
configuring a digital model: the method adopts XML to carry out structural description on a processing model, a peripheral equipment model and a bus model, and comprises the following steps: the method comprises the steps of inputting and outputting an interface, model attributes and model type information, forming a configurable structured model, carrying out unified management, and generating a model configuration file system_config.
Configuring a digital simulation environment: the method comprises the steps of describing and configuring a digital simulation environment by adopting JSON, and generating an environment configuration file sim_case.
5. The method for designing the digital DevOps platform for embedded software according to claim 2, wherein the step S13 specifically comprises:
creating an SOC: analyzing the sim_case.json file, extracting computer board information in the configuration file, creating an SOC computer board model, and establishing association with the BUS;
creating BUS: analyzing the sim_case.json file, extracting a communication bus between computer boards, creating a bus model, and establishing association with the SOC;
creating a CPU: analyzing the sim_case.json file, extracting constituent elements in the computer board, identifying a CPU type model, creating a CPU model, and establishing an association relationship with equipment;
creating a DEVICE: analyzing the sim_case.json file, extracting the constituent elements in the computer board, identifying the DEVICE type model, creating the DEVICE model, and establishing the association relation with the CPU.
6. The method for designing a digital DevOps platform for embedded software according to any one of claims 2-5, wherein the second step specifically comprises:
s21, tool chain construction: configuring an embedded DevOps tool chain comprising: demand management, digital infrastructure configuration, code development, code testing, code deployment and operational monitoring;
s22, writing an automatic script: and writing an automatic script file, driving the embedded DevOps workflow to run, and realizing automatic construction, test and deployment of the embedded software.
7. The method for designing a digital DevOps platform for embedded software according to claim 6, wherein the demand management tool comprises: jira and OnRoad, the digital infrastructure configuration tool includes: QEMU, code development tool includes: eclispe, vscode and Git, the code test tool comprises: cunit, code deployment tool includes: jenkins, the operation monitoring tool includes: QEMU.
8. The method for designing the digital DevOps platform for embedded software according to claim 6, wherein the third step specifically comprises:
s31, code development: code editing is carried out based on a Eclipse, vscode integrated development environment, a tool chain of a target program architecture is selected for cross compiling, target codes are generated and downloaded into a digital simulation environment for debugging;
s32, code testing: generating a unit test case based on the Cunit tool, injecting excitation data into the digital simulation environment and executing the test case;
s33, code deployment: loading the target program which passes development and test to a specified digital simulation platform through a Jenkins tool, and executing through an automatic execution script;
s34, operation monitoring: monitoring the running state of embedded software based on a digital simulation environment, and collecting code coverage rate information;
s35, functional iteration: and analyzing code coverage based on the digital simulation environment, performing functional iteration, and repeating the steps S31-S34 to complete continuous integration and automatic test of the embedded software.
9. The method for designing the digital DevOps platform for the embedded software according to claim 8, wherein the digital infrastructure is integrated into the workflow of the embedded DevOps as a key ring, and the management of the model library and the simulation environment is realized in the modes of XML and JSON, so that the dynamic configuration of the digital simulation environment is performed according to the requirement.
10. The embedded software-oriented digital DevOps platform design method of claim 8, wherein the results of software testing and deployment operation are collected through a digital simulation environment, code coverage analysis is performed, and functional iteration of software and hardware is performed according to the code coverage results; reconfiguring the digital infrastructure, developing and testing codes, and deploying the codes into a packaging environment for performance identification test after the code coverage meets the requirements.
CN202310462913.4A 2023-04-26 2023-04-26 Digital DevOps platform design method for embedded software Active CN116431103B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310462913.4A CN116431103B (en) 2023-04-26 2023-04-26 Digital DevOps platform design method for embedded software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310462913.4A CN116431103B (en) 2023-04-26 2023-04-26 Digital DevOps platform design method for embedded software

Publications (2)

Publication Number Publication Date
CN116431103A true CN116431103A (en) 2023-07-14
CN116431103B CN116431103B (en) 2023-09-26

Family

ID=87094346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310462913.4A Active CN116431103B (en) 2023-04-26 2023-04-26 Digital DevOps platform design method for embedded software

Country Status (1)

Country Link
CN (1) CN116431103B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860324A (en) * 2023-09-01 2023-10-10 深圳代码兄弟技术有限公司 Development data processing method, development data processing apparatus, and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926109A (en) * 2021-03-30 2021-06-08 北京计算机技术及应用研究所 Visual modeling method for virtual operating environment of complex embedded system
CN113221318A (en) * 2021-03-30 2021-08-06 北京计算机技术及应用研究所 DDS-based system-level simulation test environment construction method
WO2022110435A1 (en) * 2020-11-27 2022-06-02 中国电力科学研究院有限公司 Method, system and device for constructing power service simulation environment, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022110435A1 (en) * 2020-11-27 2022-06-02 中国电力科学研究院有限公司 Method, system and device for constructing power service simulation environment, and storage medium
CN112926109A (en) * 2021-03-30 2021-06-08 北京计算机技术及应用研究所 Visual modeling method for virtual operating environment of complex embedded system
CN113221318A (en) * 2021-03-30 2021-08-06 北京计算机技术及应用研究所 DDS-based system-level simulation test environment construction method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
TSG T CHAIRMAN: "PCG7_17 "Development and deployment of TTCN tests for 3GPP terminals"", 3GPP PCG\\PCG_07 *
王帅;杜刚;杨超;: "国产平台的机载嵌入式软件仿真验证技术", 单片机与嵌入式系统应用, no. 02 *
芦彩林;丁刚毅;: "嵌入式软件全数字仿真测试环境设计", 计算机仿真, no. 01 *
颜运强;刘志;高峰;陈泉根;: "嵌入式软件全数字仿真测试技术研究与应用", 西南科技大学学报, no. 03 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860324A (en) * 2023-09-01 2023-10-10 深圳代码兄弟技术有限公司 Development data processing method, development data processing apparatus, and readable storage medium
CN116860324B (en) * 2023-09-01 2023-12-05 深圳代码兄弟技术有限公司 Development data processing method, development data processing apparatus, and readable storage medium

Also Published As

Publication number Publication date
CN116431103B (en) 2023-09-26

Similar Documents

Publication Publication Date Title
CN113312879B (en) Chip circuit function verification system, method, device and storage medium
US10209962B2 (en) Reconstructing a high level compilable program from an instruction trace
Bringmann et al. Model-based testing of automotive systems
CN113961453B (en) Full-digital simulation test system for airborne software
CN111859834B (en) UVM-based verification platform development method, system, terminal and storage medium
CN116431103B (en) Digital DevOps platform design method for embedded software
CN115563019A (en) UVM and C combined verification method and system
Raghavan et al. Model based estimation and verification of mobile device performance
US9690681B1 (en) Method and system for automatically generating executable system-level tests
Perrotin et al. TASTE: An open-source tool-chain for embedded system and software development
US20060112397A1 (en) Cross-architecture software development
CN111142861B (en) Method and device for integrating structured comprehensive control system
Ericsson et al. Challenges from research to deployment of industrial distributed control systems
CN116340150A (en) Reusable register performance interactive verification system based on UVM and application thereof
CN115952044A (en) Automatic testing method and device
Alam et al. Open-source chip design in academic education
Kim Test driven mobile applications development
CN115577673A (en) Efficient verification method for 5G baseband chip system pin
CN101876936A (en) Service test method
CN111338761B (en) 51 single-chip microcomputer virtual interrupt controller and implementation method
JP5056493B2 (en) Virtual software generator
Willems et al. Virtual prototypes for software-dominated communication system designs
Tang et al. Research and implementation of an automatic simulation tool
CN105335289A (en) Rapid customization method of configuration driven testing platform software system
Mannadiar et al. Modular artifact synthesis from domain-specific models

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