CN110806891B - Method and device for generating software version of embedded device - Google Patents

Method and device for generating software version of embedded device Download PDF

Info

Publication number
CN110806891B
CN110806891B CN201910924364.1A CN201910924364A CN110806891B CN 110806891 B CN110806891 B CN 110806891B CN 201910924364 A CN201910924364 A CN 201910924364A CN 110806891 B CN110806891 B CN 110806891B
Authority
CN
China
Prior art keywords
software
version
module
generated
generation
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.)
Active
Application number
CN201910924364.1A
Other languages
Chinese (zh)
Other versions
CN110806891A (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.)
722th Research Institute of CSIC
Original Assignee
722th Research Institute of CSIC
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 722th Research Institute of CSIC filed Critical 722th Research Institute of CSIC
Priority to CN201910924364.1A priority Critical patent/CN110806891B/en
Publication of CN110806891A publication Critical patent/CN110806891A/en
Application granted granted Critical
Publication of CN110806891B publication Critical patent/CN110806891B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Abstract

The invention discloses a method and a device for generating a software version of embedded equipment, and belongs to the field of software versions. The method comprises the following steps: receiving a software version generation instruction, wherein the software version generation instruction comprises at least one identifier of a software platform object to be generated, the software platforms corresponding to different software platform objects depend on different software version generation environments, the software platform objects comprise generation rule files and a plurality of software modules, the generation rule files are used for describing software version generation rules of corresponding software platforms, and different software modules in the same software platform object correspond to different application services of the affiliated software platform; determining a software platform object to be generated from a plurality of stored software platform objects in response to the software version generation instruction; and generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module, wherein the software version package comprises software versions of the software platforms corresponding to the software platform objects to be generated.

Description

Method and device for generating software version of embedded device
Technical Field
The present invention relates to the field of software versions, and in particular, to a method and an apparatus for generating a software version of an embedded device.
Background
The embedded device software version refers to a differentiated software product which supports the basic operation of a specific hardware platform, contains a plurality of application functions, meets different use requirements of different users and is required by the evolution of the software product, and is usually directly installed and operated on the embedded device as a factory software package. The functionality of the embedded device is implemented by a software version installed on an embedded hardware board that includes hundreds of individual binary files from an operating system kernel, call libraries, file systems to application software, etc. The method for generating the software version of the embedded device is usually generated by adopting a mode of manually manufacturing and packaging.
In carrying out the invention, the inventors have found that the prior art has at least the following problems:
since the software version of the embedded device includes hundreds of independent binary files, the number of source files required by the software version is relatively large, the maintenance workload of the software version is very large, and the same embedded device generally includes a plurality of hardware platforms (such as ARM (Advanced RISC Machines, a processor architecture of advanced RISC (Reduced Instruction Set Computing, reduced instruction set computing)), POWERPC (Performance Optimization With Enhanced RISC-Performance Computing, a processor architecture of enhanced RISC) to optimize computing performance, MIPS (Microprocessor without Interlocked Piped Stages Architecture, a processor architecture of RISC) and the like), the software version applicable by different hardware platforms may be generated in different manners, and the software version is cumbersome and error-prone during manual production, and consumes a great deal of development and test resources.
Disclosure of Invention
The embodiment of the invention provides a method and a device for generating an embedded equipment software version, which can reduce maintenance workload and save a large amount of research, development and test resources. The technical scheme is as follows:
in one aspect, a method for generating an embedded device software version is provided, where the method for generating the embedded device software version includes:
receiving an embedded equipment software version generation instruction, wherein the embedded equipment software version generation instruction comprises at least one identifier of a to-be-generated software platform object, the software platforms corresponding to different software platform objects depend on different software version generation environments, the software platform object comprises a generation rule file and a plurality of software modules, the generation rule file is used for describing a software version generation rule of a corresponding software platform, different software modules in the same software platform object correspond to different application services of the software platform to which the software modules belong, and the software modules comprise software codes or storage addresses of the software codes;
determining the software platform object to be generated from a plurality of stored software platform objects in response to the software version generation indication;
And generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module, wherein the software version package comprises software versions of the software platforms corresponding to the software platform objects to be generated.
Optionally, the generating a software version package based on the determined generation rule file of the to-be-generated software platform object and the corresponding software module includes:
acquiring the determined software codes of the corresponding software modules in the to-be-generated software platform object, and acquiring the software codes of the corresponding software modules from the storage addresses of the software modules comprising the software codes when the determined corresponding software modules in the to-be-generated software platform object comprise the storage addresses of the software codes;
generating corresponding binary files according to the determined software codes of the corresponding software modules in the software platform object to be generated and the software version generation rules described by the generation rule files;
and obtaining the software version package based on each binary file.
Optionally, the software version generation indication further comprises an identification of a software module list of the software platform object to be generated, the identification of the software module of at least one of the software platform objects to be generated is recorded in the software module list,
The generating the corresponding binary file according to the software version generating rule described by the generating rule file by the software code of the corresponding software module in the software platform object to be generated, which is to be determined, comprises the following steps:
determining a software module recorded by a software module list from all the determined software modules in the software platform object to be generated;
and generating corresponding binary files according to the software codes of the software modules recorded in the determined software module list and the software version generation rules described by the generation rule files.
Optionally, the obtaining the software version package based on each binary file includes:
determining the identification of a target software module;
when the determined software module recorded by the software module is the target software module, generating a check code file of the target software module based on the binary file of the target software module, wherein the check code file of the target software module records an integrity check code of the binary file of the target software module;
the software version package is obtained based on the binary files of the software modules except the target software module, the binary files of the target software module and the check code files of the target software module.
Optionally, the software version generation indication further comprises an identifier of the embedded device to which the software version package belongs;
the generating method further comprises the following steps:
and generating a version number of the software version package based on the identification of the embedded device to which the software version package belongs.
On the other hand, a generation device of an embedded device software version is provided, and the generation device of the software version comprises:
the software platform comprises a plurality of software platform objects, wherein the software platforms corresponding to different software platform objects depend on different software version generation environments, the software platform objects comprise generation rule files and a plurality of software modules, the generation rule files are used for describing software version generation rules of corresponding software platforms, different software modules in the same software platform object correspond to different application services of the software platform, and the software modules comprise software codes or storage addresses of the software codes;
the management module is used for receiving a software version generation instruction, the software version generation instruction comprises an identification of at least one software platform object to be generated, the software version generation instruction is responded, the software platform object to be generated is determined from the plurality of software platform objects, and a software version package is generated based on the determined generation rule file of the software platform object to be generated and a corresponding software module, and the software version package comprises the software version of the software platform corresponding to each software platform object to be generated.
Optionally, the management module is configured to,
acquiring the determined software codes of the corresponding software modules in the to-be-generated software platform object, and acquiring the software codes of the corresponding software modules from the storage addresses of the software modules comprising the software codes when the determined corresponding software modules in the to-be-generated software platform object comprise the storage addresses of the software codes;
generating corresponding binary files according to the determined software codes of the corresponding software modules in the software platform object to be generated and the software version generation rules described by the generation rule files;
and obtaining the software version package based on each binary file.
Optionally, the software version generation indication further comprises an identification of a software module list of the software platform object to be generated, the identification of the software module of at least one of the software platform objects to be generated is recorded in the software module list,
the management module is used for the management of the mobile communication terminal,
determining a software module recorded by a software module list from all the determined software modules in the software platform object to be generated;
and generating corresponding binary files according to the software codes of the software modules recorded in the determined software module list and the software version generation rules described by the generation rule files.
Optionally, the management module is configured to,
determining the identification of a target software module;
when the determined software module recorded by the software module is the target software module, generating a check code file of the target software module based on the binary file of the target software module, wherein the check code file of the target software module records an integrity check code of the binary file of the target software module;
the software version package is obtained based on the binary files of the software modules except the target software module, the binary files of the target software module and the check code files of the target software module.
Optionally, the software version generation indication further comprises an identifier of the embedded device to which the software version package belongs;
the management module is also used for the management of the data,
and generating a version number of the software version package based on the identification of the embedded device to which the software version package belongs.
The technical scheme provided by the embodiment of the invention has the beneficial effects that:
the method comprises the steps that a plurality of software platform objects are established in advance, the software platforms corresponding to different software platform objects depend on different software version generation environments, the software platform objects comprise generation rule files and a plurality of software modules, the generation rule files are used for describing software version generation rules of corresponding software platforms, different software modules in the same software platform object correspond to different application services of the software platform to which the software modules belong, and the software modules comprise software codes or storage addresses of the software codes; after receiving the software version generation instruction, determining a software platform object to be generated from a plurality of stored software platform objects in response to the software version generation instruction; then generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module; therefore, only the software platform required by the embedded equipment is determined, the software version package required by the embedded equipment can be generated by adopting the generation method, and the generation method provides a unified software version generation mode for various embedded equipment and has higher generation efficiency; meanwhile, the staff only needs to maintain a plurality of software platform objects, so that the maintenance workload is small, and a large amount of research, development and test resources are saved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 and fig. 2 are flowcharts of a method for generating a software version of an embedded device according to an embodiment of the present invention;
fig. 3 and fig. 4 are block diagrams of a device for generating a software version of an embedded device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the embodiments of the present invention will be described in further detail with reference to the accompanying drawings.
It should be noted that, in the embodiment of the present invention, the embedded device may refer to a communication device such as a switch and a router. The embedded device includes at least one software platform. A software platform contains a series of auxiliary tools for a particular chip to help a developer write programs on the software platform that create what the platform can run. In an embodiment, the software platform refers to a chip platform such as ARM, POWERPC, MIPS, which depends on the hardware platform (chip) of the embedded device, that is, after the hardware platform of the embedded device is determined, the required software platform is determined.
Further, in this embodiment, "a plurality" means two or more.
Fig. 1 is a flowchart of a method for generating a software version of an embedded device according to an embodiment of the present invention. Referring to fig. 1, the method flow includes the following steps.
Step 101, receiving a software version generation instruction.
Wherein the software version generation indication comprises an identification of at least one software platform object to be generated. The software platforms corresponding to different software platform objects depend on different software version generation environments. The software platform object includes a generation rule file, and a plurality of software modules. The generation rule file is used for describing the software version generation rule of the corresponding software platform. Different software modules in the same software platform object correspond to different application services of the affiliated software platform. The software module includes software code or a memory address of the software code.
Further, the software module may also include a software dependent library or a memory address of the software dependent library. For example, the software dependency library may be an open source XML library (libxml 2) corresponding to any software module that requires reading and writing XML (Extensible Markup Language ) files.
It should be noted that the content of the software module is not limited in the embodiment of the present invention, and the software module includes all relevant content for running a certain application function.
Step 102, determining a software platform object to be generated from a plurality of stored software platform objects in response to the software version generation instruction.
Step 103, generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module.
The software version package comprises software versions of software platforms corresponding to the software platform objects to be generated.
In this embodiment, by presetting a plurality of software platform objects, the software platforms corresponding to different software platform objects depend on different software version generating environments, the software platform objects include generating rule files and a plurality of software modules, the generating rule files are used for describing software version generating rules of corresponding software platforms, different software modules in the same software platform object correspond to different application services of the software platform to which the software modules belong, and the software modules include software codes or storage addresses of the software codes; after receiving the software version generation instruction, determining a software platform object to be generated from a plurality of stored software platform objects in response to the software version generation instruction; then generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module; therefore, only the software platform required by the embedded equipment is determined, the software version package required by the embedded equipment can be generated by adopting the generation method, and the generation method provides a unified software version generation mode for various embedded equipment, has wide adaptability and higher generation efficiency; the staff only needs to maintain a plurality of software platform objects, the maintenance workload is less, and a large amount of research, development and test resources are saved.
Fig. 2 is a flowchart of a method for generating a software version of an embedded device according to an embodiment of the present invention. Referring to fig. 2, the method flow includes the following steps.
Step 201, based on each embedded device, a plurality of software platform objects are established.
Step 201 may include the following steps.
First, a desired software platform is determined based on each embedded device.
The software version loaded by the embedded device is generally considered to include: and the operating system kernels, the basic file systems, the application layer software and other binary images corresponding to the main chips. Then, the software platform required for the embedded device may be divided based on the type of software platform for which the chip is adapted.
And secondly, determining a software version generation environment of each software platform based on the determined required software platform, and formulating a generation rule file based on the software version generation environment of the software platform.
Binary file generation methods constituting software versions loaded in embedded devices are different: there are compilations generated from cross-compilation tools (e.g., operating system kernel, part of the application layer software), there are script programs that directly interpret the run at run-time without requiring compilation directly packed into a file system, there are images generated from proprietary IDE (Intergrated Development Environment, compilation environment) (FPGA logical image files), etc. Then, the generation rule file may be formulated based on the difference in the generation method. Illustratively, for an operating system kernel, a portion of application layer software, etc., the software version generation environment is a cross-compilation tool compilation environment; for script programs that do not require compilation, the software version generation environment is a packaging tool. That is, a generation rule file (ConfigA) is used to describe software version generation rules of the corresponding software platform.
The generation rule file describes the compiling environment according to the compiling requirement of the corresponding software platform, for example, for an embedded general CPU platform, the generation rule file needs to contain information such as cross compiling environment, header file, link library and the like on which the Makefile compiling file depends. As another example, in most cases, the software dependent libraries are generated by directly packaging the software dependent libraries.
Then, based on the determined required software platforms, the software modules under each software platform are determined.
Different software modules in the same software platform object correspond to different application services of the affiliated software platform. Different software modules in the same software platform object may include different content. For example, assume that software platform object 1 includes software modules Module1-1, module1-2, module1-3, module1-4, module1-5, and Module1-6.Module1-1 includes software code, module1-2 includes memory addresses of the software code, module1-3 includes software code and a software dependency library, module1-4 includes memory addresses of the software code and the software dependency library, module1-5 includes memory addresses of the software code and memory addresses of the software dependency library, and Module1-6 includes memory addresses of the software code and the software dependency library.
The software codes corresponding to the two software modules respectively belonging to the different software platform objects may be the same, or the software dependency libraries corresponding to the two software modules respectively belonging to the different software platform objects may be the same, or the software codes corresponding to the two software modules respectively belonging to the different software platform objects and the software dependency libraries may be the same. In this case, different software platform objects can share the same software module, and only the ConfigA content is modified to complete rapid cross-platform migration, so that the platform independence of the method is reflected.
The source mode of the software code is not limited in this embodiment, and may be extracted from a SVN (centralized version control system)/GIT (distributed version control system) library or decompressed from a compressed package. For example, for a GIT, the software code is often stored in a plurality of hosts in a decentralized manner, and at this time, the software module may be set to include a storage address of the software code, and the corresponding software code is extracted online.
In actual execution, in order to achieve the purpose of automatically configuring the compiling environment, all software modules under the same software platform are configured with a compiling control script, wherein the compiling control script can be a Makefile, and the compiling control script can call (include) the ConfigA, so that the ConfigA can be directly operated through the compiling control script when the software modules are compiled.
And finally, obtaining each software platform object based on the generation rule file of each software platform and the software modules under each software platform.
Specifically, an identifier may be assigned to each software platform, and a directory may be established for the identifier of each software platform. Listing under the identified catalog of the same software platform the identified catalog of all potentially needed software modules: module1-1, module1-2 … …, the identities of these software modules correspond to the complete software code, and software dependency library, respectively.
Under the directory of the identifier of each software module, the compiling control script for the module, usually a Makefile, is contained, and as before, the compiling control script for the module can quickly construct a cross compiling environment through an include ConfigA, and can accurately contain header files and link library information necessary for cross compiling. These compilation control scripts support both independent compilation and overall compilation.
Thus, each software platform object is established and completed, and the software platforms corresponding to different software platform objects depend on different software version generation environments. The software platform object includes a generation rule file, and a plurality of software modules. The software module includes software code or a memory address of the software code.
Step 202, a management module is established.
The management module may be implemented by a configuration file (ConfigC).
In actual execution, one ConfigC, configC may be written in any scripting language, for example, bash Shell may be used, which may accept a parameter control compiling manner input by a user, or may selectively compile all software modules or selectively compile a specific module.
Step 203, receiving a software version generation instruction.
When a software version of the embedded equipment is generated, firstly determining the identification of a software platform required by the embedded equipment and a corresponding software platform object; and then issues a software version generation indication to the management module. Wherein the software version generation indication comprises an identification of at least one software platform object to be generated.
Illustratively, the software version generation indication further comprises an identification of a list of software modules of the software platform object to be generated, in which an identification of the software module of the at least one software platform object to be generated is recorded.
In step 201, a configuration file (ConfigB) may also be added under the identified directory of the same software platform, where ConfigB is used to describe a list of software modules that generate a certain custom version, and only the software modules that appear in the list are compiled. ConfigB is written in any scripting language, for example, bash Shell script can be used for catalog listing, and Source introduction mode is used for ConfigC calling. It should be noted that, because of the dependency relationships between specific software modules, configB also needs to determine the order of generation of each software module in the software module list according to the dependency relationships, for example, dynamic link library code that needs to be compiled and generated preferentially, and generally needs to be prioritized over other application code modules.
Illustratively, the software version generation indication further comprises an identification of the embedded device to which the software version package belongs.
The management module receives the software version generation indication.
Step 204, determining a software platform object to be generated from the stored plurality of software platform objects in response to the software version generation indication.
The management module determines a software platform object to be generated from the stored plurality of software platform objects.
Step 205, obtaining the software codes of the corresponding software modules in the determined software platform object to be generated.
And when the corresponding software module in the determined software platform object to be generated comprises the storage address of the software code, the software code of the corresponding software module is acquired from the storage address of the software module comprising the software code.
Optionally, step 205 may further include: and acquiring a software dependency library of the corresponding software module in the determined software platform object to be generated.
Step 206, generating corresponding binary files according to the software version generation rules described by the belonging generation rule files by the determined software codes of the corresponding software modules in the software platform object to be generated.
When the software version generation indication comprises an identification of at least one software platform object to be generated, and an identification of a list of software modules of the software platform object to be generated, step 206 may comprise the following steps.
The first step is to determine the software module recorded by the software module list from all the determined software modules in the software platform object to be generated.
And secondly, generating a corresponding binary file according to the software version generation rule described by the generation rule file.
As before, the software module list (ConfigB) also notes the order of generation of the software modules, and the first step may include: and determining the software modules recorded in the software module list and the sequence of the recorded software modules from all the determined software modules in the software platform object to be generated.
Accordingly, the second step may include: and generating corresponding binary files according to the determined software codes of the software modules recorded by the software module list, the sequence of the software modules recorded by the software module list and the software version generation rules described by the generation rule files.
Accordingly, step 206 may further include a third step of: and packaging the software dependency library of the software module recorded by the determined software module list to obtain a software dependency library file.
Step 207, obtaining a software version package based on each binary file.
Illustratively, step 207 may include the following steps.
Step 207a, determining the identity of the target software module.
Step 207b, detecting whether the software module recorded by the determined software module is the target software module. And when the determined software module recorded by the software module is the target software module, generating a check code file of the target software module based on the binary file of the target software module, wherein the check code file of the target software module records the integrity check code of the binary file of the target software module.
The integrity check code may be MD5. MD5 is calculated for the binary generation file of the particular critical software module. The MD5 file is used for integrity verification, and is converged into a final software version for the system to perform self-checking of MD5.
Step 207c obtains a software version package based on the binary files of the software modules other than the target software module, the binary files of the target software module, and the check code files of the target software module.
In step 207c, a software version package is obtained based on each binary file, the software dependency library file, and the check code file of the target software module.
After the complete compiling process, the ConfigC control generates a software version package, such as a kernel image file, a file system image containing customized software modules, from all binary files according to the hardware platform requirements.
The steps 205-207 realize that the software version package is generated based on the determined generation rule file of the software platform object to be generated and the corresponding software module. The software version package comprises software versions of software platforms corresponding to the software platform objects to be generated.
When the software version generation indication further includes an identification of the embedded device to which the software version package belongs, the method flow further includes step 208.
Step 208, based on the identification of the embedded device to which the software version package belongs, a version number of the software version package is generated.
ConfigC can configure the version number of the generated software version. In particular, the modified version number is edited at a specific location in the ConfigC, which will be packaged in text files into the graphical display application, and finally integrated into the software version package. For example, assuming that the identity of a particular hardware device is DeviceX, its version number may be "DeviceX-2.1.0.56," which is ultimately presented in the graphical interface of the device. The generation of the version number in the embodiment of the present invention is not limited to this example.
Step 209, editing, deleting or adding the software platform object.
For editing operations, it may be to modify ConfigA in the established software platform object, to modify software code included in the software modules in the established software platform object, or to add or delete software modules in the established software platform object, etc.
For add operations, a new software platform object may be established. As before, the software modules in the two software platform objects may comprise the same software code, in which case cross-platform migration (adding new software platform objects) can be achieved by modifying the ConfigA.
In the embodiment of the invention, cross-platform migration can be realized by modifying ConfigA, selectable preparation and compiling of the software module can be realized by modifying ConfigB, version evolution and total entry can be realized by modifying ConfigC, platform independence can be realized comprehensively, and software version compiling generation can be simply and flexibly completed.
Fig. 3 is a block diagram of a software version generation apparatus of an embedded device according to an embodiment of the present invention, and referring to fig. 3, the software version generation apparatus 100 includes a plurality of software platform objects 31 and a management module 32.
The software platform object 31 comprises a generation rule file and a plurality of software modules 31a, the generation rule file is used for describing a software version generation rule of a corresponding software platform, different software modules 31a in the same software platform object 31 correspond to different application services of the software platform, and the software modules 31a comprise software codes or storage addresses of the software codes.
The management module 32 is configured to receive a software version generation instruction, where the software version generation instruction includes an identifier of at least one software platform object to be generated, determine, in response to the software version generation instruction, a software platform object to be generated from the plurality of software platform objects 31, and generate a software version package based on the determined generation rule file of the software platform object to be generated and a corresponding software module, where the software version package includes software versions of software platforms corresponding to the software platform objects to be generated.
Referring to fig. 3, assume that the software version generating apparatus 100 includes m software platform objects, and that the 1 st software platform object includes N1 software modules (Module 1-1, module1-2 … …) including a rule file of ConfigA1; the 2 nd software platform object comprises N2 software modules (Module 2-1, module2-2 … …) comprising rule files ConfigA2, …, and the mth software platform object comprises Nm software modules (Module m-1, module m-2 … …) comprising rule files ConfigAm.
Illustratively, the management module 32 is configured to obtain the software code of the corresponding software module in the determined software platform object to be generated, and when the corresponding software module in the determined software platform object to be generated includes the storage address of the software code, the software code of the corresponding software module is obtained from the storage address where the software module includes the software code; generating a corresponding binary file according to the software version generation rule described by the generation rule file and the software code of the corresponding software module in the determined software platform object to be generated; and obtaining a software version package based on each binary file.
Illustratively, the software version generation indication further comprises a list of software modules of the software platform object to be generated, in which list an identification of the software modules of the at least one software platform object to be generated is recorded.
Accordingly, the management module 32 is configured to determine a software module recorded in the software module list from all the determined software modules in the software platform object to be generated; and generating corresponding binary files according to the software codes of the software modules recorded in the determined software module list and the software version generation rules described by the generation rule files.
Illustratively, the management module 32 is configured to determine an identity of the target software module; when the determined software module recorded by the software module is the target software module, generating a check code file of the target software module based on the binary file of the target software module, wherein the check code file of the target software module records the integrity check code of the binary file of the target software module; the software version package is obtained based on the binary files of the software modules except the target software module, the binary files of the target software module and the check code files of the target software module.
Illustratively, the software version generation indication further comprises an identification of the embedded device to which the software version package belongs.
Accordingly, the management module 32 is further configured to generate a version number of the software version package based on the identifier of the embedded device to which the software version package belongs.
In this embodiment, by setting a plurality of software platform objects, the software platforms corresponding to different software platform objects depend on different software version generating environments, the software platform objects include generating rule files and a plurality of software modules, the generating rule files are used for describing software version generating rules of corresponding software platforms, and different software modules in the same software platform object correspond to different application services of the software platform to which the software modules belong, and the software modules include software codes; after receiving the software version generation instruction, determining a software platform object to be generated from a plurality of stored software platform objects in response to the software version generation instruction; then generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module; therefore, only the software platform required by the embedded equipment is determined, the software version package required by the embedded equipment can be generated by adopting the generation method, and the generation method provides a unified software version generation mode for various embedded equipment and has higher generation efficiency; the staff only needs to maintain a plurality of software platform objects, the maintenance workload is less, and a large amount of research, development and test resources are saved.
Fig. 4 is a block diagram of an apparatus 300 for generating a software version of an embedded device according to an embodiment of the present invention. The generating means 300 may be a computer. The computer includes a Central Processing Unit (CPU) 301, a system memory 304 including a Random Access Memory (RAM) 302 and a Read Only Memory (ROM) 303, and a system bus 305 connecting the system memory 304 and the central processing unit 301. The computer also includes a basic input/output system (I/O system) 306, which facilitates the transfer of information between the various devices within the computer, and a mass storage device 307 for storing an operating system 313, application programs 314, and other program modules 315.
The basic input/output system 306 includes a display 308 for displaying information and an input device 309, such as a mouse, keyboard, etc., for user input of information. Wherein both the display 308 and the input device 309 are coupled to the central processing unit 301 via an input output controller 310 coupled to the system bus 305. The basic input/output system 306 may also include an input/output controller 310 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input output controller 310 also provides output to a display screen, a printer, or other type of output device.
The mass storage device 307 is connected to the central processing unit 301 through a mass storage controller (not shown) connected to the system bus 305. The mass storage device 307 and its associated computer-readable media provide non-volatile storage for the computer. That is, the mass storage device 307 may include a computer readable medium (not shown) such as a hard disk or CD-ROM drive.
Computer readable media may include computer storage media and communication media without loss of generality. Computer storage 13 media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will recognize that computer storage media are not limited to the ones described above. The system memory 304 and mass storage device 307 described above may be collectively referred to as memory.
According to various embodiments of the invention, the computer may also operate by being connected to a remote computer on a network, such as the Internet. I.e., the computer may be connected to the network 312 through a network interface unit 311 coupled to the system bus 305, or other types of networks or remote computer systems (not shown) may be coupled to the computer using the network interface unit 311.
The memory also includes one or more programs, one or more programs stored in the memory and configured to be executed by the CPU. The one or more programs include instructions for performing the method for generating a software version provided by the embodiments of the present invention.
It should be noted that: the software version generating apparatus provided in the above embodiment only illustrates the division of each functional module when generating the software version, and in practical application, the above functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the device for generating a software version provided in the above embodiment and the method embodiment for generating a software version belong to the same concept, and detailed implementation processes of the device are shown in the method embodiment, which is not repeated here.
The foregoing description of the preferred embodiments of the invention is not intended to limit the invention to the precise form disclosed, and any such modifications, equivalents, and alternatives falling within the spirit and scope of the invention are intended to be included within the scope of the invention.

Claims (10)

1. The method for generating the embedded equipment software version is characterized by comprising the following steps of:
receiving a software version generation instruction, wherein the software version generation instruction comprises at least one identifier of a software platform object to be generated, and software platforms corresponding to different software platform objects depend on different software version generation environments, the software version generation environments comprise cross-compiling tool compiling environments and packaging tool environments, the cross-compiling tool compiling environments are used for the conditions needing compiling, and the packaging tool environments are used for the conditions needing no compiling; the software platform object comprises a generation rule file and a plurality of software modules, wherein the generation rule file is used for describing a software version generation rule of a corresponding software platform and is formulated according to a software version generation environment of the corresponding software platform, different software modules in the same software platform object correspond to different application services of the corresponding software platform, and the software modules comprise software codes or storage addresses of the software codes;
determining the software platform object to be generated from a plurality of stored software platform objects in response to the software version generation indication;
And generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module, wherein the software version package comprises software versions of the software platforms corresponding to the software platform objects to be generated.
2. The method for generating a software version of an embedded device according to claim 1, wherein generating a software version package based on the determined generation rule file of the software platform object to be generated and the corresponding software module comprises:
acquiring the determined software codes of the corresponding software modules in the to-be-generated software platform object, and acquiring the software codes of the corresponding software modules from the storage addresses of the software modules comprising the software codes when the determined corresponding software modules in the to-be-generated software platform object comprise the storage addresses of the software codes;
generating corresponding binary files according to the determined software codes of the corresponding software modules in the software platform object to be generated and the software version generation rules described by the generation rule files;
and obtaining the software version package based on each binary file.
3. The method of claim 2, wherein the software version generation indication further comprises an identification of a software module list of the software platform object to be generated, the identification of the software module of at least one of the software platform objects to be generated is recorded in the software module list,
The generating the corresponding binary file according to the software version generating rule described by the generating rule file by the software code of the corresponding software module in the software platform object to be generated, which is to be determined, comprises the following steps:
determining a software module recorded by a software module list from all the determined software modules in the software platform object to be generated;
and generating corresponding binary files according to the software codes of the software modules recorded in the determined software module list and the software version generation rules described by the generation rule files.
4. The method for generating a software version of an embedded device according to claim 3, wherein said obtaining the software version package based on each of the binary files includes:
determining the identification of a target software module;
when the determined software module recorded by the software module list is the target software module, generating a check code file of the target software module based on the binary file of the target software module, wherein the check code file of the target software module records an integrity check code of the binary file of the target software module;
the software version package is obtained based on the binary files of the software modules except the target software module, the binary files of the target software module and the check code files of the target software module.
5. The method for generating a software version of an embedded device according to any one of claims 1 to 4, wherein the software version generation indication further includes an identifier of the embedded device to which the software version package belongs;
the generating method further comprises the following steps:
and generating a version number of the software version package based on the identification of the embedded device to which the software version package belongs.
6. An apparatus for generating an embedded device software version, wherein the apparatus for generating an embedded device software version comprises:
the system comprises a plurality of software platform objects, wherein the software platforms corresponding to different software platform objects depend on different software version generation environments, the software version generation environments comprise cross-compiling tool compiling environments and packaging tool environments, the cross-compiling tool compiling environments are used for the condition needing compiling, and the packaging tool environments are used for the condition needing not compiling; the software platform object comprises a generation rule file and a plurality of software modules, wherein the generation rule file is used for describing a software version generation rule of a corresponding software platform and is formulated according to a software version generation environment of the corresponding software platform, different software modules in the same software platform object correspond to different application services of the corresponding software platform, and the software modules comprise software codes or storage addresses of the software codes;
The management module is used for receiving a software version generation instruction, the software version generation instruction comprises an identification of at least one software platform object to be generated, the software version generation instruction is responded, the software platform object to be generated is determined from the plurality of software platform objects, and a software version package is generated based on the determined generation rule file of the software platform object to be generated and a corresponding software module, and the software version package comprises the software version of the software platform corresponding to each software platform object to be generated.
7. The apparatus for generating a software version of an embedded device according to claim 6 wherein the management module is configured to,
acquiring the determined software codes of the corresponding software modules in the to-be-generated software platform object, and acquiring the software codes of the corresponding software modules from the storage addresses of the software modules comprising the software codes when the determined corresponding software modules in the to-be-generated software platform object comprise the storage addresses of the software codes;
generating corresponding binary files according to the determined software codes of the corresponding software modules in the software platform object to be generated and the software version generation rules described by the generation rule files;
And obtaining the software version package based on each binary file.
8. The apparatus of claim 7, wherein the software version generation indication further comprises an identification of a software module list of the software platform object to be generated, the identification of the software module of at least one of the software platform objects to be generated is recorded in the software module list,
the management module is used for the management of the mobile communication terminal,
determining a software module recorded by a software module list from all the determined software modules in the software platform object to be generated;
and generating corresponding binary files according to the software codes of the software modules recorded in the determined software module list and the software version generation rules described by the generation rule files.
9. The apparatus for generating a software version of an embedded device according to claim 8 wherein the management module is configured to,
determining the identification of a target software module;
when the determined software module recorded by the software module is the target software module, generating a check code file of the target software module based on the binary file of the target software module, wherein the check code file of the target software module records an integrity check code of the binary file of the target software module;
The software version package is obtained based on the binary files of the software modules except the target software module, the binary files of the target software module and the check code files of the target software module.
10. The apparatus for generating a software version of an embedded device according to any one of claims 6 to 9, wherein the software version generation indication further comprises an identification of the embedded device to which the software version package belongs;
the management module is also used for the management of the data,
and generating a version number of the software version package based on the identification of the embedded device to which the software version package belongs.
CN201910924364.1A 2019-09-27 2019-09-27 Method and device for generating software version of embedded device Active CN110806891B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910924364.1A CN110806891B (en) 2019-09-27 2019-09-27 Method and device for generating software version of embedded device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910924364.1A CN110806891B (en) 2019-09-27 2019-09-27 Method and device for generating software version of embedded device

Publications (2)

Publication Number Publication Date
CN110806891A CN110806891A (en) 2020-02-18
CN110806891B true CN110806891B (en) 2023-09-19

Family

ID=69487811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910924364.1A Active CN110806891B (en) 2019-09-27 2019-09-27 Method and device for generating software version of embedded device

Country Status (1)

Country Link
CN (1) CN110806891B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427611A (en) * 2020-04-02 2020-07-17 四川航天***工程研究所 Embedded software version state control method realized by utilizing fingerprint code
CN116795452B (en) * 2023-07-20 2024-04-02 龙芯中科(北京)信息技术有限公司 Method, device and equipment for determining compatibility of driving program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289374A (en) * 2011-08-31 2011-12-21 中兴通讯股份有限公司 Method and device for constructing cross-platform software running environment
CN103309706A (en) * 2013-05-24 2013-09-18 中标软件有限公司 Memory file system preparation method and unit based on Linux operation system
CN103336703A (en) * 2013-07-08 2013-10-02 惠州Tcl移动通信有限公司 Method for generating upgrade patch, server, software upgrading method and mobile terminal
CN105373401A (en) * 2015-10-27 2016-03-02 上海钢富电子商务有限公司 Method and system for automatically releasing software package
CN107577477A (en) * 2017-09-06 2018-01-12 武汉虹信通信技术有限责任公司 A kind of multi-platform software version adaptive approach and system based on DTB files
CN109426516A (en) * 2017-06-21 2019-03-05 北京信威通信技术股份有限公司 Software version management method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4828271B2 (en) * 2006-03-20 2011-11-30 富士通株式会社 Software generation apparatus for multiple OS versions and software generation support program for multiple OS versions
US8997078B2 (en) * 2011-04-12 2015-03-31 Pivotal Software, Inc. Release lifecycle management system for a multi-node application
US10402208B2 (en) * 2012-06-18 2019-09-03 Microsoft Technology Licensing, Llc Adaptive portable libraries

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289374A (en) * 2011-08-31 2011-12-21 中兴通讯股份有限公司 Method and device for constructing cross-platform software running environment
CN103309706A (en) * 2013-05-24 2013-09-18 中标软件有限公司 Memory file system preparation method and unit based on Linux operation system
CN103336703A (en) * 2013-07-08 2013-10-02 惠州Tcl移动通信有限公司 Method for generating upgrade patch, server, software upgrading method and mobile terminal
CN105373401A (en) * 2015-10-27 2016-03-02 上海钢富电子商务有限公司 Method and system for automatically releasing software package
CN109426516A (en) * 2017-06-21 2019-03-05 北京信威通信技术股份有限公司 Software version management method and device
CN107577477A (en) * 2017-09-06 2018-01-12 武汉虹信通信技术有限责任公司 A kind of multi-platform software version adaptive approach and system based on DTB files

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘慧.基于PCI总线的AOS帧同步收发器的Linux驱动及应用程序开发.《中国优秀硕士论文全文数据库》.2009,全文. *
黄国耀.《新手学网络攻防》.电脑报电子音像出版社,2011,第235页. *

Also Published As

Publication number Publication date
CN110806891A (en) 2020-02-18

Similar Documents

Publication Publication Date Title
CN110928529B (en) Method and system for assisting operator development
US20100281463A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
CN106775744B (en) Method and device for generating static library
CN110673853B (en) Compiling method, device and system
CN111399853A (en) Templated deployment method of machine learning model and custom operator
CN110825619A (en) Automatic generation method and device of interface test case and storage medium
CN109032631B (en) Application program patch package obtaining method and device, computer equipment and storage medium
CN111399840B (en) Module development method and device
CN111367510A (en) Android function module development method and device
CN111414391A (en) Method and system for accessing multiple data sources
CN113805882A (en) Method and device for developing application program, electronic equipment and storage medium
CN110806891B (en) Method and device for generating software version of embedded device
CN103186463B (en) Determine the method and system of the test specification of software
CN113778445A (en) Cross-platform component generation method and device, electronic equipment and storage medium
CN115291946A (en) Hongmong system transplanting method, device, electronic equipment and readable medium
CN115525534A (en) Test case generation method and platform based on swagger interface test
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
CN116911588A (en) Business process execution method, device, equipment and storage medium
CN111488144A (en) Data processing method and equipment
CN111309332A (en) File content on-demand loading method and device, electronic equipment and storage medium
CN115456628A (en) Intelligent contract viewing method and device based on block chain, storage medium and equipment
CN114791884A (en) Test environment construction method and device, storage medium and electronic equipment
CN112181407B (en) Service realization processing method, device, system, electronic equipment and storage medium
CN113742224A (en) Test system, method, device, computer equipment and storage medium
CN114968277A (en) Method and device for generating master burning program file, computer equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant