Software assembly method and device, vehicle, storage medium and program product
By obtaining the vehicle model and determining the target configuration file, the problem of ECU software adapting to different vehicle models was solved, achieving software version unification and cost reduction.
Patent Information
- Application Number
- CN202411113080.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-14
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2044-08-14
AI Technical Summary
In existing technologies, the ECU software cannot be adapted due to differences in vehicle models, requiring the entire software to be recompiled, which increases the development and maintenance workload for Tier 1 suppliers and OEMs.
By obtaining the model of the target vehicle, the target configuration file is determined, and the electronic control unit software is installed based on the configuration file to ensure that the ECU software adapts to the differences between different models and to achieve software version uniformity.
A unified version of ECU software has been implemented, reducing software development and maintenance costs and meeting the needs of different vehicle models.
Smart Images

Figure CN119088471B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, and in particular to a software assembly method, apparatus, vehicle, storage medium, and program product. Background Technology
[0002] Existing solutions typically use the AUTOSAR (Automotive Open System Architecture) toolchain to configure and generate the underlying software on the ECU (Electronic Control Unit) and recompile the overall software to achieve adaptation to different vehicle EEA (Electronic Electric Architecture).
[0003] However, the following problems exist: the underlying software related to communication diagnostics is not decoupled from the overall software, requiring the overall software to be recompiled and flashed onto the ECU. This means that for different vehicle models, the ECU supplier needs to maintain different software versions and software part numbers, which will cause additional development, maintenance, and production-related workload for Tier 1 suppliers and OEMs (Original Equipment Manufacturers). Summary of the Invention
[0004] This application provides a software assembly method, apparatus, vehicle, storage medium, and program product to solve the problems in related technologies, such as the inability of some software to adapt to different vehicle models due to differences in vehicle models, and the high cost of software development and maintenance.
[0005] The first aspect of this application provides a software assembly method, including the following steps: obtaining the vehicle model of the target vehicle; determining the target configuration file of the target vehicle based on the vehicle model; assembling the electronic control unit software of the target vehicle based on the target configuration file, wherein the target configuration file is a configuration file related to the vehicle model.
[0006] Optionally, in one embodiment of this application, determining the target configuration file of the target vehicle based on the vehicle model includes: obtaining the correspondence between vehicle models and target configuration files; and determining the target configuration file by finding the correspondence based on the vehicle model.
[0007] Optionally, in one embodiment of this application, obtaining the correspondence between vehicle models and target configuration files includes: obtaining software content related to the vehicle model; compiling the software content based on a preset format; and fusing the compiled software content with the calibration configuration file to obtain the target configuration file for the vehicle.
[0008] Optionally, in one embodiment of this application, after determining the target configuration file of the target vehicle based on the vehicle model, the method further includes: obtaining a unified basic configuration file for the vehicle; and merging the basic configuration file and the target configuration file to obtain a complete configuration file for the target vehicle.
[0009] Optionally, in one embodiment of this application, assembling the electronic control unit software of the target vehicle based on the target configuration file includes: assembling the electronic control unit software of the target vehicle based on the complete configuration file.
[0010] Optionally, in one embodiment of this application, the target configuration file may also include standardized configuration information of the underlying software northbound interface, wherein the northbound interface is used to provide a standardized communication interface between the electronic control unit of the target vehicle and the application layer.
[0011] A second aspect of this application provides a software assembly apparatus, comprising: an acquisition module for acquiring the model of a target vehicle; a determination module for determining a target configuration file for the target vehicle based on the model; and an assembly module for assembling electronic control unit software for the target vehicle based on the target configuration file, wherein the target configuration file is a configuration file related to the model.
[0012] Optionally, in one embodiment of this application, the determining module is further configured to: obtain the correspondence between vehicle models and target configuration files; and determine the target configuration file based on the correspondence found by the vehicle model.
[0013] Optionally, in one embodiment of this application, the determining module is further configured to: acquire software content related to the vehicle and its model; compile the software content based on a preset format; and merge the compiled software content with a calibration configuration file to obtain the target configuration file for the vehicle.
[0014] Optionally, in one embodiment of this application, it further includes: a fusion module, used to obtain a unified basic configuration file for the vehicle after determining the target configuration file of the target vehicle according to the vehicle model; and to fuse the basic configuration file and the target configuration file to obtain a complete configuration file for the target vehicle.
[0015] Optionally, in one embodiment of this application, the assembly module is further configured to: assemble the electronic control unit software of the target vehicle based on a complete configuration file.
[0016] Optionally, in one embodiment of this application, the target configuration file may also include standardized configuration information of the underlying software northbound interface, wherein the northbound interface is used to provide a standardized communication interface between the electronic control unit of the target vehicle and the application layer.
[0017] A third aspect of this application provides a vehicle, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to perform the software assembly method as described in the above embodiments.
[0018] A fourth aspect of this application provides a computer-readable storage medium having a computer program or instructions stored thereon, which are executed by a processor to perform a software assembly method, as described above.
[0019] A fifth aspect of this application provides a computer program product, including a computer program or instructions, which, when executed, implement the software assembly method as described in the above embodiments.
[0020] Therefore, this application has at least the following beneficial effects:
[0021] This application's embodiments can determine the target configuration file based on the vehicle model, and assemble the ECU software based on the target configuration file. This ensures that the ECU software can adapt to the differences between different vehicle models. Since the target configuration file only contains vehicle-specific content, while the rest of the software is standardized, software version uniformity can be achieved, meeting the needs of different vehicle models and reducing subsequent software development and maintenance costs. Therefore, this solves the technical problems in related technologies where differences in vehicle models lead to some software being unable to adapt to different models, requiring software recompilation for vehicle adaptation, resulting in high software development and maintenance costs.
[0022] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0023] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0024] Figure 1 This is a flowchart of a software assembly method provided according to an embodiment of this application;
[0025] Figure 2 This is a schematic diagram illustrating an application scenario of the software assembly provided according to the embodiments of this application;
[0026] Figure 3 This is a schematic diagram of a unified software version provided according to an embodiment of this application;
[0027] Figure 4 This is a schematic diagram of the northbound interface in the complete configuration file provided according to an embodiment of this application;
[0028] Figure 5This is a schematic diagram of the northbound standard interface provided according to an embodiment of this application;
[0029] Figure 6 This is a schematic diagram illustrating the automatic vehicle model adaptation of the SOC (System on Chip) according to an embodiment of this application.
[0030] Figure 7 This is an example diagram of a software assembly apparatus provided according to an embodiment of this application;
[0031] Figure 8 This is a structural schematic diagram of a vehicle provided according to an embodiment of this application. Detailed Implementation
[0032] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0033] The following description, with reference to the accompanying drawings, outlines a software assembly method, apparatus, vehicle, storage medium, and program product according to embodiments of this application. Addressing the issue mentioned in the background art where ECU suppliers need to maintain different software versions and software part numbers for different vehicle models, resulting in additional development, maintenance, and production-related workload for Tier 1 suppliers and OEMs, this application provides a software update method. In this method, a target configuration file is determined based on the vehicle model, and the ECU software is assembled based on the target configuration file. This ensures that the ECU software can adapt to the differences between different vehicle models and achieves software version uniformity, while simultaneously meeting the needs of different vehicle models. This solves the problems in related technologies where differences in vehicle models lead to some software being unable to adapt to different models, requiring software recompilation for vehicle adaptation, resulting in high software development and maintenance costs.
[0034] Specifically, Figure 1 This is a flowchart illustrating a software assembly method provided in an embodiment of this application.
[0035] like Figure 1 As shown, the software assembly method includes the following steps:
[0036] In step S101, the vehicle model of the target vehicle is obtained.
[0037] The target vehicle can be a vehicle that needs to be updated or has software installed.
[0038] In step S102, the target configuration file for the target vehicle is determined based on the vehicle model.
[0039] The target configuration file is a configuration file related to the vehicle model.
[0040] It is understood that the embodiments of this application can determine the target configuration file of the target vehicle based on the vehicle model, so that the software can be installed based on the target configuration file in the future.
[0041] In this embodiment of the application, determining the target configuration file of the target vehicle based on the vehicle model includes: obtaining the correspondence between vehicle models and target configuration files; and determining the target configuration file by finding the correspondence based on the vehicle model.
[0042] The mapping relationship stores the connection between vehicle models and configuration files.
[0043] It is understood that the embodiments of this application can determine the target configuration file of the target vehicle by looking up the corresponding relationship based on the vehicle model.
[0044] In this embodiment of the application, obtaining the correspondence between vehicle model and target configuration file includes: obtaining software content related to vehicle model; compiling the software content based on a preset format, and merging the compiled software content with the calibration configuration file to obtain the target configuration file of the vehicle.
[0045] The preset format can be set according to specific circumstances. For example, it can be compiled separately in the form of SoftwareCluster (a new feature released in AUTOSAR CP R20); the calibration configuration file is the original CAL.hex file related to the vehicle model.
[0046] It is understood that the embodiments of this application can obtain software content related to the vehicle model, compile the vehicle model-related parts separately according to a preset format, and merge the compiled software content with the calibration configuration file to obtain the target configuration file of the vehicle.
[0047] In this embodiment of the application, after determining the target configuration file of the target vehicle according to the vehicle model, the method further includes: obtaining a unified basic configuration file for the vehicle; and merging the basic configuration file and the target configuration file to obtain a complete configuration file for the target vehicle.
[0048] It is understood that the embodiments of this application can obtain a unified basic configuration file for the vehicle, and merge the basic configuration file and the target configuration file to obtain a complete configuration file for the target vehicle, so as to achieve the uniformity of software versions between different models. However, the configuration files for different models are different, ensuring that the complete configuration file includes both common parts and model-specific parts.
[0049] In this embodiment of the application, the target configuration file also includes standardized configuration information of the underlying software northbound interface, wherein the northbound interface is used to provide a standardized communication interface between the electronic control unit of the target vehicle and the application layer.
[0050] It is understood that the target configuration file in this application embodiment also includes standardized configuration information of the underlying software northbound interface. Through the standardized northbound interface configuration information, the communication interface between the ECU and the application layer is standardized, thereby achieving software interoperability and maintainability.
[0051] In step S103, the electronic control unit software of the target vehicle is assembled based on the target configuration file.
[0052] It is understood that the embodiments of this application can assemble the ECU software of the target vehicle based on the target configuration file, thereby achieving software version uniformity and simultaneously meeting the needs of different vehicle models.
[0053] In this application embodiment, assembling the electronic control unit software of the target vehicle based on the target configuration file includes: assembling the electronic control unit software of the target vehicle based on the complete configuration file.
[0054] It is understood that the embodiments of this application are based on the complete configuration file to assemble the ECU software of the target vehicle, which can both ensure the uniformity of the existing software version and meet the needs of different vehicle models.
[0055] The following specific embodiment illustrates the software assembly method of this application, which can adapt to the differences in the EEA of the whole vehicle, that is, the differences in the vehicle model. Taking the ECU of the vehicle's AUTOSAR CP (AUTOSAR Classic Platform, which is part of the automotive open system architecture) and POSIX OS (an operating system based on the POSIX (Portable Operating System Interface) standard) as an example.
[0056] Specific application scenarios such as Figure 2 As shown, Figure 2 The gray box represents the parts of the vehicle related to EEA. Each time a new vehicle model is adapted, the corresponding underlying software needs to be reconfigured and the overall software version recompiled. Some vehicle models only have a CAN (Controller Area Network) bus, while others have both CAN and ETH (Ethernet) buses, or the specific signals may differ. Therefore, this application embodiment uses a software assembly method to achieve the same main software, one version number, but with different EEA configuration files, while meeting the needs of different vehicle models. The principle is as follows:
[0057] On the MCU (Microcontroller Unit) side: The EEA / vehicle-related parts are compiled separately in the form of a Software Cluster and merged with the original vehicle-related calibration file CAL.hex into a single hex file. During production, different CAL.hex files are flashed for different vehicle models to ensure a unified main software version (the same APP.hex).
[0058] SOC side: The posix-based OS that generally runs in the SOC can dynamically load processes. It only needs to load the corresponding vehicle configuration file at startup through EM (Execution Management module) and run the corresponding process in the communication protocol stack.
[0059] Specifically:
[0060] MCU side: such as Figure 3 As shown, assuming there are two EEA versions, V1 and V2 (different EEA architectures for two different car models), normally, due to differences in the underlying software, two software versions, Software V1 and V2, need to be maintained. The solution here is to compile the EEA / car model-related parts separately using SoftwareCluster (a new feature released in AUTOSAR CP R20), and merge them with the existing car model-related CAL.hex (calibration configuration file) into a single hex file. During production, different CAL.hex files are flashed for different car models to achieve software version uniformity (the same APP.hex).
[0061] It's important to note that the underlying software northbound interface needs to be platform-based. Regardless of changes in the underlying signal, the stability of the northbound interface should be maintained through abstraction. Combining the AUTOSAR Software Cluster concept, this interface should be integrated into CAL.hex as a binary connection, such as... Figure 4 As shown.
[0062] Example of a northbound standard interface Figure 5 As shown: Different signals of EEA V1 and V2 need to be mapped to the same standardized northbound interface for the application layer. This mapping relationship needs to be implemented in the underlying software.
[0063] SOC side: such as Figure 6As shown, the posix-based OS that typically runs in the SOC can dynamically load processes. It only needs to load the corresponding vehicle configuration file (.json file or other file format) at system startup through EM (Execution Management module), and run the corresponding process in the communication protocol stack.
[0064] In summary, this application decouples the main software version from the vehicle model's EEA by splitting the application layer and underlying software into two binary files (MCU side) and by using configuration adaptation (SOC side). This saves development and maintenance workload for Tier 1 suppliers and OEMs. The abstraction of the MCU underlying software's northbound interface, combined with the concept of SoftwareCluster, serves as a stable binary interface implementation. On the SOC side, pre-embedded code and configuration files enable automatic adaptation to different EEAs.
[0065] A prerequisite here is that the underlying software northbound interface needs to be platform-based. Regardless of how the underlying signal changes, the stability of the northbound interface can be maintained through abstraction. Combining the AUTOSAR Software Cluster concept, this interface is integrated into CAL.hex as a binary connection.
[0066] According to the software assembly method proposed in the embodiments of this application, the target configuration file can be determined by the vehicle model, and the ECU software can be assembled based on the target configuration file. This ensures that the ECU software can adapt to the differences between different vehicle models. Since the target configuration file only contains vehicle model-related content, while other parts of the software are uniform, the software version can be unified, while meeting the needs of different vehicle models, thereby reducing the subsequent software development and maintenance costs.
[0067] Next, the software assembly apparatus proposed according to the embodiments of this application is described with reference to the accompanying drawings.
[0068] Figure 7 This is a block diagram of a software assembly apparatus according to an embodiment of this application.
[0069] like Figure 7 As shown, the software assembly device 10 includes: an acquisition module 100, a determination module 200, and an assembly module 300.
[0070] The acquisition module 100 is used to acquire the vehicle model of the target vehicle; the determination module 200 is used to determine the target configuration file of the target vehicle based on the vehicle model; and the assembly module 300 is used to assemble the electronic control unit software of the target vehicle based on the target configuration file, wherein the target configuration file is a configuration file related to the vehicle model.
[0071] In this embodiment of the application, the determining module 200 is further used to: obtain the correspondence between vehicle models and target configuration files; and determine the target configuration file based on the correspondence found by the vehicle model.
[0072] In this embodiment of the application, the determining module 200 is further configured to: obtain software content related to the vehicle and its model; compile the software content based on a preset format; and merge the compiled software content with the calibration configuration file to obtain the target configuration file for the vehicle.
[0073] In this embodiment of the application, the apparatus 10 further includes a fusion module.
[0074] The fusion module is used to obtain a unified basic configuration file for the vehicle after determining the target configuration file for the target vehicle based on the vehicle model; and to merge the basic configuration file and the target configuration file to obtain the complete configuration file for the target vehicle.
[0075] In this embodiment, the assembly module 300 is further used to assemble the electronic control unit software of the target vehicle based on a complete configuration file.
[0076] In this embodiment of the application, the target configuration file also includes standardized configuration information of the underlying software northbound interface, wherein the northbound interface is used to provide a standardized communication interface between the electronic control unit of the target vehicle and the application layer.
[0077] It should be noted that the foregoing explanation of the software assembly method embodiment also applies to the software assembly device of this embodiment, and will not be repeated here.
[0078] According to the software assembly device proposed in the embodiments of this application, the target configuration file can be determined by the vehicle model, and the ECU software can be assembled based on the target configuration file. This ensures that the ECU software can adapt to the differences of different vehicle models. Since the target configuration file only contains vehicle model-related content, while other parts of the software are uniform, the software version can be unified, while meeting the needs of different vehicle models, thereby reducing the subsequent software development and maintenance costs.
[0079] Figure 8 A schematic diagram of the structure of a vehicle provided in an embodiment of this application. The vehicle may include:
[0080] The memory 801, the processor 802, and the computer program stored on the memory 801 and capable of running on the processor 802.
[0081] When the processor 802 executes the program, it implements the software assembly method provided in the above embodiments.
[0082] Furthermore, the vehicle also includes:
[0083] Communication interface 803 is used for communication between memory 801 and processor 802.
[0084] The memory 801 is used to store computer programs that can run on the processor 802.
[0085] The memory 801 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0086] If the memory 801, processor 802, and communication interface 803 are implemented independently, then the communication interface 803, memory 801, and processor 802 can be interconnected via a bus to complete communication between them. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized into address buses, data buses, control buses, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0087] Optionally, in a specific implementation, if the memory 801, processor 802, and communication interface 803 are integrated on a single chip, then the memory 801, processor 802, and communication interface 803 can communicate with each other through an internal interface.
[0088] The processor 802 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.
[0089] This application also provides a computer-readable storage medium storing a computer program or instructions thereon, which, when executed by a processor, implements the software assembly method described above.
[0090] This application also provides a computer program product, including a computer program or instructions, which, when executed, implement the software assembly method described above.
[0091] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0092] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0093] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0094] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or more of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0095] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
Claims
1. A software assembly method, characterized by, The method comprises the following steps: acquiring a vehicle model of a target vehicle; determining a target configuration file of the target vehicle according to the vehicle model; the determining of the target configuration file of the target vehicle according to the vehicle model comprises: acquiring a correspondence between the vehicle model and the target configuration file; determining the target configuration file according to the vehicle model by searching the correspondence; the acquiring of the correspondence between the vehicle model and the target configuration file comprises: acquiring software content related to the vehicle and the vehicle model; compiling the software content based on a preset format, and fusing the compiled software content with a calibration configuration file to obtain a target configuration file of the vehicle; assembling electronic control unit software of the target vehicle based on the target configuration file, wherein the target configuration file is a configuration file related to the vehicle model.
2. The software assembly method of claim 1, wherein, After the determining of the target configuration file of the target vehicle according to the vehicle model, the method further comprises: acquiring a unified basic configuration file of the vehicle; fusing the basic configuration file and the target configuration file to obtain a complete configuration file of the target vehicle.
3. The software assembly method of claim 2, wherein, The assembling of the electronic control unit software of the target vehicle based on the target configuration file comprises: assembling electronic control unit software of the target vehicle based on the complete configuration file.
4. The software assembly method according to any one of claims 1 to 3, characterized in that, The target configuration file further comprises standardized configuration information of a bottom-layer software northbound interface, wherein the northbound interface is used for providing a standardized communication interface between the electronic control unit of the target vehicle and an application layer.
5. A software assembly apparatus, characterized by The method comprises: an acquiring module configured to acquire a vehicle model of a target vehicle; a determining module configured to determine a target configuration file of the target vehicle according to the vehicle model; the determining of the target configuration file of the target vehicle according to the vehicle model comprises: acquiring a correspondence between the vehicle model and the target configuration file; determining the target configuration file according to the vehicle model by searching the correspondence; the acquiring of the correspondence between the vehicle model and the target configuration file comprises: acquiring software content related to the vehicle and the vehicle model; compiling the software content based on a preset format, and fusing the compiled software content with a calibration configuration file to obtain a target configuration file of the vehicle; an assembling module configured to assemble electronic control unit software of the target vehicle based on the target configuration file, wherein the target configuration file is a configuration file related to the vehicle model.
6. A vehicle characterized by comprising: The method comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the software assembly method according to any one of claims 1-4.
7. A computer readable storage medium having stored thereon a computer program or instructions, characterized in that, The computer program or instructions are executed by the processor to implement the software assembly method according to any one of claims 1-4.
8. A computer program product comprising computer programs or instructions, characterized in that, The computer program or instructions are executed to implement the software assembly method according to any one of claims 1-4.
Citation Information
Patent Citations
Configuration method of automobile diagnosis software and related equipment
CN111474921A
Configuration method, device and apparatus of vehicle electronic control unit
CN113238511A