Chip software development platform

By introducing a front-end, middle-end, and back-end architecture, especially the business middle-end and data middle-end, the customization and interactive collaboration issues of the chip software development platform have been solved, resulting in reduced code redundancy, shorter development cycles, and lower maintenance costs, thereby improving the efficiency and flexibility of the chip software development platform.

CN114296692BActive Publication Date: 2026-01-27SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111442767.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-30
Publication Date
2026-01-27
Estimated Expiration
2041-11-30

AI Technical Summary

Technical Problem

Existing chip software development platforms suffer from poor customization of backend software, high redundancy of frontend software, and difficulties in frontend software interaction and collaboration, resulting in long software development cycles, high maintenance costs, and waste of resources.

Method used

It adopts a front-end, middle-end, and back-end architecture. The middle-end includes a business middle-end and a data middle-end, which provide common business and data services. The front-end interacts with the middle-end, reducing code redundancy, simplifying the interaction process, and enhancing the customizability of the back-end.

Benefits of technology

It reduces front-end code redundancy, shortens the development cycle of new features, lowers maintenance costs, simplifies the interaction process between front-ends and the collaboration cost of the R&D team, and improves the speed of product upgrades and iterations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114296692B_ABST
    Figure CN114296692B_ABST
Patent Text Reader

Abstract

The application discloses a chip software development platform, which comprises a foreground, a middle stage and a background; the middle stage comprises a business middle stage and a data middle stage; the foreground is used for providing an application system; the business middle stage is used for providing common services for calling of the application system of the foreground; the data middle stage is used for providing common data for access of the common services of the business middle stage; and the background is used for analyzing files to obtain software and hardware component information and storing the software and hardware component information into the data middle stage. The chip software development platform can greatly reduce code software redundancy of the foreground, shorten a new function development period, effectively reduce a later maintenance cost and improve a product upgrade iteration period. In addition, interaction and cooperation among the foregrounds are simpler, and the interaction process among different foregrounds and the human cooperation cost of a research and development team can be effectively simplified. Furthermore, the chip software development platform can greatly enhance customization of the background.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of chip design technology, and in particular to a chip software development platform. Background Technology

[0002] A chip software development platform encapsulates the driver software for chip hardware peripherals, packaging all chip hardware functions into simple and easy-to-use chip driver software interfaces. This facilitates rapid application software development for customers after purchasing the chip. Currently, a front-end / back-end architecture is typically used to implement chip software development platforms. The entire platform consists of a single back-end software and several front-end software components. The back-end software implements the hardware device driver processes closely related to the chip hardware / operating system, such as various hardware peripheral communication protocols, data transmission channels, register access, and host operating system adaptation. The front-end software calls the back-end driver software interfaces according to different application scenarios, creating application systems that assist users in using / testing the chip. Examples include various browser-based chip development kit download systems, automated testing systems, and online training systems.

[0003] However, chip software development platforms have the following technical drawbacks: 1. Poor customization of backend software. The backend software of a single chip software development platform encompasses driver software for all series of chip hardware peripherals. Furthermore, different chip models may contain the same type of hardware peripherals but different versions. To meet the needs of users who only use / test a specific chip, a separate backend software package needs to be developed for each chip. This results in a lot of redundant software code, and the large number of backend software packages also increases the workload for later maintenance of the software development platform. 2. High degree of redundancy in frontend software. Because the frontend software functions of various chip software development platforms are implemented independently, many frontend software programs with similar functions are repeatedly developed, resulting in a huge waste of manpower. This redundancy leads to long initial development cycles and high maintenance costs. When a fault is found in one frontend software program, all frontend software programs with similar functions need to be modified. 3. Difficulty in frontend software collaboration. The independent implementation of each frontend software makes interaction and collaboration between them difficult. When a frontend software needs to exchange data with other frontend software, data transmission needs to be achieved through a specially defined interaction interface. When there are many frontend software programs, the interaction interfaces will be coupled together, and the data format will be quite chaotic.

[0004] Therefore, how to solve the above-mentioned technical defects has become a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] The purpose of this application is to provide a chip software development platform that can significantly reduce front-end code redundancy, shorten the development cycle of new features, effectively reduce later maintenance costs, and improve product upgrade and iteration cycles. Furthermore, it simplifies interaction and collaboration between front-ends, effectively streamlining the interaction process between different front-ends and reducing the manpower collaboration costs of the R&D team. In addition, it greatly enhances the customizability of the back-end.

[0006] To address the aforementioned technical problems, this application provides a chip software development platform, comprising:

[0007] The platform consists of a front-end, a middle-end, and a back-end; the middle-end includes a business middle-end and a data middle-end.

[0008] The front end is used to provide the application system;

[0009] The business middle platform is used to provide public services for the application systems in the front end to call;

[0010] The data platform is used to provide public data for the public services of the business platform to access;

[0011] The backend is used to parse the file to obtain software and hardware component information, and store the software and hardware component information in the data platform.

[0012] Optionally, the business middle platform includes:

[0013] The user account management module is used to manage user account information;

[0014] The hardware board management module is used to manage hardware board information;

[0015] The component information query module is used to query the information of the software and hardware components;

[0016] The component package customization module is used to generate user-customized software packages;

[0017] The component download module is used to download the user-customized software package;

[0018] The component runtime module is used to run the user-customized software package online.

[0019] Optionally, the data platform includes:

[0020] A software component information repository is used to store information about software components;

[0021] Hardware component information repository, used to store hardware component information.

[0022] Optionally, the software component information database includes:

[0023] The test case information table is used to store test case information;

[0024] The software component information table is used to store software component information;

[0025] The original file information table is used to store original file information;

[0026] The file fragment information table is used to store file fragment information;

[0027] The compiler option information table is used to store compiler option information.

[0028] Optionally, the hardware component information database includes:

[0029] Hardware board information table, used to store hardware board information;

[0030] Hardware version information table, used to store hardware version information;

[0031] Version feature mapping table, used to store version feature mapping information;

[0032] The hardware characteristic information table is used to store hardware characteristic information.

[0033] Optionally, the data platform further includes:

[0034] The user account information database is used to store user account information.

[0035] Optionally, the backend includes:

[0036] The original file module is used to store original files;

[0037] The file parsing trigger module is used to trigger the file parsing module to perform file parsing.

[0038] The file parsing module is used to check the writing specifications of the original file, generate code interface documentation, and parse the original file to obtain the software and hardware component information;

[0039] The device operation module is used to compile the firmware or driver source code in the original file to generate a binary file, download and install the binary file, and download the hardware circuit version.

[0040] Optionally, the file parsing module includes:

[0041] The coding standard check submodule is used to check the coding standard of the original file;

[0042] The source code documentation generation submodule is used to generate the code interface documentation;

[0043] The original file parsing submodule is used to parse the original file to obtain the information of the software and hardware components.

[0044] Optionally, the device operation module includes:

[0045] The compilation and installation submodule is used to compile the firmware or driver source code to generate the binary file, and then download and install the binary file.

[0046] The hardware version download submodule is used to download the hardware circuit version.

[0047] The chip software development platform provided in this application includes: a front-end, a middle platform, and a back-end; the middle platform includes a business middle platform and a data middle platform; the front-end is used to provide application systems; the business middle platform is used to provide public services for the application systems of the front-end to call; the data middle platform is used to provide public data for the public services of the business middle platform to access; the back-end is used to parse files to obtain software and hardware component information and store the software and hardware component information in the data middle platform.

[0048] As can be seen, the chip software development platform provided in this application sinks the common business processes and data of each front-end to the middle platform, which provides common business processes and data for the front-end to call and access, thus greatly reducing code redundancy on the front-end. Furthermore, new front-ends can be developed based on previously developed common business processes and data, resulting in a shorter development cycle for new features, improving product upgrade and iteration cycles, and lowering later maintenance costs. In addition, unlike the traditional approach of developing separate data transmission interfaces for each front-end, in this application, each front-end interacts with both the business middle platform and the data middle platform. The business middle platform and the data middle platform act as intermediaries, reducing the coupling between front-ends and providing a unified, standardized data format through common business processes and data, effectively simplifying the interaction process between different front-ends and reducing the human resource collaboration costs between R&D teams. Furthermore, this application greatly enhances the customizability of the backend. Hardware circuit designers and firmware / driver developers do not need to maintain a separate backend package for each chip or development board. They only need to write code or documentation according to certain coding standards. The backend automatically parses the original files in the version repository into software and hardware component information and stores it in the database. The business platform obtains the software and hardware component information by accessing the database and performs corresponding operations. Attached Figure Description

[0049] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the prior art and embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0050] Figure 1A schematic diagram of a chip software development platform provided in an embodiment of this application;

[0051] Figure 2 This is a schematic diagram of another chip software development platform provided in an embodiment of this application;

[0052] Figure 3 This is a schematic diagram of another chip software development platform provided in an embodiment of this application. Detailed Implementation

[0053] The core of this application is to provide a chip software development platform that can significantly reduce front-end code redundancy, shorten the development cycle of new features, effectively reduce later maintenance costs, and improve product upgrade and iteration cycles. Furthermore, it simplifies interaction and collaboration between front-ends, effectively streamlining the interaction process between different front-ends and reducing the manpower collaboration costs of the R&D team. In addition, it greatly enhances the customizability of the back-end.

[0054] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0055] Please refer to Figure 1 , Figure 1 This is a schematic diagram of a chip software development platform provided in an embodiment of this application, with reference to... Figure 1 As shown, the chip software development platform mainly includes:

[0056] The system comprises a front-end 10, a middle platform 20, and a back-end 30; the middle platform 20 includes a business middle platform 201 and a data middle platform 202.

[0057] The front-end 10 is used to provide the application system;

[0058] The business middle platform 201 is used to provide public services for the application systems of the front-end 10 to call;

[0059] The data platform 202 is used to provide public data for the public services of the business platform 201 to access;

[0060] The backend 30 is used to parse the file to obtain software and hardware component information, and store the software and hardware component information in the data platform 202.

[0061] Specifically, the chip software development platform provided in this embodiment is implemented based on the middle platform 20 architecture. The so-called middle platform 20 architecture refers to a software architecture based on component technology. The entire chip software development platform includes three parts: a front-end 10, a middle platform 20, and a back-end 30. There are several front-end 10s, and one middle platform 20 and one back-end 30. Furthermore, the middle platform 20 further includes a business middle platform 201 and a data middle platform 202.

[0062] Front-end 10 is used to provide various application systems. For example, a development kit customization system for purchasing chips, an online training system for experiencing chip functions, an application support system to help users solve problems, an automated testing system for testing chip functions during the R&D phase, and a chip problem tracking system, etc.

[0063] The business middle platform 201 contains the common services of all front-end 10, and the application systems of each front-end 10 can call the common services in the business middle platform 201.

[0064] Among them, reference Figure 2 As shown, in one specific implementation, the business middle platform 201 may include:

[0065] The user account management module is used to manage user account information;

[0066] The hardware board management module is used to manage hardware board information;

[0067] The component information query module is used to query information about software and hardware components;

[0068] The component package customization module is used to generate user-customized software packages;

[0069] The component download module is used to download the user-customized software package;

[0070] The component runtime module is used to run the user-customized software package online.

[0071] In other words, the public services provided by the business middle platform 201 include user account management, hardware board management, component information query, component package customization, component download, and component execution. Application systems in the front-end 10 can call any of these modules to perform corresponding operations.

[0072] The data platform 202 stores all public data of the front-end 10 through a database and provides a data access interface.

[0073] refer to Figure 2 As shown, in one specific implementation, the data platform 202 includes:

[0074] A software component information repository is used to store information about software components;

[0075] Hardware component information repository, used to store hardware component information.

[0076] Among them, reference Figure 3 As shown, the software component information database may include:

[0077] The test case information table is used to store test case information;

[0078] The software component information table is used to store software component information;

[0079] The original file information table is used to store original file information;

[0080] The file fragment information table is used to store file fragment information;

[0081] The compiler option information table is used to store compiler option information.

[0082] The hardware component information database may include:

[0083] Hardware board information table, used to store hardware board information;

[0084] Hardware version information table, used to store hardware version information;

[0085] Version feature mapping table, used to store version feature mapping information;

[0086] The hardware characteristic information table is used to store hardware characteristic information.

[0087] Specifically, hardware characteristic information describes the functional characteristics of peripherals. Version characteristic mapping information describes the many-to-many mapping relationship between hardware versions and hardware functions. For example... Figure 3 As shown, the hardware board information table may include board identifier, board number, and hardware version identifier. The hardware version information table may include hardware version identifier, version description, and binary data. The version feature mapping table may include version feature mapping identifier, hardware version identifier, and feature identifier. The hardware feature information table may include feature identifier, component identifier, feature description, and compilation option identifier.

[0088] The test case information table can include test case identifiers and component identifiers. The software component information table can include component identifiers, driver or firmware information, whether it is public, and component name. The source file information table can include file identifiers, component identifiers, file directory, file function, and source file. The file fragment information table can include fragment identifiers, file identifiers, start line, end line, and compiler option logical expressions. The compiler option information table can include compiler option identifiers and compiler option names.

[0089] Furthermore, in one specific implementation, the data platform 202 further includes:

[0090] The user account information database is used to store user account information.

[0091] The background 30 is used to obtain various software and hardware component information by parsing the original file, and to store the software and hardware component information in the data platform 202. For example, it can obtain hardware peripheral drivers or firmware software, hardware circuit boards, etc. for a specific chip.

[0092] In addition, the backend 30 provides all chip driver software interfaces unrelated to business operations, including driver software interfaces for hardware peripheral communication protocols, data transmission channels, status queries, interrupt handling, etc. of all chip models, for the middle platform 20 to call.

[0093] refer to Figure 2 As shown, in one specific implementation, the background 30 includes:

[0094] The original file module is used to store original files;

[0095] The file parsing trigger module is used to trigger the file parsing module to perform file parsing.

[0096] The file parsing module is used to check the writing specifications of the original file, generate code interface documentation, and parse the original file to obtain the software and hardware component information;

[0097] The device operation module is used to compile the firmware or driver source code in the original file to generate a binary file, download and install the binary file, and download the hardware circuit version.

[0098] The file parsing module may include:

[0099] The coding standard check submodule is used to check the coding standard of the original file;

[0100] The source code documentation generation submodule is used to generate the code interface documentation;

[0101] The original file parsing submodule is used to parse the original file to obtain the information of the software and hardware components.

[0102] The device operation module may include:

[0103] The compilation and installation submodule is used to compile the firmware or driver source code to generate the binary file, and then download and install the binary file.

[0104] The hardware version download submodule is used to download the hardware circuit version.

[0105] Specifically, in this embodiment, the background 30 mainly includes an original file module, a file parsing trigger module, a file parsing module, and a device operation module.

[0106] The raw file module is used to store raw files, including hardware driver or firmware source code written by software engineers, compilation rule files, user manuals, design documents, and hardware circuit versions written by hardware engineers.

[0107] The file parsing trigger module consists of version control tool callback functions. When a user submits raw data, the file parsing module is triggered by these callback functions to parse the raw file. Version control tools are tools that perform version management on code or file data. They can store data and track any modifications, providing incremental storage based on file changes to save space and allowing rollback to any version as needed.

[0108] The coding standard detection submodule in the file parsing module is used to check the writing standards of firmware or driver source code or documentation. The source code documentation generation submodule is used to call a code documentation generation tool to generate code interface documentation. A code documentation generation tool is a software tool that automatically generates code interface documentation based on software code comments. The raw file parsing submodule is used to parse raw files to generate software and hardware component information, which is then used by the component query module of the business middle platform 201 to query software and hardware component information.

[0109] The compilation and installation submodule in the device operation module is used to compile firmware or driver source code to generate binary files and download and install the binary files to the hardware or host operating system; the hardware version download submodule is used to download the hardware circuit version to the programmable logic device.

[0110] The following combination Figure 3 As shown, taking the development kit value setting system in front-end 10 as an example, the workflow of the chip software development platform provided in this application is illustrated:

[0111] The administrator in the backend 30 adds the hardware board information, hardware version information, hardware feature information, and version feature mapping information to the data platform 202.

[0112] The raw data file, composed of file fragments controlled by various compilation options, in the software code repository of backend 30 is parsed by the file parsing module in backend 30 into software component information, compilation option information, raw file information, file fragment information, and test case information. The parsed software component information, compilation option information, raw file information, file fragment information, and test case information are stored in the data platform 202.

[0113] The front-end 10 development kit setting system calls the board information query module of the business middle platform 201 to query the hardware board information table, hardware version information table, version feature mapping table, and hardware feature information table (such as...) of the data middle platform 202. Figure 3Steps i, ii, iii, and iv are shown in the diagram to obtain the board's functional characteristics and other information, and the obtained content is displayed on the graphical user interface of the front end 10.

[0114] Users select the development kit they wish to purchase on the graphical user interface based on the development board's features and click the "Download Package" button.

[0115] The front-end 10 development kit customization system calls the component information query module of the business middle platform 201 to query the software component information table and compilation option information table (such as...) of the data middle platform 202. Figure 3 Steps a and b) shown in the diagram are used to obtain information on all software components of the board (including hardware version description, driver or firmware source code module description) and compilation options.

[0116] The component information query module of the business middle platform 201 calls the component package customization module and passes software component information and compilation option information.

[0117] The component package customization module queries the original file information table and the file fragment information table (such as...). Figure 3 As shown in steps 001 and 002), all file fragments that have passed the logical expression verification of the compilation options are obtained and combined into a software package.

[0118] The component package customization module calls the component package download module to save the software package to the user-specified path.

[0119] In summary, the chip software development platform provided in this application decentralizes the common business logic and data of each front-end to the middle platform. The middle platform provides common business logic and data for the front-end to call and access, thus greatly reducing code redundancy on the front-end. Furthermore, new front-ends can be developed based on previously developed common business logic and data, resulting in a shorter development cycle for new features, improving product upgrade and iteration cycles, and lowering later maintenance costs. In addition, unlike the traditional approach of developing separate data transmission interfaces for each front-end, in this application, each front-end interacts with both the business middle platform and the data middle platform. These middle platforms act as intermediaries, reducing coupling between front-ends and providing a unified, standardized data format through common business logic and data, effectively simplifying the interaction process between different front-ends and reducing the human resource collaboration costs between R&D teams. Furthermore, this application greatly enhances the customizability of the backend. Hardware circuit designers and firmware / driver developers do not need to maintain a separate backend package for each chip or development board. They only need to write code / documentation according to certain coding standards and mark the compilation dependencies of various code snippets through compilation options. Then, they submit the code / documentation to the version control tool. The backend automatically parses the original files in the version repository into software and hardware component information and stores it in the database. The business platform obtains the software and hardware component information by accessing the database and performs corresponding operations.

[0120] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatuses, devices, and computer-readable storage media disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant details can be found in the method section.

[0121] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0122] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0123] The chip software development platform provided in this application has been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this application. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A chip software development platform, characterized in that, include: The platform consists of a front-end, a middle-end, and a back-end; the middle-end includes a business middle-end and a data middle-end. The front end is used to provide the application system; The business middle platform is used to provide public services for the application systems in the front end to call; The data platform is used to provide public data for the public services of the business platform to access; The backend is used to parse the file to obtain software and hardware component information, and store the software and hardware component information in the data platform; The backend includes: The original file module is used to store original files; The file parsing trigger module is used to trigger the file parsing module to perform file parsing. The file parsing module is used to check the writing specifications of the original file, generate code interface documentation, and parse the original file to obtain the software and hardware component information; The device operation module is used to compile the firmware or driver source code in the original file to generate a binary file, download and install the binary file, and download the hardware circuit version; The file parsing trigger module consists of a version control tool callback function. When a user submits raw data, the file parsing module is triggered by the version control tool callback function to perform raw file parsing.

2. The chip software development platform according to claim 1, characterized in that, The business middle platform includes: The user account management module is used to manage user account information; The hardware board management module is used to manage hardware board information; The component information query module is used to query the information of the software and hardware components; The component package customization module is used to generate user-customized software packages; The component download module is used to download the user-customized software package; The component runtime module is used to run the user-customized software package online.

3. The chip software development platform according to claim 1, characterized in that, The data platform includes: A software component information repository is used to store information about software components; Hardware component information repository, used to store hardware component information.

4. The chip software development platform according to claim 3, characterized in that, The software component information database includes: The test case information table is used to store test case information; The software component information table is used to store software component information; The original file information table is used to store original file information; The file fragment information table is used to store file fragment information; The compiler option information table is used to store compiler option information.

5. The chip software development platform according to claim 3, characterized in that, The hardware component information database includes: Hardware board information table, used to store hardware board information; Hardware version information table, used to store hardware version information; Version feature mapping table, used to store version feature mapping information; The hardware characteristic information table is used to store hardware characteristic information.

6. The chip software development platform according to claim 3, characterized in that, The data platform also includes: The user account information database is used to store user account information.

7. The chip software development platform according to claim 1, characterized in that, The file parsing module includes: The coding standard check submodule is used to check the coding standard of the original file; The source code documentation generation submodule is used to generate the code interface documentation; The original file parsing submodule is used to parse the original file to obtain the information of the software and hardware components.

8. The chip software development platform according to claim 1, characterized in that, The device operation module includes: The compilation and installation submodule is used to compile the firmware or driver source code to generate the binary file, and then download and install the binary file. The hardware version download submodule is used to download the hardware circuit version.

Citation Information

Patent Citations

  • Platform centralized architecture design system based on satellite full-application system

    CN112269563A