Program upgrading method, device and equipment and vehicle

By loading upgrade programs associated with vehicle model identifiers and peripheral models into the operating system kernel, and splitting the upgrade package into upgrade programs for host model and peripheral model, the problem of high development and maintenance costs of automotive upgrade packages is solved, achieving flexible upgrades and cost reduction.

CN121900775APending Publication Date: 2026-04-21PATEO CONNECT (NANJING) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
PATEO CONNECT (NANJING) CO LTD
Filing Date
2024-10-18
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

The development or maintenance costs of car upgrade packages increase with the number of car models and features, resulting in high upgrade costs.

Method used

By loading upgrade programs associated with vehicle model, host model, and peripheral model into the operating system kernel of electronic devices, and splitting the upgrade package into upgrade programs for host model and peripheral model, flexible upgrades can be achieved, reducing development and maintenance costs.

Benefits of technology

It enables flexible upgrades for different vehicle models, reduces the development and maintenance costs of upgrade packages, and is applicable to vehicles with various operating systems and peripheral models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121900775A_ABST
    Figure CN121900775A_ABST
Patent Text Reader

Abstract

The invention provides a program upgrading method and device, electronic equipment, a vehicle, a readable storage medium and a program product, and relates to the technical field of computers. The method comprises the following steps: a kernel of a first operating system of the electronic equipment obtains vehicle configuration information comprising a first vehicle type identifier, wherein the first vehicle type identifier is associated with a first host model and a first peripheral model; the kernel of the first operating system loads an upgrade program associated with the first host model and the first operating system and an upgrade program associated with the first peripheral model and the first operating system in the upgrade package based on the association relationship between the first vehicle type identifier and the first host model and the first peripheral model, the upgrade package corresponds to one host model and one or more peripheral models. According to the method, flexible upgrading can be carried out, and upgrading package development or maintenance cost is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a program upgrade method, apparatus, electronic device, vehicle, computer-readable storage medium, and computer program product. Background Technology

[0002] With the booming development of the automotive industry, the number of car models is constantly increasing, and the functions of cars are also constantly increasing. For example, a variety of peripheral devices are used to achieve rich functions, which leads to the increasing development or maintenance costs of car upgrade packages. Summary of the Invention

[0003] This disclosure provides a method, apparatus, electronic device, vehicle, computer-readable storage medium, and computer program product for program upgrades, which can be flexibly upgraded and reduce the development or maintenance costs of upgrade packages.

[0004] In a first aspect, embodiments of this disclosure propose a program upgrade method, comprising: the kernel of a first operating system of an electronic device obtaining vehicle configuration information including a first vehicle model identifier, wherein the first vehicle model identifier is associated with a first host model and a first peripheral model; and the kernel of the first operating system, based on the association between the first vehicle model identifier and the first host model and the first peripheral model, loading upgrade programs associated with the first host model and the first operating system, and upgrade programs associated with the first peripheral model and the first operating system, from an upgrade package. The upgrade package corresponds to one host model and one or more peripheral models.

[0005] In one possible implementation, the kernel of the first operating system of the aforementioned electronic device obtains vehicle configuration information including a first vehicle model identifier, including: the microcontroller of the electronic device obtains the vehicle configuration information through a controller area network; in response to the startup of the first operating system of the microprocessor of the electronic device, the microprocessor obtains the vehicle configuration information from the microcontroller; and the microprocessor sends the vehicle configuration information to the kernel of the first operating system.

[0006] In one possible implementation, the microprocessor obtains vehicle configuration information from the microcontroller, including: the microprocessor obtaining vehicle configuration information from the microcontroller via a serial peripheral interface or a general-purpose input / output port. The microprocessor sends the vehicle configuration information to the kernel of the first operating system, including: the microprocessor sending the vehicle configuration information to the kernel of the first operating system via an application programming interface.

[0007] In one possible implementation, the method provided by the first aspect further includes: the kernel of the first operating system sending vehicle configuration information to the kernel of the second operating system; the kernel of the second operating system loading the upgrade program associated with the first host model and the second operating system, as well as the upgrade program associated with the first peripheral model and the second operating system, based on the association between the first vehicle model identifier and the first host model and the first peripheral model.

[0008] In one possible implementation, the kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system, including: in response to the startup of the second operating system on the microprocessor, the kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system.

[0009] In one possible implementation, the aforementioned vehicle configuration information also includes the host model, peripheral model, vehicle class, and / or vehicle export information associated with the first vehicle model identifier. The upgrade program in the upgrade package is associated with the host model, peripheral model, vehicle class, and / or vehicle export information, and the upgrade program is associated with the first operating system or the second operating system.

[0010] Secondly, embodiments of this disclosure propose a program upgrade method, comprising: a microcontroller of an electronic device obtaining vehicle configuration information including a first vehicle model identifier; in response to the startup of a first operating system of the electronic device's microprocessor, the microprocessor obtaining the vehicle configuration information from the microcontroller; the microprocessor sending the vehicle configuration information to the kernel of the first operating system; the kernel of the first operating system loading an upgrade program associated with the first vehicle model identifier and the first operating system in an upgrade package; the kernel of the first operating system sending the vehicle configuration information to the kernel of a second operating system; and the kernel of the second operating system loading an upgrade program associated with the first vehicle model identifier and the second operating system in an upgrade package.

[0011] In one possible implementation, the first vehicle model identifier is associated with the first host model and the first peripheral model. The upgrade package corresponds to a host model and one or more peripheral models. The host model is the first host model, and the one or more peripheral models include the first peripheral model.

[0012] The upgrade program associated with the first vehicle model and the first operating system in the kernel loading upgrade package of the first operating system includes: the upgrade program associated with the first host model and the first operating system in the kernel loading upgrade package of the first operating system, and the upgrade program associated with the first peripheral model and the first operating system.

[0013] The upgrade program associated with the first vehicle model and the second operating system in the kernel loading upgrade package of the second operating system includes: the upgrade program associated with the first host model and the second operating system in the kernel loading upgrade package of the second operating system, and the upgrade program associated with the first peripheral model and the second operating system.

[0014] Thirdly, this disclosure provides a program upgrade apparatus, comprising: an obtaining module configured to obtain vehicle configuration information including a first vehicle model identifier through the kernel of a first operating system, wherein the first vehicle model identifier is associated with a first host model and a first peripheral model; and a first loading module configured to load, through the kernel of the first operating system, an upgrade program associated with the first host model and the first operating system, and an upgrade program associated with the first peripheral model and the first operating system, from an upgrade package based on the association between the first vehicle model identifier and the first host model and the first peripheral model. The upgrade package corresponds to one host model and one or more peripheral models.

[0015] In one possible implementation, the acquisition module is further configured to acquire vehicle configuration information via a microcontroller based on a controller area network; in response to the startup of a first operating system of the electronic device's microprocessor, the microprocessor acquires the vehicle configuration information from the microcontroller; and the microprocessor sends the vehicle configuration information to the kernel of the first operating system.

[0016] In one possible implementation, the acquisition module is further configured to obtain vehicle configuration information from the microcontroller via a serial peripheral interface or a general-purpose input / output port through the microprocessor. The acquisition module is further configured to send the vehicle configuration information to the kernel of a first operating system via an application programming interface through the microprocessor.

[0017] In one possible implementation, the apparatus provided by the second aspect further includes: a sending module configured to send vehicle configuration information from the kernel of the first operating system to the kernel of the second operating system; and a second loading module configured to load, based on the association between the first vehicle model identifier and the first host model and the first peripheral model, the upgrade program associated with the first host model and the second operating system, as well as the upgrade program associated with the first peripheral model and the second operating system, from the upgrade package.

[0018] In one possible implementation, the sending module is further configured to send vehicle configuration information to the kernel of the second operating system via the kernel of the first operating system in response to the startup of the second operating system of the microprocessor.

[0019] In one possible implementation, the vehicle configuration information also includes the host model, peripheral model, vehicle class and / or vehicle export information associated with the first vehicle model identifier. The upgrade program in the upgrade package is associated with the host model, peripheral model, vehicle class and / or vehicle export information, and the upgrade program is associated with the first operating system or the second operating system.

[0020] Fourthly, embodiments of this disclosure provide a program upgrade apparatus, comprising: a first acquisition module configured to acquire vehicle configuration information including a first vehicle model identifier via a microcontroller; a second acquisition module configured to acquire the vehicle configuration information from the microcontroller via a microprocessor in response to the startup of a first operating system on a microprocessor; a first sending module configured to send the vehicle configuration information to the kernel of the first operating system via the microprocessor; a first loading module configured to load an upgrade program associated with the first vehicle model identifier and the first operating system from an upgrade package via the kernel of the first operating system; a second sending module configured to send the vehicle configuration information to the kernel of a second operating system via the kernel of the first operating system; and a second loading module configured to load an upgrade program associated with the first vehicle model identifier and the second operating system from an upgrade package via the kernel of the second operating system.

[0021] In one possible implementation, the first vehicle model identifier is associated with the first host model and the first peripheral model. The upgrade package corresponds to a host model and one or more peripheral models. The host model is the first host model, and the one or more peripheral models include the first peripheral model.

[0022] The first loading module is further configured to load the upgrade program associated with the first host model and the first operating system, as well as the upgrade program associated with the first peripheral model and the first operating system, from the upgrade package via the kernel of the first operating system.

[0023] The second loading module is further configured to load the upgrade program associated with the first vehicle model and the second operating system in the upgrade package through the kernel of the second operating system, including: the upgrade program associated with the first host model and the second operating system in the kernel of the second operating system, and the upgrade program associated with the first peripheral model and the second operating system.

[0024] Fifthly, embodiments of this disclosure provide an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to implement the method described in either the first or second aspect.

[0025] In a sixth aspect, embodiments of this disclosure provide a vehicle, including: a program upgrade device as described in any implementation of the third aspect, or a program upgrade device as described in any implementation of the fourth aspect, or an electronic device as described in any implementation of the fifth aspect.

[0026] In a seventh aspect, embodiments of this disclosure provide a non-transitory computer-readable storage medium storing computer instructions that enable a computer to perform the method as described in either the first or second aspect.

[0027] Eighthly, embodiments of this disclosure provide a computer program product including a computer program that, when executed by a processor, can implement the method as described in either the first or second aspect.

[0028] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0029] Other features, objects, and advantages of this disclosure will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0030] Figure 1 This is an exemplary system architecture to which this disclosure can be applied;

[0031] Figure 2 A flowchart of a program upgrade method provided in this embodiment of the disclosure;

[0032] Figure 3 A flowchart of another program upgrade method provided in this disclosure embodiment;

[0033] Figure 4 A schematic diagram of a scenario provided by an embodiment of this disclosure;

[0034] Figure 5 A flowchart illustrating yet another program upgrade method provided in this disclosure embodiment;

[0035] Figure 6 A structural block diagram of a program upgrade device provided in an embodiment of this disclosure;

[0036] Figure 7 A structural block diagram of another program upgrade device provided in this disclosure embodiment;

[0037] Figure 8 This is a schematic diagram of the structure of an electronic device suitable for implementing a program upgrade method, provided as an embodiment of the present disclosure. Detailed Implementation

[0038] To better understand this application, various aspects of this application will be described in more detail with reference to the accompanying drawings. It should be understood that these detailed descriptions are merely illustrative of exemplary embodiments of this application and are not intended to limit the scope of this application in any way. Throughout the specification, the same reference numerals refer to the same elements. The expression "and / or" includes any and all combinations of one or more of the associated listed items.

[0039] It should be understood that expressions such as "comprising," "including," "having," "containing," and / or "comprising" are open-ended rather than closed-ended expressions in this specification, indicating the presence of the stated features, elements, and / or components, but not excluding the presence of one or more other features, elements, components, and / or combinations thereof. Furthermore, when expressions such as "at least one of..." appear after a list of listed features, they modify the entire list of features, not just individual elements in the list. Additionally, when describing embodiments of this application, the word "may" is used to mean "one or more embodiments of this application." And the term "exemplary" is intended to refer to examples or illustrations.

[0040] Unless otherwise specified, all terms used herein (including engineering and technical terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. It should also be understood that, unless expressly stated herein, terms defined in common dictionaries shall be interpreted as having the meaning consistent with their meaning in the context of the relevant art, and not as having an idealized or overly formalized meaning.

[0041] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. Furthermore, unless explicitly limited or contradicted by the context, the specific steps included in the methods described in this application are not limited to the order in which they are described, but can be performed in any order or in parallel. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0042] Figure 1 An exemplary system architecture 100 is shown, in which embodiments of the program upgrade methods, apparatus, electronic devices, vehicles, computer-readable storage media, and computer program products of this disclosure can be applied.

[0043] like Figure 1As shown, system architecture 100 may include electronic device 101 and server 102, which can be connected via a network. The network serves as the medium for providing a communication link between electronic device 101 and server 102. The network may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.

[0044] Electronic device 101 and server 102 can be either hardware or software. When electronic device 101 is hardware, it can be various electronic devices, including but not limited to in-vehicle devices, vehicles, central control systems, various terminal devices, smartphones, tablets, laptops, and desktop computers, etc. When electronic device 101 is software, it can be installed in the aforementioned electronic devices, and can be implemented as multiple software programs or software modules, or as a single software program or software module; no specific limitations are made here. Optionally, upgrade packages can be stored on server 102, and electronic device 101 can obtain the required upgrade packages from server 102.

[0045] Please refer to Figure 2 , Figure 2 A flowchart of a program upgrade method provided in this disclosure embodiment, wherein process 200 includes the following steps:

[0046] Step 201: The kernel of the first operating system of the electronic device obtains vehicle configuration information including the first vehicle model identifier.

[0047] For example, the first operating system can be any operating system, such as an embedded (Quick Unix, QNX) system or an Android system.

[0048] For example, the vehicle configuration information includes a first vehicle model identifier. After receiving this configuration information, the electronic device can obtain the vehicle model to which it belongs. The first vehicle model identifier is associated with a first host model and a first peripheral model. This association can indicate the model of the host and the model of the peripheral device installed in the vehicle corresponding to the first vehicle model identifier.

[0049] For example, "host" can refer to the vehicle's central control unit, such as a processor or microprocessor unit (MPU). "Peripherals" can refer to external in-vehicle devices, such as screens, cameras, speakers, or dashcams.

[0050] In some embodiments, the vehicle configuration information may also include, but is not limited to: the host model, peripheral model, vehicle class, and / or vehicle exit information associated with the first vehicle model identifier. The host model associated with the first vehicle model identifier may refer to the first host model, and the peripheral model associated with the first vehicle model identifier may refer to the first peripheral model. Different vehicle models may be configured with different host models, different peripherals, different vehicle classes, and / or different vehicle exit information. Different peripherals may include: different peripheral models and / or different numbers of peripherals.

[0051] Vehicle classes are classified differently based on different standards. For example, vehicle classes may include A, B, C, and D classes. Class A vehicles refer to small cars, Class B vehicles refer to mid-range cars, Class C vehicles refer to high-end cars, and Class D vehicles refer to luxury cars.

[0052] Step 202: The kernel of the first operating system loads the upgrade program associated with the first host model and the first operating system, as well as the upgrade program associated with the first peripheral model and the first operating system, based on the association between the first vehicle model identifier and the first host model and the first peripheral model.

[0053] For example, the kernel of the first operating system can load the programs that need to be upgraded in the upgrade package based on the association between the first vehicle model identifier and the first host model and the first peripheral model. For example, it can load the upgrade program associated with the first host model and the first operating system in the upgrade package, and / or load the upgrade program associated with the first peripheral model and the first operating system.

[0054] For example, the upgrade package may include an upgrade program associated with a first host model and a first operating system, and an upgrade program associated with a first peripheral model and a first operating system. Optionally, the number of first peripheral models may be one or more.

[0055] For example, the upgrade package corresponds to a host model and one or more peripheral models.

[0056] For example, the upgrade package may include an upgrade program associated with host model a and the first operating system, an upgrade program associated with peripheral model a and the first operating system, and an upgrade program associated with peripheral model b and the first operating system (assuming there are two peripheral models). For example, in the case of a dual-system setup, the upgrade package may also include an upgrade program associated with host model a and the second operating system, an upgrade program associated with peripheral model a and the second operating system, and an upgrade program associated with peripheral model b and the second operating system (assuming there are two peripheral models).

[0057] Optionally, the upgrade package may include an upgrade program associated with a host model and upgrade programs associated with one or more peripheral models. This allows different vehicle models to use the same host but different peripherals, enabling the loading of both the host upgrade program and the associated peripheral model upgrade program based on the vehicle model identifier. This allows different vehicle models to use the same upgrade package, reducing maintenance costs for vehicle manufacturers. The upgrade program can also be associated with the operating system, vehicle class, and / or vehicle export information, broadening its application scenarios.

[0058] In some embodiments, the upgrade program in the upgrade package may be associated with the host model, peripheral model, vehicle class, and / or vehicle export information.

[0059] An upgrade package may include one or more upgrade programs. For example, an upgrade package may include an upgrade program associated with a head unit model (which may be called a head unit upgrade program), and different head unit models may correspond to different upgrade programs. The head unit upgrade program may also be associated with vehicle class and / or vehicle export information. When head units of the same model have different vehicle class and / or vehicle export information, the corresponding upgrade programs may be different.

[0060] The upgrade package may include an upgrade program associated with the peripheral model (referred to as a peripheral upgrade program). For example, different screen models may correspond to different upgrade programs. The peripheral upgrade program may also be associated with vehicle class and / or vehicle exit information. When screens of the same model have different vehicle class and / or vehicle exit information, the corresponding upgrade programs may be different.

[0061] Optionally, the upgrade program can also be associated with either the first or second operating system, making it suitable for dual-system setups.

[0062] In some embodiments, in response to receiving an upgrade package, the kernel of the first operating system loads the upgrade program associated with the first host model and the first operating system, as well as the upgrade program associated with the first peripheral model and the first operating system, based on the association between the first vehicle model identifier and the first host model and the first peripheral model. For example, receiving the upgrade package may include: receiving the upgrade package after an update has been made, or receiving the upgrade package after the electronic device is powered on for the first time.

[0063] The program upgrade method provided in this application embodiment has an association between the upgrade program in the upgrade package and the host model or peripheral model. The overall upgrade program of the vehicle is split into upgrade programs associated with the host model and upgrade programs associated with each peripheral model. In this way, when different models are upgraded, they can find the corresponding upgrade program for the host model and the upgrade program for the peripheral model in the upgrade package for flexible upgrade. It is not necessary to develop or maintain an upgrade package for each model, which can reduce development or maintenance costs.

[0064] Please refer to Figure 3 , Figure 3 The flowchart of a program upgrade method provided in this embodiment of the disclosure includes the following steps 301-302, which can be used in combination with the above steps 201-203.

[0065] Step 301: The kernel of the first operating system of the electronic device obtains vehicle configuration information including the first vehicle model identifier.

[0066] Step 302: The kernel of the first operating system loads the upgrade program associated with the first host model and the first operating system, as well as the upgrade program associated with the first peripheral model and the first operating system, based on the association between the first vehicle model identifier, the first host model, and the first peripheral model.

[0067] Steps 301-302 above are the same as those mentioned above. Figure 2 Steps 201-202 shown are the same. For the same parts, please refer to the corresponding parts of the previous embodiment. They will not be repeated here.

[0068] Step 303: The kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system.

[0069] For example, the second operating system can be any operating system different from the first operating system, such as an embedded system or Android system.

[0070] Optionally, this application does not limit the timing of the first operating system kernel sending vehicle configuration information to the second operating system kernel. For example, the first operating system kernel may send vehicle configuration information to the second operating system kernel before step 302; or the first operating system kernel may send vehicle configuration information to the second operating system kernel after step 302.

[0071] Step 304: The kernel of the second operating system loads the upgrade program associated with the first host model and the first peripheral model from the upgrade package, based on the association between the first vehicle model identifier and the first host model and the first peripheral model.

[0072] For example, the upgrade package may also include an upgrade program associated with a first host model and a second operating system, and an upgrade program associated with a first peripheral model and a second operating system. Optionally, the number of first peripheral models may be one or more.

[0073] The program upgrade method provided in this application embodiment has an association between the upgrade program in the upgrade package and the operating system, host model, or peripheral model, so that even if the device uses multiple operating systems, the program can be upgraded correctly.

[0074] In some embodiments, step 201, in which the kernel of the first operating system of the electronic device obtains vehicle configuration information including a first vehicle model identifier, may include: the microcontroller of the electronic device obtaining the vehicle configuration information through a controller local area network; in response to the startup of the first operating system of the microprocessor of the electronic device, the microprocessor obtaining the vehicle configuration information from the microcontroller; and the microprocessor sending the vehicle configuration information to the kernel of the first operating system.

[0075] Combination Figure 4 After the electronic device is powered on, its microcontroller unit (MCU) starts operating. Vehicle configuration information is written to the MCU via the Controller Area Network (CAN). The MCU then obtains the vehicle configuration information through the CAN and can store it. After the microprocessor is powered on, in response to the startup of the microprocessor's primary operating system (such as QNX), the microcontroller sends the vehicle configuration information to the microprocessor, which is then transmitted to the kernel of the primary operating system.

[0076] In some embodiments, the microprocessor obtaining vehicle configuration information from the microcontroller may include: the microprocessor obtaining vehicle configuration information from the microcontroller through a serial peripheral interface or a general-purpose input / output port.

[0077] Combination Figure 4 The microprocessor obtains vehicle configuration information from the microcontroller via the Serial Peripheral Interface (SPI) or General-Purpose Input / Output Ports (GPIO). Correspondingly, the microcontroller sends vehicle configuration information to the microprocessor via SPI or GPIO. GPIO mode refers to a pure hardware method using one or more GPIO pins; for example, using four GPIO pins can indicate 16 different vehicle models. Obtaining vehicle configuration information via pure hardware is more reliable.

[0078] In some embodiments, the microprocessor sending vehicle configuration information to the kernel of the first operating system may include: the microprocessor sending vehicle configuration information to the kernel of the first operating system through an application programming interface (API).

[0079] Combination Figure 4The microprocessor sends vehicle configuration information to various drivers and / or services of the first operating system via a shared API. Drivers may include, but are not limited to, audio drivers, display drivers, and camera drivers. The drivers and / or services load the corresponding update programs based on the vehicle configuration information.

[0080] In some embodiments, step 301 above, in which the kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system, includes: in response to the startup of the second operating system of the microprocessor, the kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system.

[0081] For example, the startup of a second operating system can be controlled by adding startup parameters through the Virtual Machine Manager (VMM) command line. These parameters can be used to debug and optimize the startup process or to configure the system.

[0082] Combination Figure 4 The kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system (such as Android). The kernel of the second operating system can send the vehicle configuration information to various drivers and / or services of the second operating system through a shared API, and the drivers and / or services load the corresponding upgrade programs based on the vehicle configuration information.

[0083] Please refer to Figure 5 , Figure 5 The flowchart of a program upgrade method provided in this embodiment of the disclosure includes the following steps 501-506, and steps 301-302 can be used in combination with the above steps 201-203.

[0084] Step 501: The microcontroller of the electronic device obtains vehicle configuration information including the first vehicle model identifier.

[0085] For example, the microcontroller of an electronic device obtains vehicle configuration information through a controller area network (CLAN). The specific implementation method can be found in the above-described combination. Figure 4 The corresponding explanation will not be repeated here.

[0086] Step 502: In response to the startup of the first operating system of the electronic device's microprocessor, the microprocessor obtains vehicle configuration information from the microcontroller.

[0087] Step 503: The microprocessor sends vehicle configuration information to the kernel of the first operating system.

[0088] The specific implementation methods of steps 502 and 503 can be referred to the above combination. Figure 4 The corresponding explanation will not be repeated here.

[0089] Step 504: The kernel of the first operating system loads the upgrade program associated with the first vehicle model identifier and the first operating system from the upgrade package.

[0090] Step 505: The kernel of the first operating system sends vehicle configuration information to the kernel of the second operating system.

[0091] The specific implementation of step 505 can be referred to the explanation of step 303 above, and will not be repeated here.

[0092] Step 506: The kernel of the second operating system loads the upgrade program associated with the first vehicle model identifier and the second operating system from the upgrade package.

[0093] The program upgrade method provided in this application embodiment can upgrade the programs of dual systems through a microcontroller. It can flexibly upgrade by finding the corresponding model identification upgrade program from the upgrade package, without having to develop or maintain an upgrade package for each model, thus reducing development or maintenance costs.

[0094] For example, the upgrade package may include an upgrade program associated with a first host model and a first operating system, and an upgrade program associated with a first peripheral model and a first operating system. Optionally, the number of first peripheral models may be one or more.

[0095] In some embodiments, the first vehicle model identifier is associated with the first host model and the first peripheral model. The upgrade package corresponds to a host model and one or more peripheral models. The host model is the first host model, and the one or more peripheral models include the first peripheral model.

[0096] For details on the implementation of the upgrade package, please refer to the above. Figure 2 The corresponding explanations in the provided methods will not be repeated here.

[0097] Optionally, the upgrade program associated with the first vehicle model and the first operating system in the kernel loading upgrade package of the first operating system in step 504 may include: the upgrade program associated with the first host model and the first operating system in the kernel loading upgrade package of the first operating system, and the upgrade program associated with the first peripheral model and the first operating system. For specific implementation details, please refer to the relevant description in step 302 above, which will not be repeated here.

[0098] Optionally, the upgrade program associated with the first vehicle model and the second operating system in the kernel loading upgrade package of the second operating system in step 506 may include: the upgrade program associated with the first host model and the second operating system in the kernel loading upgrade package of the second operating system, and the upgrade program associated with the first peripheral model and the second operating system. For specific implementation details, please refer to the relevant description in step 304 above, which will not be repeated here.

[0099] Further reference Figure 6 As an implementation of the methods shown in the above figures, this disclosure provides an embodiment of a program upgrade device, which corresponds to the above method embodiments and can be specifically applied to various electronic devices.

[0100] like Figure 6 As shown, the program upgrade device 600 of this embodiment may include an acquisition module 601 and a first loading module 602. The acquisition module 601 is configured to obtain vehicle configuration information, including a first vehicle model identifier, through the kernel of a first operating system. The first vehicle model identifier is associated with a first host model and a first peripheral model. The first loading module 602 is configured to load, based on the association between the first vehicle model identifier and the first host model and the first peripheral model, the upgrade program associated with the first host model and the first operating system, and the upgrade program associated with the first peripheral model and the first operating system, from the upgrade package through the kernel of the first operating system. Each upgrade package corresponds to one host model and one or more peripheral models.

[0101] In this embodiment, the specific processing of the acquisition module 601 and the first loading module 602 in the program upgrade device 600 and the resulting technical effects can be referred to the relevant descriptions of the above method embodiments, and will not be repeated here.

[0102] In one possible implementation, module 601 is further configured to obtain vehicle configuration information via a microcontroller based on a controller area network; in response to the startup of a first operating system of the electronic device's microprocessor, the microprocessor obtains the vehicle configuration information from the microcontroller; and the microprocessor sends the vehicle configuration information to the kernel of the first operating system.

[0103] In one possible implementation, the obtaining module 601 is further configured to acquire vehicle configuration information from the microcontroller via a microprocessor using a serial peripheral interface or a general purpose input / output port. The obtaining module 601 is further configured to send the vehicle configuration information to the kernel of a first operating system via a microprocessor using an application programming interface.

[0104] In one possible implementation, the program upgrade device 600 further includes: a sending module configured to send vehicle configuration information from the kernel of the first operating system to the kernel of the second operating system; and a second loading module configured to load, based on the association between the first vehicle model identifier and the first host model and the first peripheral model, the upgrade program associated with the first host model and the second operating system, as well as the upgrade program associated with the first peripheral model and the second operating system, from the upgrade package.

[0105] In one possible implementation, the sending module is further configured to send vehicle configuration information to the kernel of the second operating system via the kernel of the first operating system in response to the startup of the second operating system of the microprocessor.

[0106] In one possible implementation, the vehicle configuration information also includes the host model, peripheral model, vehicle class and / or vehicle export information associated with the first vehicle model identifier. The upgrade program in the upgrade package is associated with the host model, peripheral model, vehicle class and / or vehicle export information, and the upgrade program is associated with the first operating system or the second operating system.

[0107] refer to Figure 7 As an implementation of the methods shown in the above figures, this disclosure provides another embodiment of a program upgrade device, which corresponds to the above method embodiments and can be specifically applied to various electronic devices.

[0108] like Figure 7 As shown, the program upgrade device 700 of this embodiment may include: a first acquisition module 701, a second acquisition module 702, a first sending module 703, a first loading module 704, a second sending module 705, and a second loading module 706. The first acquisition module 701 is configured to obtain vehicle configuration information, including a first vehicle model identifier, through a microcontroller. The second acquisition module 702 is configured to obtain the vehicle configuration information from the microcontroller through the microprocessor in response to the startup of a first operating system on the microprocessor. The first sending module 703 is configured to send the vehicle configuration information to the kernel of the first operating system through the microprocessor. The first loading module 704 is configured to load the upgrade program associated with the first vehicle model identifier and the first operating system in the upgrade package through the kernel of the first operating system. The second sending module 705 is configured to send the vehicle configuration information to the kernel of a second operating system through the kernel of the first operating system. The second loading module 706 is configured to load the upgrade program associated with the first vehicle model identifier and the second operating system in the upgrade package through the kernel of the second operating system.

[0109] In one possible implementation, the first vehicle model identifier is associated with the first host model and the first peripheral model. The upgrade package corresponds to a host model and one or more peripheral models. The host model is the first host model, and the one or more peripheral models include the first peripheral model.

[0110] The first loading module 704 is further configured to load the upgrade program associated with the first host model and the first operating system, as well as the upgrade program associated with the first peripheral model and the first operating system, from the upgrade package via the kernel of the first operating system.

[0111] The second loading module 706 is further configured to load an upgrade program associated with the first vehicle model and the second operating system in the upgrade package through the kernel of the second operating system, including: an upgrade program associated with the first host model and the second operating system in the kernel loading upgrade package of the second operating system, and an upgrade program associated with the first peripheral model and the second operating system.

[0112] This embodiment exists as a device embodiment corresponding to the above method embodiment. The technical effects brought about by the program upgrade device provided in this embodiment can be referred to the relevant descriptions in the above method embodiment, which will not be repeated here.

[0113] According to embodiments of this disclosure, this disclosure also provides an electronic device, the electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the program upgrade method described in any of the above embodiments to be implemented when the at least one processor executes them.

[0114] According to embodiments of this disclosure, this disclosure also provides a vehicle, including: Figure 6 The program upgrade device described in any of the implementations, or, as Figure 7 The program upgrade device described in any of the following implementations, or, as follows Figure 8 An electronic device described in any implementation manner.

[0115] According to embodiments of this disclosure, this disclosure also provides a readable storage medium storing computer instructions that enable a computer to implement the program upgrade method described in any of the above embodiments when executed.

[0116] According to embodiments of this disclosure, this disclosure also provides a computer program product that, when executed by a processor, can implement the program upgrade method described in any of the above embodiments.

[0117] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0118] like Figure 8 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0119] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0120] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the program upgrade method. For example, in some embodiments, the program upgrade method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the program upgrade method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the program upgrade method by any other suitable means (e.g., by means of firmware).

[0121] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0122] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0123] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0124] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0125] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0126] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service ecosystem to address the management difficulties and weak business scalability inherent in traditional physical hosts and Virtual Private Servers (VPS) services. Servers can also be servers for distributed systems or servers integrated with blockchain technology.

[0127] According to the technical solution of this disclosure, the upgrade program in the upgrade package is associated with the host model or the peripheral model. The overall upgrade program of the vehicle is split into an upgrade program associated with the host model and an upgrade program associated with each peripheral model. In this way, when different models are upgraded, they can find the corresponding upgrade program for the host model and the upgrade program for the peripheral model in the upgrade package for flexible upgrade. It is not necessary to develop or maintain an upgrade package for each model, which can reduce development or maintenance costs.

[0128] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0129] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A program upgrade method, comprising: The kernel of the first operating system of the electronic device obtains vehicle configuration information including a first vehicle model identifier, which is associated with the first host model and the first peripheral model. The kernel of the first operating system loads the upgrade program associated with the first host model and the first operating system, as well as the upgrade program associated with the first peripheral model and the first operating system, based on the association between the first vehicle model identifier and the first host model and the first peripheral model in the upgrade package; wherein, the upgrade package corresponds to one host model and one or more peripheral models.

2. The method according to claim 1, wherein, The kernel of the first operating system of the electronic device obtains vehicle configuration information including a first vehicle model identifier, including: The microcontroller of the electronic device obtains the vehicle configuration information through a controller local area network; In response to the startup of a first operating system on the microprocessor of the electronic device, the microprocessor obtains the vehicle configuration information from the microcontroller; The microprocessor sends the vehicle configuration information to the kernel of the first operating system.

3. The method according to claim 2, wherein, The microprocessor obtains the vehicle configuration information from the microcontroller, including: the microprocessor obtains the vehicle configuration information from the microcontroller through a serial peripheral interface or a general-purpose input / output port; The microprocessor sends the vehicle configuration information to the kernel of the first operating system, including: the microprocessor sends the vehicle configuration information to the kernel of the first operating system through an application programming interface.

4. The method according to any one of claims 1-3, further comprising: The kernel of the first operating system sends the vehicle configuration information to the kernel of the second operating system; The kernel of the second operating system loads the upgrade program associated with the first host model and the second operating system, as well as the upgrade program associated with the first peripheral model and the second operating system, based on the association between the first vehicle model identifier, the first host model, and the first peripheral model.

5. The method according to claim 4, wherein, The kernel of the first operating system sends the vehicle configuration information to the kernel of the second operating system, including: In response to the startup of the second operating system on the microprocessor, the kernel of the first operating system sends the vehicle configuration information to the kernel of the second operating system.

6. The method according to any one of claims 1-3, wherein, The vehicle configuration information also includes the host model, peripheral model, vehicle class and / or vehicle export information associated with the first vehicle model identifier. The upgrade program in the upgrade package is associated with the host model, peripheral model, vehicle class and / or vehicle export information, and the upgrade program is associated with the first operating system or the second operating system.

7. A program upgrade method, comprising: The microcontroller of the electronic device obtains vehicle configuration information, including the first vehicle model identifier; In response to the startup of a first operating system on the microprocessor of the electronic device, the microprocessor obtains the vehicle configuration information from the microcontroller; The microprocessor sends the vehicle configuration information to the kernel of the first operating system; The kernel of the first operating system loads the upgrade program associated with the first vehicle model identifier and the first operating system from the upgrade package; The kernel of the first operating system sends the vehicle configuration information to the kernel of the second operating system; The kernel of the second operating system loads the upgrade program associated with the first vehicle model identifier and the second operating system in the upgrade package.

8. The method according to claim 7, wherein, The first vehicle model identifier is associated with the first host model and the first peripheral model. The upgrade package corresponds to a host model and one or more peripheral models. The host model is the first host model, and the one or more peripheral models include the first peripheral model. The kernel of the first operating system loads the upgrade program associated with the first vehicle model and the first operating system in the upgrade package, including: the kernel of the first operating system loads the upgrade program associated with the first host model and the first operating system in the upgrade package, and the upgrade program associated with the first peripheral model and the first operating system. The kernel of the second operating system loads the upgrade program associated with the first vehicle model and the second operating system in the upgrade package, including: the kernel of the second operating system loads the upgrade program associated with the first host model and the second operating system in the upgrade package, and the upgrade program associated with the first peripheral model and the second operating system.

9. A program upgrade device, comprising: The acquisition module is configured to obtain vehicle configuration information, including a first vehicle model identifier, through the kernel of the first operating system. The first vehicle model identifier is associated with the first host model and the first peripheral model. The first loading module is configured to load the upgrade program associated with the first host model and the first operating system, and the upgrade program associated with the first peripheral model and the first operating system, based on the association between the first vehicle model identifier and the first host model and the first peripheral model in the upgrade package through the kernel of the first operating system; wherein, the upgrade package corresponds to one host model and one or more peripheral models.

10. A program upgrade device, comprising: The first acquisition module is configured to obtain vehicle configuration information, including the first vehicle model identifier, through the microcontroller; The second acquisition module is configured to acquire the vehicle configuration information from the microcontroller via the microprocessor in response to the startup of the first operating system of the microprocessor. The first sending module is configured to send the vehicle configuration information to the kernel of the first operating system via the microprocessor; The first loading module is configured to load the upgrade program associated with the first vehicle model and the first operating system from the upgrade package via the kernel of the first operating system; The second sending module is configured to send the vehicle configuration information to the kernel of the second operating system through the kernel of the first operating system; The second loading module is configured to load the upgrade program associated with the first vehicle model identifier and the second operating system from the upgrade package via the kernel of the second operating system.

11. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the program upgrade method as described in any one of claims 1-6, or claim 7 or 8.

12. A vehicle comprising: The program upgrade device as claimed in claim 9, or the program upgrade device as claimed in claim 10, or the electronic device as claimed in claim 11.

13. A non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform any one of claims 1-6, or the program upgrade method as described in claim 7 or 8.

14. A computer program product comprising a computer program that, when executed by a processor, implements the steps of the program upgrade method according to any one of claims 1-6, or claim 7 or 8.