Software configuration method and device, computer equipment and storage medium

By generating a visual configuration interface and memory-mapped files, the CDD software module in the AUTOSAR architecture is automatically configured, solving the problems of low development efficiency and high error risk, and achieving efficient and secure software configuration.

CN121187631APending Publication Date: 2025-12-23CHONGQING JINKANG NEW ENERGY VEHICLE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511224008.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-29
Publication Date
2025-12-23

AI Technical Summary

Technical Problem

In the existing AUTOSAR architecture, the CDD software module is flexible and variable, and cannot be automatically configured, resulting in low development efficiency and a high risk of errors when manually writing code.

Method used

By acquiring functional descriptions and security requirements, a visual configuration interface is generated to automatically configure complex device driver software, including generating functional configuration files and memory mapping files, replacing handwritten code and enabling automatic allocation of memory regions.

Benefits of technology

It improved software development efficiency, reduced the risk of errors, and ensured the security requirements of software functions and data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121187631A_ABST
    Figure CN121187631A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to the technical field of automobile electronic software development, in particular to a software configuration method and device, computer equipment and a storage medium. The method mainly comprises the following steps: determining a target component from an upper computer configuration component library according to function introduction information, generating a visual configuration interface comprising a plurality of configuration items corresponding to the target component, generating a function configuration file according to function parameter information input by the visual configuration interface, and executing the function configuration file according to security requirement information. And determining a corresponding memory interval according to the function configuration file, generating a memory mapping file, and obtaining target configuration code data according to the function configuration file and the memory mapping file, so that the automobile controller realizes a function corresponding to the to-be-configured software. By adopting the method, the software development efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of automotive electronic software development, and particularly relates to a software configuration method and device, computer equipment and a storage medium. BACKGROUND

[0002] In the field of automotive electronic software development, AUTOSAR (Automotive Open System Architecture) provides a standardized solution to support a distributed and function-driven development mode, so as to improve software reuse rate and reduce cost. Among them, the CDD (Complex Device Drivers) software module in the AUTOSAR architecture is a software entity not subject to the standardization constraints of the AUTOSAR architecture, which can directly access the microcontroller to realize functions such as fuel injection control and crankshaft signal acquisition that require accurate timing.

[0003] However, the CDD software module is relatively flexible and variable, and cannot be automatically configured in function by using the existing AUTOSAR tool chain. Usually, the developer needs to manually write code for configuration to realize the corresponding functions, which has the problem of low development efficiency. SUMMARY

[0004] Therefore, it is necessary to provide a software configuration method, device, computer equipment and storage medium capable of improving development efficiency in view of at least one of the above technical problems.

[0005] In a first aspect, the embodiments of the present disclosure provide a software configuration method, the software being a complex device driver software in an automotive open system architecture, and the software configuration method comprising the following steps:

[0006] obtaining function introduction information of a function to be implemented by the software to be configured and security requirement information representing a security level of the software to be configured;

[0007] determining a target component from a host computer configuration component library according to the function introduction information, generating a visual configuration interface including a plurality of configuration items corresponding to the target component, and generating a function configuration file according to function parameter information input by the visual configuration interface;

[0008] determining a corresponding memory interval according to the security requirement information, and generating a memory mapping file;

[0009] obtaining target configuration code data according to the function configuration file and the memory mapping file, so that the automotive controller implements the function corresponding to the software to be configured.

[0010] The host computer configuration component library includes multiple components built during the configuration of historical complex device driver software. Configuration items are used by users to configure the functional parameters of the software to be configured.

[0011] In some embodiments, based on the functional description information, a configurable target component is determined from the host computer configuration component library, and a visual configuration interface including multiple configuration items corresponding to the target component is generated. This may include the following steps: based on the functional description information, determining the configuration information to be implemented for the intended function, determining the target component for configuring the configuration information from the host computer configuration component library, and generating a visual configuration interface including multiple configuration items corresponding to the target component.

[0012] In some embodiments, the components in the host computer configuration component library include dynamic components and static components. Dynamic components are used to implement the configurable functions of the software to be configured, while static components are used to implement data that cannot be modified during the operation of the software to be configured.

[0013] Based on the functional description information, the target component is determined from the preset host computer configuration components, and a visual configuration interface including multiple configuration items corresponding to the target component is generated. This may include the following steps: Based on the functional description information, the target configurable component is determined from the dynamic components, and a visual configuration interface including multiple configuration items corresponding to the target configurable component is generated.

[0014] The software configuration method also includes the step of generating a static configuration file based on the parameter information of the static components.

[0015] The target configuration code data is obtained based on the function configuration file and memory mapping file, including the following steps: Obtain the target configuration code data based on the function configuration file, memory mapping file and static configuration file.

[0016] In some embodiments, the components in the host computer configuration component library include a kernel configuration component for kernel allocation of variable data, a module configuration component for functional module division, and a parameter configuration component for setting functional parameters.

[0017] In some embodiments, the software to be configured includes multiple functional modules corresponding to the functions to be implemented. The software configuration method further includes the following steps: according to the kernel configuration information input by the configuration item corresponding to the kernel configuration component, the code data and variable data of the same functional module are assigned to the same kernel.

[0018] The kernel configuration information includes the mapping relationship between the variable data of each functional module and the kernel.

[0019] In some embodiments, security requirement information includes security level information for multiple functional modules in the software to be configured.

[0020] Based on security requirements information, the corresponding memory range is determined, and a memory mapping file is generated, including the following steps: Based on security level information, the correspondence between multiple functional modules and memory ranges is determined, and a memory mapping file is generated based on the correspondence.

[0021] In some embodiments, obtaining target configuration code data based on a function configuration file and a memory mapping file includes the following steps: integrating the function configuration file and the memory mapping file into the function layer of a preset complex driver module to obtain target configuration code data.

[0022] The complex driver module includes a communication layer, a functional layer, and an interface layer. The communication layer is used to enable communication and interaction between the complex driver module and external devices. The functional layer is used to implement the functions corresponding to the target configuration code data. The interface layer is used to enable data transfer between the functional layer and other software modules.

[0023] In some embodiments, the software configuration method further includes the following steps: compiling the target configuration code data and writing it into the vehicle controller so that the vehicle controller can implement the functions corresponding to the software to be configured.

[0024] In a second aspect, embodiments of this disclosure provide a software configuration apparatus, which includes: a requirements acquisition module, an interface generation module, a configuration file generation module, a mapping file generation module, and a code data generation module.

[0025] The requirement acquisition module is used to acquire functional descriptions of the functions to be implemented by the software to be configured and security requirement information indicating the security level of the software to be configured.

[0026] The interface generation module is used to determine the target component from the host computer configuration component library based on the functional description information, and generate a visual configuration interface that includes multiple configuration items corresponding to the target component. The host computer configuration component library includes multiple components built during the configuration of historically complex device driver software. The configuration items are used by users to configure the functional parameters of the software to be configured.

[0027] The configuration file generation module is used to generate functional configuration files based on the functional parameter information input through the visual configuration interface.

[0028] The memory mapping file generation module is used to determine the corresponding memory range based on security requirements and generate a memory mapping file.

[0029] The code data generation module is used to obtain target configuration code data based on the function configuration file and memory mapping file, so that the car controller can implement the function corresponding to the software to be configured.

[0030] In a third aspect, embodiments of this disclosure provide a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the software configuration method provided in any embodiment of the first aspect of this disclosure.

[0031] In a fourth aspect, embodiments of the present disclosure provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the software configuration method provided in any embodiment of the first aspect of the present disclosure.

[0032] The aforementioned software configuration method, apparatus, computer equipment, and storage medium, based on functional description information, determine target components from a host computer configuration component library, generate a visual configuration interface, generate a functional configuration file based on the functional parameter information input into the visual configuration interface, and generate a memory mapping file based on security requirement information to determine the memory range. By reusing host computer configuration components built in previous software configuration processes, a visual configuration interface with multiple configuration items is generated. These configuration items are used by users to configure the functional parameters of the software to be configured, replacing the traditional method of manually writing code to implement functional configuration, thus improving software development efficiency. In addition, generating a memory mapping file based on security requirement information enables automatic allocation of software memory ranges, avoiding the problems of low development efficiency and high error risk associated with users manually writing code for memory allocation.

[0033] In addition, memory allocation based on security requirements fulfills the functional safety requirements of the software to be configured, ensuring data security during software operation. Attached Figure Description

[0034] Figure 1 This is a diagram illustrating the application environment of the software configuration method in some embodiments;

[0035] Figure 2 This is a flowchart illustrating the software configuration method in some embodiments;

[0036] Figure 3 This is a schematic diagram of a complex driver module architecture in some embodiments;

[0037] Figure 4 This is a structural block diagram of the software configuration device in some embodiments;

[0038] Figure 5 This is a diagram showing the internal structure of a computer device in some embodiments. Detailed Implementation

[0039] To make the technical solutions and advantages of this disclosure clearer, the embodiments and related technical content of this disclosure will be further described in detail below with reference to the accompanying drawings and text description. It should be understood that the embodiments described below are only used to explain the technical solutions of the embodiments of this disclosure and are not intended to limit more possible implementations of this disclosure.

[0040] It should be noted that relational terms such as "first" and "second" appearing in this document are used only to distinguish things, states, or actions, and do not necessarily indicate or imply relative importance or order. The terms "including," "comprising," or any other variations thereof are used to indicate non-exclusive inclusion, and the included objects may not be limited to those listed in this document. The terms "multiple" or other variations are used to indicate that the number of objects is two or more.

[0041] In a first aspect, embodiments of this disclosure provide a software configuration method. The software is complex device driver software in an automotive open system architecture, and the method can be applied to, for example... Figure 1 The application environment shown is as follows. Terminal 100 is equipped with a host computer configuration tool 110 and a script generation tool 120. Terminal 100 has a display screen and an input device. The host computer configuration tool 110 can generate a visual configuration interface displayed on the terminal 100's display screen. The input device can be an external keyboard, mouse, or touchpad, etc. Terminal 100 can be, but is not limited to, various personal computers, laptops, and tablets.

[0042] Applying software configuration methods Figure 1 Taking terminal 100 as an example, in some embodiments, such as Figure 2 As shown, the software configuration method includes steps S201 to S205 that can be executed by terminal 100. Each step is described in detail below.

[0043] Step S201: Obtain the function description information of the functions to be implemented by the software to be configured and the security requirement information indicating the security level of the software to be configured.

[0044] The functional description information can include the functional items to be implemented, such as analog signal sampling functions (e.g., voltage sampling, temperature sampling), input / output control functions, and high / low side control functions. A functional description is provided for one or more of the functions to be implemented. The security requirement information can include the security level information of the software to be configured. In some specific examples, the security level information can be the security level corresponding to the predefined kernel security management measures in the AUTOSAR architecture. The AUTOSAR architecture supports parallel computing through multi-core processors to achieve higher performance and stronger functions. Each kernel in the system can be defined using the AUTOSAR configuration tool, specifying its attributes and characteristics, including the security level corresponding to each kernel. By allocating functional requirements of different security levels to different kernels, data security can be improved. In other examples, the security level can be a level defined according to the safety classification standards in the automotive field. For example, it can include four levels with progressively higher security levels: A, B, C, and D. Different security levels correspond to different kernel ranges. For example, Level D has the highest security level and requires storage in a dedicated storage space of an independent kernel. Levels B and C can be stored in a secure interval based on a preset isolation region to achieve physical isolation from insecure code. Level A has the lowest security level and does not require special security management; it can be stored in a normal memory area.

[0045] Specifically, the functional description information and security requirements information of the software to be configured can be obtained online from the document management system that stores the project development requirements documents, or from the storage device that stores the project development requirements documents; no special restrictions are imposed here.

[0046] Step S202: Based on the function description information, determine the target component from the host computer configuration component library and generate a visual configuration interface that includes multiple configuration items corresponding to the target component.

[0047] The host computer configuration component library includes multiple components built during the configuration of historically complex device driver software. Configuration items are used by users to configure the functional parameters of the software to be configured. In some examples, configuration items can be in the form of drop-down list options or fill-in-the-box boxes.

[0048] In some specific examples, the components in the host computer configuration component library may include kernel configuration components for allocating kernels for variable data, module configuration components for dividing functional modules, and parameter configuration components for setting functional parameters. A type of configuration component may include one or more configuration items. For example, a kernel configuration component may include a kernel enabling configuration item for determining whether the kernel state is enabled, and a channel kernel allocation configuration item for allocating kernels to different channels. A module configuration component may include module division configuration items and module naming configuration items. In some specific examples, the components in the host computer configuration component library also include channel configuration components for defining channels. Channel configuration components may include channel naming configuration items, channel ID configuration items, etc.

[0049] Specifically, based on the functional description information, the target component is determined from the host computer configuration component library. This can be done by determining the content to be configured based on the functional keywords in the functional description information, and then determining the corresponding target component. A visual configuration interface is then generated based on the multiple configuration items corresponding to the target component.

[0050] In some specific examples, the functional description information includes various functional configuration information for the function implementation. There is a correspondence between the host computer configuration components and the software functional configuration information, and this correspondence is pre-recorded in terminal 100. Terminal 100 can determine the corresponding host computer configuration component, i.e., the target component, based on the functional configuration information involved in the functional description information. In other specific examples, the functional description information only includes basic functional items of the intended function. Determining the target component based on the functional description information may include the following steps: determining the entire process steps of function implementation based on the functional description information; and determining the target component corresponding to each step of the entire process from the host computer configuration component library based on the entire process steps.

[0051] Step S203: Generate a function configuration file based on the function parameter information entered in the visual configuration interface.

[0052] In some specific examples, the feature configuration file may include a feature configuration source file and a feature configuration header file. Specifically, the feature configuration file may be in CFG file format (a text file format used to store configuration information).

[0053] Specifically, the visual configuration interface includes multiple configuration items, and the host computer configuration tool 110 generates a function configuration file based on the function parameter information input by the user in each configuration item.

[0054] Step S204: Based on the security requirements information, determine the corresponding memory range and generate a memory mapping file.

[0055] Specifically, the script generation tool 120 can determine the memory range corresponding to the security level information based on the security requirement information, and generate a memory mapping file to represent the storage range information of the software to be configured.

[0056] In some embodiments, the software to be configured includes multiple functional modules that are intended to perform functions, and the security requirement information includes the security level information of the multiple functional modules in the software to be configured. Step S204 may include the following steps: determining the correspondence between the multiple functional modules and memory regions based on the security level information, and generating a memory mapping file based on the correspondence. Specifically, it may be based on the security level information and a preset storage mapping relationship table to determine the memory region corresponding to each functional module in the multiple functional modules, thereby obtaining the correspondence between the multiple functional modules and memory regions, and generating a memory mapping file. The storage mapping relationship table is used to record the correspondence between the security level of the functional modules and the memory regions.

[0057] In some specific embodiments, the security level information corresponding to each functional module may be the same or different. The script generation tool 120 determines the memory range corresponding to multiple functional modules based on the security level information of each functional module, obtains the correspondence between multiple functional modules and memory ranges, and generates a memory mapping file based on the correspondence.

[0058] In some specific examples, the script generation tool 120 can generate a memmap.h file (memmap header file) based on a memmap (Memory Mapping) script tool.

[0059] Step S205: Obtain the target configuration code data based on the function configuration file and memory mapping file, so that the vehicle controller can implement the function corresponding to the software to be configured.

[0060] The target configuration code data includes configuration code used to implement the intended functions of the software to be configured. Specifically, in some examples, the target configuration code data can be obtained by integrating the function configuration file and memory-mapped file into the code file that implements the software functions. This target configuration code data is used to implement the corresponding functions of the software to be configured.

[0061] In some embodiments, the software configuration method further includes the following steps: compiling the target configuration code data and writing it into the vehicle controller so that the vehicle controller can implement the functions corresponding to the software to be configured.

[0062] Specifically, the target configuration code data is compiled and processed by a compiler to generate an executable file. Then, a preset debugging tool is used to write the executable file into the car controller so that the car controller can run the software to be configured and perform the configured functions.

[0063] In the above software configuration method, the target component is determined from the host computer configuration component library based on the function description information, a visual configuration interface is generated, and a function configuration file is generated based on the function parameter information input in the visual configuration interface. Additionally, a memory mapping file is generated based on the memory range determined by the security requirements information. By reusing the host computer configuration components built in the historical software configuration process, a visual configuration interface with multiple configuration items is generated. These configuration items are used by the user to configure the function parameters of the software to be configured, replacing the traditional method of manually writing code to implement function configuration, thus improving software development efficiency. Generating a memory mapping file based on security requirements information enables automatic allocation of software memory ranges and avoids the problems of low development efficiency and high error risk associated with manual memory allocation by the user.

[0064] In addition, memory allocation based on security requirements fulfills the functional safety requirements of the software to be configured, ensuring data security during software operation.

[0065] In some embodiments, step S202 may include the following steps: determining the configuration information to be implemented based on the functional description information, determining the target component for configuring the configuration information from the host computer configuration component library, and generating a visual configuration interface including multiple configuration items corresponding to the target component.

[0066] In some embodiments, the components in the host computer configuration component library include dynamic components and static components. Dynamic components are used to implement the configurable functions of the software to be configured, while static components are used to implement data that cannot be modified during the operation of the software to be configured.

[0067] Configurable functions correspond to the variable function modules of the software, such as communication protocol parameters, specifications and models of configuration data, register address information, triggering conditions for business logic, threshold settings, etc. Unmodifiable data can be low-level basic functional data or core data that has been fixed before the software runs, such as hardware driver code data, pre-built resource file data, authentication and authorization security data, etc.

[0068] Step S202 may include: determining the target configurable component from the dynamic components based on the functional description information, and generating a visual configuration interface that includes multiple configuration items corresponding to the target configurable component.

[0069] Static components, as immutable data carriers, do not require user configuration. Therefore, the configuration items corresponding to static components no longer need to be displayed in the visual configuration interface, which simplifies the configuration interface.

[0070] Accordingly, the software configuration method also includes the following steps: generating a static configuration file based on the parameter information of the static components. In some specific examples, the static configuration file may be generated during the configuration of historically complex device driver software and can be directly called in the current configuration task.

[0071] Step S205 may include: obtaining target configuration code data based on the function configuration file, memory-mapped file, and static configuration file.

[0072] In some embodiments, the software to be configured includes multiple functional modules corresponding to the functions to be implemented. The software configuration method further includes the following steps: according to the kernel configuration information input by the configuration item corresponding to the kernel configuration component, the code data and variable data of the same functional module are assigned to the same kernel.

[0073] The kernel configuration information includes the mapping relationship between the variable data of each functional module and the kernel.

[0074] In some examples, in response to user input based on configuration items corresponding to kernel configuration components, the kernel configuration information corresponding to the input is identified, the target functional module and target kernel corresponding to the variable data in the kernel configuration information are determined, and the code data of the target functional module is allocated to the target kernel, so that the code data and variable data of the same functional module are allocated to the same kernel.

[0075] By allocating code data and variable data of the same functional module to the same kernel, the efficiency of data access and code execution during software operation can be improved.

[0076] In some embodiments, the complex driver module architecture corresponding to the software to be configured is as follows: Figure 3 As shown, it may include a communication layer 310, a functional layer 320 and an interface layer 330.

[0077] The communication layer 310 is used to enable communication and interaction between the complex driver module and external devices. The functional layer 320 is used to implement the functions corresponding to the target configuration code data. The interface layer 330 is used to enable data transfer between the functional layer and other software modules.

[0078] Step S205 may include: integrating the function configuration file and memory mapping file into the function layer of the preset complex driver module to obtain the target configuration code data.

[0079] In specific examples, taking the software to be configured, which includes the peripheral chip "ADI 2950," as an example, the peripheral chip communicates with the MCU (Microcontroller Unit) via a four-wire SPI (Serial Peripheral Interface). The ADI 2950's main function is signal sampling via its internal ADC. Specifically, the communication layer sends data via the SPI communication protocol, acting as a bridge between layers. The functional layer is responsible for implementing the specific functions of the peripheral chip and the specific operational steps for implementing those functions, such as acquiring the peripheral chip's input signals, including performing the following steps: requesting ADC conversion, delay processing, reading the result register data, and converting the register data into physical values. The interface layer is used to obtain the sampled physical values ​​obtained by the functional layer for use by other modules.

[0080] By abstracting complex driver modules into a three-layer architecture comprising a communication layer, a functional layer, and an interface layer, decoupling between software modules is achieved while increasing the clarity of the code architecture. This allows each layer to be interconnected yet easily decoupled for adaptation. For example, when other modules need to obtain physical values ​​collected by the complex driver module, they only need to call the API functions provided by the interface layer. Similarly, if the communication protocol needs modification, only the logic of the communication layer needs to be modified.

[0081] In some embodiments, the visual configuration interface includes multiple configuration items, which can be selected, dragged, or filled by the user to perform corresponding configuration operations. In some examples, the configuration items include multiple function parameter controls. In response to the user's drag operation on each function parameter control, the positional relationship of the function configuration code corresponding to each function parameter control can be changed.

[0082] In some embodiments, the software configuration method may further include the following steps: in response to an editing operation performed by a user on a specific component in a host computer configuration component library, changing the code data of the specific component.

[0083] In some embodiments, the visual configuration interface further includes configuration option controls for users to view the configuration component library, and the software configuration method may further include: in response to a user's selection operation of the configuration option controls, displaying configuration component information in the host computer configuration component library in the visual configuration interface.

[0084] By presenting all configuration component information in a visual configuration interface, users can add target components. It's easy to understand that all target components in the visual configuration interface are editable, allowing users to add, remove, or modify them as needed. This improves the flexibility of software configuration, enhancing both development efficiency and adaptability.

[0085] In some examples, the configuration items corresponding to the kernel configuration component may include multiple menu bars corresponding to multiple kernels of the system. For example, it may include four menu bars corresponding to kernel 0, kernel 1, kernel 2 and kernel 3 respectively. If it is determined from the functional description information that the Dio channel (Digital Input / Output Channel) controlling the high and low side switches needs to be assigned to kernel 0, the user can click on the menu bar of kernel 0 and add the channel definition code data in its content to complete the kernel configuration of the channel.

[0086] In some examples, the host computer configuration component library also includes an interface configuration component for implementing custom interface functions. This component includes API interface function configuration items and custom interface function configuration items. The API interface function configuration items allow users to confirm whether to use the default API interface functions, while the custom interface function configuration items are fill-in-the-blank boxes for users to input the code data corresponding to their custom interface logic, allowing for flexible configuration of interface functions according to user needs.

[0087] It should be understood that, although Figure 2 The steps in the flowchart are shown sequentially according to the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Figure 2 Unless otherwise expressly stated herein, the steps illustrated and other steps involved in the embodiments are not subject to strict order restrictions and may be performed in other orders. Furthermore, at least some steps in the foregoing embodiments may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but may be performed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but may be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.

[0088] In a second aspect, embodiments of this disclosure provide a software device, such as Figure 4 As shown, the software configuration device 400 includes: a requirements acquisition module 410, an interface generation module 420, a configuration file generation module 430, a mapping file generation module 440, and a code data generation module 450.

[0089] The requirement acquisition module 410 is used to acquire the functional description information of the functions to be implemented by the software to be configured and the security requirement information indicating the security level of the software to be configured.

[0090] The interface generation module 420 is used to determine the target component from the host computer configuration component library based on the function description information, and generate a visual configuration interface that includes multiple configuration items corresponding to the target component.

[0091] The host computer configuration component library includes multiple components built during the configuration of historical complex device driver software. Configuration items are used by users to configure the functional parameters of the software to be configured.

[0092] The configuration file generation module 430 is used to generate a functional configuration file based on the functional parameter information input through the visual configuration interface.

[0093] The mapping file generation module 440 is used to determine the corresponding memory range based on security requirements information and generate a memory mapping file.

[0094] The code data generation module 450 is used to obtain target configuration code data based on the function configuration file and memory mapping file, so that the vehicle controller can implement the function corresponding to the software to be configured.

[0095] In some embodiments, the interface generation module 420 includes a configuration information determination unit, a component determination unit, and an interface construction unit. The configuration information determination unit is used to determine the configuration information of the function to be implemented based on the function description information. The component determination unit is used to determine the target component for configuring the configuration information from the host computer configuration component library. The interface construction unit is used to generate a visual configuration interface including multiple configuration items corresponding to the target component based on the target component.

[0096] In some embodiments, the components in the host computer configuration component library include dynamic components and static components. Dynamic components are used to implement the configurable functions of the software to be configured, while static components are used to implement data that cannot be modified during the operation of the software to be configured. The interface generation module 420 can also be used to determine the target configurable component from the dynamic components based on the functional description information, and generate a visual configuration interface that includes multiple configuration items corresponding to the target configurable component.

[0097] The software configuration device 400 also includes a static configuration file generation module, which generates a static configuration file based on the parameter information of the static components.

[0098] The code data generation module 450 is also used to obtain target configuration code data based on the function configuration file, memory-mapped file and static configuration file.

[0099] In some embodiments, the software to be configured includes multiple functional modules corresponding to the functions to be implemented. The software configuration device further includes a kernel configuration module. The kernel configuration module is used to allocate the code data and variable data of the same functional module to the same kernel according to the kernel configuration information input by the configuration item corresponding to the kernel configuration component. The kernel configuration information includes the mapping relationship between the variable data of each functional module and the kernel.

[0100] In some embodiments, the security requirement information includes security level information of multiple functional modules in the software to be configured. The mapping file generation module 440 includes a correspondence determination unit and a file generation unit. The correspondence determination unit is used to determine the correspondence between multiple functional modules and memory regions according to the security level information. The file generation unit is used to generate a memory mapping file according to the correspondence.

[0101] In some embodiments, the code data generation module 450 is further configured to integrate the function configuration file and memory-mapped file into the function layer of a preset complex driver module to obtain target configuration code data. The complex driver module includes a communication layer, a function layer, and an interface layer. The communication layer enables communication and interaction between the complex driver module and external devices; the function layer implements the functions corresponding to the target configuration code data; and the interface layer enables data transfer between the function layer and other software modules.

[0102] In some embodiments, the software configuration device 400 further includes a compilation implementation module for compiling and processing the target configuration code data and writing it into the vehicle controller so that the vehicle controller can implement the functions corresponding to the software to be configured.

[0103] For further specific limitations regarding the software configuration device 400, please refer to the limitations of the software configuration method above. The software configuration device can also be used to execute more steps of the software configuration method in the embodiments of this disclosure, which will not be repeated here. Each module in the above-described software configuration device can be implemented entirely or partially through software, hardware, or a combination thereof. Each module can be embedded in or independent of the processor in a computer device in hardware form, or it can be stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0104] In a third aspect, embodiments of this disclosure provide a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the software configuration method provided in any embodiment of the first aspect of this disclosure.

[0105] In some embodiments, the computer device may be a terminal, and its internal structure diagram may be as follows: Figure 5As shown. The computer device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements the software configuration method in any embodiment of this document. The display screen can be a liquid crystal display (LCD) or an electronic ink display. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse, etc.

[0106] Those skilled in the art will understand that Figure 5 The structures shown are merely block diagrams of some structures related to the embodiments of this disclosure and do not constitute a limitation on the computer devices to which the embodiments of this disclosure are applied. Specific computer devices may include more or fewer components than those shown in the figures, or combine certain components, or have different component arrangements.

[0107] In a fourth aspect, embodiments of the present disclosure provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the software configuration method provided in any embodiment of the first aspect of the present disclosure.

[0108] The computer-readable storage medium may be Figure 5 The computer-readable storage medium in the computer device shown.

[0109] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The aforementioned computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments of this disclosure can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0110] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this disclosure.

[0111] The above embodiments merely illustrate several implementation methods of this disclosure, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of protection of this disclosure. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this disclosure, and these all fall within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the appended claims.

Claims

1. A software configuration method, characterized in that, The software is complex device driver software in an open automotive system architecture, and the method includes: Obtain the functional description information of the functions to be implemented by the software to be configured and the security requirement information indicating the security level of the software to be configured; Based on the functional description information, a target component is determined from the host computer configuration component library, and a visual configuration interface is generated that includes multiple configuration items corresponding to the target component; wherein, the host computer configuration component library includes multiple components built during the configuration of historical complex device driver software, and the configuration items are used for users to configure the functional parameters of the software to be configured; Based on the functional parameter information input through the visual configuration interface, a functional configuration file is generated; Based on the security requirements, the corresponding memory range is determined, and a memory mapping file is generated. Based on the function configuration file and the memory mapping file, target configuration code data is obtained so that the vehicle controller can implement the function corresponding to the software to be configured.

2. The method according to claim 1, characterized in that, The step involves determining configurable target components from the host computer configuration component library based on the functional description information, and generating a visual configuration interface that includes multiple configuration items corresponding to the target components, including: Based on the functional description information, the configuration information to be configured for the proposed function is determined. From the host computer configuration component library, the target component for configuring the configuration information is determined, and a visual configuration interface including multiple configuration items corresponding to the target component is generated.

3. The method according to claim 1, characterized in that, The components in the host computer configuration component library include dynamic components and static components. The dynamic components are used to implement the configurable functions of the software to be configured, and the static components are used to implement the data that cannot be modified when the software to be configured is running. The step of determining a target component from a preset host computer configuration component based on the function description information and generating a visual configuration interface including multiple configuration items corresponding to the target component includes: determining a target configurable component from the dynamic components based on the function description information and generating a visual configuration interface including multiple configuration items corresponding to the target configurable component. The method further includes: Based on the parameter information of the static components, a static configuration file is generated; The step of obtaining target configuration code data based on the functional configuration file and the memory mapping file includes: obtaining the target configuration code data based on the functional configuration file, the memory mapping file, and the static configuration file.

4. The method according to claim 1, characterized in that, The components in the host computer configuration component library include a kernel configuration component for kernel allocation of variable data, a module configuration component for functional module division, and a parameter configuration component for setting functional parameters.

5. The method according to claim 4, characterized in that, The software to be configured includes multiple functional modules corresponding to the functions to be implemented, and the method further includes: Based on the kernel configuration information input by the configuration items corresponding to the kernel configuration components, the code data and variable data of the same functional module are assigned to the same kernel; The kernel configuration information includes the mapping relationship between the variable data of each functional module and the kernel.

6. The method according to claim 1, characterized in that, The security requirement information includes the security level information of multiple functional modules in the software to be configured; The step of determining the corresponding memory range and generating a memory mapping file based on the security requirement information includes: Based on the security level information, determine the correspondence between the multiple functional modules and memory regions; The memory-mapped file is generated based on the correspondence.

7. The method according to claim 1, characterized in that, The step of obtaining target configuration code data based on the functional configuration file and the memory mapping file includes: The functional configuration file and the memory mapping file are integrated into the functional layer of a preset complex driver module to obtain the target configuration code data; The complex driver module includes a communication layer, a functional layer, and an interface layer. The communication layer is used to enable communication and interaction between the complex driver module and external devices. The functional layer is used to implement the functions corresponding to the target configuration code data. The interface layer is used to enable data transmission between the functional layer and other software modules.

8. The method according to claim 1, characterized in that, The method further includes: compiling the target configuration code data and writing it into the vehicle controller so that the vehicle controller can implement the function corresponding to the software to be configured.

9. A software configuration device, characterized in that, The device includes: The requirement acquisition module is used to acquire functional description information of the functions to be implemented by the software to be configured and security requirement information indicating the security level of the software to be configured. The interface generation module is used to determine the target component from the host computer configuration component library based on the function description information, and generate a visual configuration interface including multiple configuration items corresponding to the target component; wherein, the host computer configuration component library includes multiple components built in the process of configuring complex device driver software in the past, and the configuration items are used for users to configure the functional parameters of the software to be configured; The configuration file generation module is used to generate a functional configuration file based on the functional parameter information input into the visual configuration interface. The mapping file generation module is used to determine the corresponding memory range based on the security requirement information and generate a memory mapping file. The code data generation module is used to obtain target configuration code data based on the function configuration file and the memory mapping file, so that the vehicle controller can implement the function corresponding to the software to be configured.

10. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.