Vehicle-mounted audio and video entertainment domain micro control unit upgrading method, device, equipment and medium
By dividing the MCU into multiple application partitions and keeping one partition running normally during the upgrade process, the issues of user experience impact and security during MCU upgrades are resolved, achieving a seamless, efficient, and secure upgrade process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DONGFENG MOTOR GRP
- Filing Date
- 2026-02-10
- Publication Date
- 2026-06-30
AI Technical Summary
In the existing technology, the upgrade process of the microcontroller unit (MCU) of the in-vehicle audio-visual entertainment domain has problems such as long time consumption, impact on user experience and lack of security protection. In particular, the MCU cannot work properly during the upgrade process and there is a risk of malicious tampering.
The MCU is divided into a bootloader area (BOOT area), a first application area (APP A area), and a second application area (APP B area) by adopting a partition upgrade method. While keeping the first application area running normally, the second application area is subjected to security verification and data writing. After completion, the upgrade is performed by jumping the flag and loading the program, ensuring that the upgrade process does not interfere with the user's use.
It enables seamless MCU upgrades, ensuring users can continue to use the device normally during the upgrade process, while also improving the security and data integrity of the upgrade area and shortening the overall upgrade time.
Smart Images

Figure CN122308880A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of remote upgrade technology for in-vehicle audio-visual entertainment domain microcontroller units, and in particular to an upgrade method, apparatus, device, and medium for in-vehicle audio-visual entertainment domain microcontroller units. Background Technology
[0002] As users spend more time using their vehicles, the in-vehicle infotainment (IVI) system is also being used more frequently, leading to more instances where users are using their vehicles while over-the-air (OTA) upgrades are being performed. Therefore, it is essential to ensure that the OTA upgrade process is seamless and undetectable to the user, while simultaneously protecting the modules involved in the upgrade.
[0003] In existing technologies, some solutions bind the System on Chip (SOC) and Microcontroller Unit (MCU) together for upgrades, which means that when only the MCU needs to be upgraded, the entire system needs to be upgraded, which takes a long time. Other solutions prevent the MCU from working properly during the upgrade process because it is in a flashing state, which is easily noticed by users. They also rely on external storage modules, which increases hardware costs, and lack effective security protection for the upgrade area, which poses a risk of malicious tampering. Summary of the Invention
[0004] This invention provides a method, apparatus, device, and medium for upgrading the microcontroller unit (MCU) of the in-vehicle audio-visual entertainment domain, so as to achieve seamless upgrading of the MCU in the IVI domain.
[0005] According to one aspect of the present invention, a method for upgrading a microcontroller unit in an in-vehicle audio-visual entertainment domain is provided, characterized in that it includes:
[0006] Receive remote upgrade instructions and corresponding upgrade data, and determine the first and second application partitions of the vehicle audio-visual entertainment domain microcontroller based on the upgrade instructions;
[0007] While keeping the first application partition running normally, perform a security check on the second application partition, and then flash the second application partition based on the security check result and the upgrade data;
[0008] After the flashing process is complete, the jump flag is updated and a reboot is triggered. The startup loader jumps to the second application partition after the flashing process is completed based on the jump flag and the partition security status to complete the upgrade.
[0009] According to another aspect of the present invention, an upgrade device for a vehicle-mounted audio-visual entertainment domain microcontroller unit is provided, characterized in that it comprises:
[0010] The partition determination module is used to receive remote upgrade instructions and corresponding upgrade data, and determine the first application partition and the second application partition of the vehicle audio-visual entertainment domain microcontroller based on the upgrade instructions.
[0011] The partition flashing module is used to perform security verification on the second application partition while keeping the first application partition running normally, and to flash the second application partition based on the security verification result and the upgrade data;
[0012] The partition jump module is used to update the jump flag and trigger a reboot after the flashing process is complete. The startup loader jumps to the second application partition after the flashing process is completed based on the jump flag and the partition security status to complete the upgrade.
[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0014] At least one processor;
[0015] and memory that is communicatively connected to at least one processor;
[0016] The memory stores a computer program that can be executed by at least one processor, and the computer program is executed by at least one processor to enable at least one processor to execute the vehicle audio-visual entertainment domain microcontroller upgrade method according to any embodiment of the present invention.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, which stores computer instructions for causing a processor to execute and implement the vehicle audio-visual entertainment domain microcontroller upgrade method of any embodiment of the present invention.
[0018] The technical solution of this invention receives a remote upgrade command and corresponding upgrade data, and determines a first application partition and a second application partition of the in-vehicle audio-visual entertainment domain microcontroller based on the upgrade command. While maintaining the normal operation of the first application partition, a security check is performed on the second application partition, and the second application partition is flashed based on the security check result and the upgrade data. After flashing, the jump flag is updated and a restart is triggered. The loading program jumps to the flashed second application partition according to the jump flag and the partition security status to complete the upgrade. This solves the technical problem of the MCU failing to work properly and affecting the user experience during traditional upgrades. At the same time, the security check ensures the data security of the upgrade area, achieving the technical effect of not interfering with user use during the upgrade process and high security of the upgrade area.
[0019] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 A flowchart illustrating a method for upgrading a vehicle-mounted audio-visual entertainment domain microcontroller unit, as provided in an embodiment of the present invention;
[0022] Figure 2a This is a schematic diagram of the partition structure of a method for upgrading a microcontroller unit in an in-vehicle audio-visual entertainment domain, provided in an embodiment of the present invention.
[0023] Figure 2b A flowchart illustrating the execution logic of the BOOT module in an in-vehicle audio-visual entertainment domain microcontroller upgrade method provided in an embodiment of the present invention;
[0024] Figure 3 This is a schematic diagram of the structure of an upgrade device for a vehicle-mounted audio-visual entertainment domain microcontroller provided in an embodiment of the present invention;
[0025] Figure 4 A schematic diagram of the structure of an electronic device for implementing a method for upgrading a microcontroller unit in the in-vehicle audio-visual entertainment domain according to an embodiment of the present invention. Detailed Implementation
[0026] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0028] Figure 1 This is a flowchart illustrating a method for upgrading a microcontroller unit in an in-vehicle audio-visual entertainment domain, provided by an embodiment of the present invention. This embodiment is applicable to upgrading in-vehicle audio-visual entertainment domain microcontroller units. This method can be executed by an in-vehicle audio-visual entertainment domain microcontroller unit upgrade device, which can be implemented in hardware and / or software and can be configured in an electronic device. For example... Figure 1 As shown, the method specifically includes the following steps:
[0029] S110: Receive remote upgrade instructions and corresponding upgrade data, and determine the first application partition and the second application partition of the vehicle audio-visual entertainment domain microcontroller based on the upgrade instructions.
[0030] Among them, the remote upgrade command can be understood as a command issued via wireless network (OTA) to trigger the upgrade of the microcontroller unit in the in-vehicle audio-visual entertainment domain; the upgrade data can be understood as the program file corresponding to the upgrade command and used to update the functions of the microcontroller unit; the first application partition can be understood as APP A area in the microcontroller unit used to carry application functions and can be used as a working area; the second application partition can be understood as APP B area with the same function as the first application partition and can be used alternately as the area to be upgraded.
[0031] Specifically, the microcontroller receives remote upgrade commands and associated upgrade data via a wireless network, and, based on the requirements in the commands, identifies the first application partition (current working area) and the second application partition (area to be upgraded) involved in this upgrade.
[0032] In some optional instances, the in-vehicle audio-visual entertainment domain microcontroller includes a bootloader area, a first application partition, and a second application partition, both of which have the function of upgrading the other application partition and the bootloader area.
[0033] The bootloader area can be understood as the BOOT area in the microcontroller unit responsible for partition security verification, jump logic judgment, and reboot boot; the upgrade function for another application partition can be understood as the function of one application partition performing erase, write, and verification on another non-working application partition while one application partition is running; the upgrade function for the bootloader area can be understood as the function of the application partition to iteratively update the BOOT area.
[0034] Specifically, the physical partitioning of the in-vehicle audio-visual entertainment domain microcontroller includes a boot loading program area (BOOT area), a first application area (APP A area), and a second application area (APP B area). The two application areas are not only able to take turns undertaking work and upgrade tasks, but also have the ability to upgrade each other and upgrade the boot loading program area, providing a hardware functional foundation for seamless upgrades and BOOT area iterations.
[0035] In some optional embodiments, before receiving the remote upgrade instruction and the corresponding upgrade data, the method further includes: configuring partition security verification rules and jump logic in the bootloader area, and embedding a bootloader upgrade module and a cross-application partition upgrade module in both the first application partition and the second application partition.
[0036] Among them, the partition security verification rule can be understood as a preset verification standard used to determine whether the application partition data is complete and has not been tampered with; the jump logic can be understood as a preset logic for determining the jump target area; the startup loader upgrade module can be understood as a functional module used to implement iterative updates of the BOOT area; and the cross-application partition upgrade module can be understood as a functional module used to perform upgrade operations on another application partition.
[0037] Specifically, before receiving remote upgrade instructions and upgrade data, the partition security verification standard and jump decision logic are pre-configured in the bootloader area. At the same time, the bootloader upgrade module and cross-application partition upgrade module are respectively embedded in the first application partition and the second application partition to complete the functional configuration required for the upgrade in advance and provide support for the subsequent upgrade process.
[0038] In some optional embodiments, determining the first application partition and the second application partition of the in-vehicle audio-visual entertainment domain microcontroller based on the upgrade instruction includes: receiving the current operating area information fed back by the in-vehicle audio-visual entertainment domain microcontroller through the system-on-a-chip, and identifying the first application partition in operation and the second application partition to be upgraded in combination with the upgrade requirements contained in the upgrade instruction.
[0039] Among them, the system-on-a-chip (SoC) can be understood as the SOC that works in conjunction with the microcontroller unit and is responsible for issuing upgrade commands and receiving feedback information; the current operating area information can be understood as the partition information that the microcontroller unit feeds back to the SoC, which is currently carrying application functions; and the upgrade requirement can be understood as the relevant information contained in the remote upgrade command that specifies the upgrade target (application partition or bootloader area).
[0040] Specifically, the system-on-a-chip first receives the current operating area information from the microcontroller unit, combines it with the upgrade requirements specified in the remote upgrade command, identifies the first application partition that is currently running through information matching, and determines the second application partition that is not running as the partition to be upgraded, thus determining the specific target of this upgrade.
[0041] S120. While keeping the first application partition running normally, perform a security check on the second application partition, and then flash the second application partition based on the security check result and the upgrade data.
[0042] Among them, security verification can be understood as checking the integrity of partition data and determining whether there is any abnormal tampering; flashing can be understood as writing upgrade data to the partition to be upgraded and overwriting the original data.
[0043] Specifically, assuming the first application partition is running normally and does not affect the user's use of the vehicle's audio-visual entertainment functions, the second application partition is first checked for data integrity. After confirming that there has been no tampering, the received upgrade data is used to perform a write operation on the second application partition.
[0044] In some optional embodiments, performing security verification on the second application partition includes: reading the partition flag bit of the specified storage area through the bootloader area, verifying the data integrity of the second application partition, and determining whether there is any abnormal tampering; if the upgrade requirement includes bootloader area iteration, then simultaneously performing integrity verification on the bootloader upgrade data through the currently running first application partition.
[0045] Among them, the designated storage area can be understood as the area in the microcontroller's Flash memory specifically used to store key information such as partition flags; data integrity can be understood as the attribute that the partition data has not been maliciously tampered with and has maintained its original intact state; abnormal tampering can be understood as unauthorized modification operations on the partition data; and bootloader area iteration can be understood as the need to update the bootloader area (BOOT area).
[0046] Specifically, the process begins by reading the partition flag of a specified area in the Flash storage through the bootloader area. Based on preset verification rules, the data integrity of the second application partition is checked to determine if any abnormal tampering has occurred. If the upgrade requirement in the remote upgrade command includes bootloader area iteration, the upgrade data of the bootloader is simultaneously verified through the currently running first application partition to ensure the data security of all areas to be upgraded. The preset verification rules include those based on the Cyclic Redundancy Check (CRC) algorithm. This involves pre-calculating and storing the CRC checksum of the original data for each partition, recalculating the CRC checksum of the current partition's data during verification, and comparing the two checksums to determine data integrity. In this embodiment, the preset verification rules can be flexibly set according to the actual application scenario, without limiting their specific algorithms and parameters.
[0047] In some optional embodiments, the step of writing the second application partition based on the security verification result and the upgrade data includes: if the security verification result is passed, erasing the original data of the second application partition and writing the upgrade data to the second application partition in batches.
[0048] The original data can be understood as the original program data in the second application partition that has not been overwritten by the upgrade; the batch flashing can be understood as the operation method of splitting the upgrade data into multiple data packets and writing them to the second application partition in sequence.
[0049] Specifically, when the security verification result of the second application partition is passed, all the original program data in the second application partition is first erased, and then the received upgrade data is split into multiple data packets and written to the second application partition in batches. The stability and accuracy of data writing are improved by performing batch operations.
[0050] For example, the complete upgrade data is split into multiple independent data packets according to a preset fixed size (e.g., 1KB or 4KB per batch), and transmitted and written to the second application partition sequentially. After each batch of data packets is written, the integrity of the batch is checked first. Only after confirming that there are no errors is the next batch transmitted, until all data packets have been written. The preset fixed size can be flexibly set according to the actual application scenario, and this embodiment does not impose specific restrictions on it.
[0051] S130. After the flashing is complete, update the jump flag and trigger a reboot. The bootloader jumps to the second application partition after the flashing is completed based on the jump flag and the partition security status to complete the upgrade.
[0052] Among them, the jump flag can be understood as the identification information stored in a specified area of Flash, used to indicate the target area to which the bootloader will jump; the bootloader can be understood as the BOOT module that runs first after the microcontroller is powered on or restarted, and is responsible for partition verification and jump boot; the partition security status can be understood as whether the partition data is complete and has not been maliciously tampered with.
[0053] Specifically, after the second application partition is flashed, the jump flag (pointing to the flashed second application partition) is updated in the specified area of Flash and the microcontroller is restarted. After restarting, the loader starts to read the updated jump flag and checks the security status of the second application partition and the first application partition. Finally, it jumps to the flashed second application partition to complete the entire upgrade process.
[0054] In some optional embodiments, the step of jumping to the second application partition after flashing based on the jump flag and the partition security status by starting the loader includes: reading the updated jump flag by starting the loader, and verifying the security of the second application partition and the first application partition after flashing respectively; if the second application partition after flashing is secure, then jumping to the second application partition after flashing.
[0055] If the second application partition is abnormal after flashing while the first application partition is safe, then switch to the first application partition and report the abnormality information of the second application partition to the system-on-a-chip.
[0056] The abnormal information for the second application partition can be understood as a message indicating that the second application partition has been tampered with or that the data is abnormal.
[0057] Specifically, after the microcontroller restarts, the startup loader first reads the updated jump flag, and then performs security checks on the second application partition after it has been flashed and the currently running first application partition respectively. If the flashed second application partition is safe and has no abnormalities, it directly jumps to that partition to run. If the flashed second application partition has an abnormality, but the first application partition is safe, it jumps to the first application partition to ensure normal use, and at the same time, it feeds back the abnormal information of the second application partition to the system-on-a-chip for subsequent processing.
[0058] In some alternative embodiments, if both application partitions are abnormal, the application remains in the bootloader area waiting to receive upgrade instructions again.
[0059] The technical solution of this invention receives a remote upgrade command and corresponding upgrade data, and determines a first application partition and a second application partition of the in-vehicle audio-visual entertainment domain microcontroller based on the upgrade command. While maintaining the normal operation of the first application partition, a security check is performed on the second application partition, and the second application partition is flashed based on the security check result and the upgrade data. After flashing, the jump flag is updated and a restart is triggered. The loading program jumps to the flashed second application partition according to the jump flag and the partition security status to complete the upgrade. This solves the technical problem that the MCU cannot work properly during the traditional upgrade process, affecting the user experience. At the same time, the security check ensures the data security of the upgrade area, achieving the technical effect of not interfering with user use during the upgrade process and high security of the upgrade area.
[0060] Figure 2a This is a schematic diagram of the partition structure of a microcontroller unit upgrade method for an in-vehicle audio-visual entertainment domain provided in an embodiment of the present invention. Figure 2a As shown, the structure includes:
[0061] This embodiment divides the MCU into three areas: BOOT, APP A, and APP B. The BOOT section detects whether the APP area has been abnormally modified, determines the area to be worked in after the jump, and executes the jump to the APP area. APP A executes MCU application work and upgrades APP B and the BOOT section. APP B executes MCU application work and upgrades APP A and the BOOT section.
[0062] in, Figure 2b This is a flowchart illustrating the execution logic of the BOOT module in a method for upgrading a microcontroller unit in an in-vehicle audio-visual entertainment domain, as provided in an embodiment of the present invention. Figure 2b As shown, when the MCU powers on (reboots), it runs in the BOOT module. This module first performs information security checks on areas A and B of the APP to determine if they have been maliciously tampered with. Simultaneously, it reads a specified area from the MCU's Flash memory to determine the area to jump to during startup. If the obtained jump area is secure, it jumps directly to that area, and the MCU starts normally. If one area has been tampered with, but the other partition is secure, it jumps to the secure area, the MCU starts, and simultaneously reports to the SOC that the area to be jumped to has been tampered with, requesting an upgrade. If the expected working area cannot be obtained, it jumps to the secure area, and the MCU starts normally. If both partitions have been tampered with, the MCU starts abnormally, running in BOOT, and simultaneously reports to the SOC, waiting for an upgrade from the SOC.
[0063] In the APP module, after the SOC determines the current operating region of the MCU, it sends an upgrade package to the region that is not currently in operation. The MCU then flashes this region. After successful flashing, the desired jump region is written to the specified area in the Flash memory. Finally, by rebooting into the BOOT module, the system determines the desired jump region and enters the upgraded working region, completing the upgrade process.
[0064] Considering the need for iteration of the BOOT module, BOOT upgrade functionality is implemented in both Area A and Area B. An example implementation process is as follows:
[0065] After the MCU powers on or restarts, it enters the BOOT area and first reads the partition flags of APP A and B areas to verify the security of the two application areas (whether they have been maliciously tampered with). If there is a clear jump flag, it will jump to the safe partition specified by the flag first. If there is no flag, it will jump to A area first (in a safe state). If the specified partition is abnormal but the other partition is safe, it will jump to the safe partition and report the abnormality to the SOC. If both partitions are abnormal, it will stay in the BOOT area and wait for the upgrade.
[0066] For example, the upgrade process for the APP area (taking area A as an example) is as follows:
[0067] APP A runs normally and reports its current running status to SOC. SOC then issues the upgrade package for APP B.
[0068] Keep area A working normally, first perform the erase operation on area B, and then flash the upgrade package to area B in batches;
[0069] During the flashing process, each batch of data is verified. If the verification fails, the upgrade process is restarted. If it succeeds, a flag to jump to area B is written to the specified area of Flash.
[0070] The MCU is triggered to restart, re-enter the BOOT area, and is then guided by the BOOT area to the B area where the flashing is completed, thus completing the upgrade.
[0071] For example, the BOOT area upgrade process is as follows:
[0072] When the SOC sends out the BOOT upgrade package, the currently running application partition (A or B) receives the upgrade package and performs a BOOT area erase operation; the upgrade package is then written to the BOOT area and the written data is verified. If the verification fails, the upgrade process is restarted; if the verification is successful, the MCU is triggered to restart. After restarting, the updated BOOT area is entered, and the BOOT area iteration is completed.
[0073] The technical solution of this invention introduces a BOOT area to achieve jump and protection functions, and uses APP segment A / B partitioning to complete the upgrade task. This not only ensures that the core area of the system is not disturbed during the upgrade process, effectively avoiding software and hardware damage, but also achieves a truly seamless upgrade, allowing users to continue using the device normally during the upgrade, greatly improving the user experience. At the same time, this architecture decouples MCU upgrades from SOC upgrades, significantly shortening the overall upgrade time.
[0074] Figure 3 This is a schematic diagram of a microcontroller unit upgrade device for an in-vehicle audio-visual entertainment domain, provided as an embodiment of the present invention. Figure 3 As shown, the device includes: a partition determination module 310, a partition writing module 320, and a partition jump module 330.
[0075] The partition determination module 310 is used to receive remote upgrade instructions and corresponding upgrade data, and determine the first application partition and the second application partition of the vehicle audio-visual entertainment domain microcontroller based on the upgrade instructions; the partition flashing module 320 is used to perform security verification on the second application partition while keeping the first application partition running normally, and flash the second application partition based on the security verification result and the upgrade data; the partition jump module 330 is used to update the jump flag and trigger a restart after the flashing is completed, and jump to the second application partition after the flashing is completed by starting the loading program according to the jump flag and the partition security status to complete the upgrade.
[0076] The technical solution of this invention receives a remote upgrade command and corresponding upgrade data, and determines a first application partition and a second application partition of the in-vehicle audio-visual entertainment domain microcontroller based on the upgrade command. While maintaining the normal operation of the first application partition, a security check is performed on the second application partition, and the second application partition is flashed based on the security check result and the upgrade data. After flashing, the jump flag is updated and a restart is triggered. The loading program jumps to the flashed second application partition according to the jump flag and the partition security status to complete the upgrade. This solves the technical problem of the MCU failing to work properly and affecting the user experience during traditional upgrades. At the same time, the security check ensures the data security of the upgrade area, achieving the technical effect of not interfering with user use during the upgrade process and high security of the upgrade area.
[0077] In some optional embodiments, the in-vehicle audio-visual entertainment domain microcontroller includes a bootloader area, a first application partition, and a second application partition, both of which have the function of upgrading the other application partition and the bootloader area.
[0078] In some alternative embodiments, the apparatus further includes:
[0079] The configuration module is used to configure partition security verification rules and jump logic in the bootloader area before receiving the remote upgrade instruction and the corresponding upgrade data, and to embed the bootloader upgrade module and the cross-application partition upgrade module in both the first application partition and the second application partition.
[0080] In some alternative embodiments, the partition determination module is specifically used for:
[0081] The system-on-a-chip receives the current operating area information from the in-vehicle audio-visual entertainment domain microcontroller unit, and combines it with the upgrade requirements contained in the upgrade command to identify the first application partition that is in operation and the second application partition that needs to be upgraded.
[0082] In some optional embodiments, the partition writing module includes:
[0083] The first verification unit is used to read the partition flag bit of the specified storage area through the startup loader area, verify the data integrity of the second application partition, and determine whether there is any abnormal tampering.
[0084] The second verification unit is used to synchronously perform integrity verification on the bootloader upgrade data through the currently running first application partition if the upgrade requirement includes bootloader area iteration.
[0085] In some optional embodiments, the partition writing module is specifically used for:
[0086] If the security verification result is passed, the original data in the second application partition is erased, and the upgrade data is written to the second application partition in batches.
[0087] In some optional embodiments, the partition jump module includes:
[0088] The security verification unit is used to read the updated jump flag bit through the startup loading program and verify the security of the second application partition and the first application partition after the flashing is completed.
[0089] The first jump unit is used to jump to the flashed second application partition if the second application partition is safe after flashing.
[0090] The second jump unit is used to jump to the first application partition and report the abnormal information of the second application partition to the system-on-a-chip if the second application partition after flashing is abnormal and the first application partition is safe.
[0091] The vehicle audio-visual entertainment domain microcontroller upgrade device provided in this embodiment of the invention can execute the vehicle audio-visual entertainment domain microcontroller upgrade method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method.
[0092] Figure 4 This is a schematic diagram of the structure of an electronic device for implementing the in-vehicle audio-visual entertainment domain microcontroller upgrade method according to an embodiment of the present invention. 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 can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), 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 invention described and / or claimed herein.
[0093] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0094] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0095] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 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 processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the method of upgrading the microcontroller unit in the in-vehicle audio-visual entertainment domain.
[0096] In some embodiments, the method for upgrading the in-vehicle infotainment domain microcontroller unit can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the method for upgrading the in-vehicle infotainment domain microcontroller unit described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the method for upgrading the in-vehicle infotainment domain microcontroller unit by any other suitable means (e.g., by means of firmware).
[0097] 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.
[0098] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0099] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. 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 fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0100] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. 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).
[0101] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users 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., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0102] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through 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. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0103] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0104] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. 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 invention should be included within the scope of protection of this invention.
Claims
1. A method for upgrading a microcontroller unit in an in-vehicle audio-visual entertainment domain, characterized in that, include: Receive remote upgrade instructions and corresponding upgrade data, and determine the first and second application partitions of the vehicle audio-visual entertainment domain microcontroller based on the upgrade instructions; While keeping the first application partition running normally, perform a security check on the second application partition, and then flash the second application partition based on the security check result and the upgrade data; After the flashing process is complete, the jump flag is updated and a reboot is triggered. The startup loader jumps to the second application partition after the flashing process is completed based on the jump flag and the partition security status to complete the upgrade.
2. The method according to claim 1, characterized in that, The in-vehicle audio-visual entertainment microcontroller includes a startup loading area, a first application partition, and a second application partition. Both the first application partition and the second application partition have the function of upgrading the other application partition and the startup loading area.
3. The method according to claim 2, characterized in that, Before receiving the remote upgrade command and corresponding upgrade data, the method further includes: Configure partition security verification rules and jump logic in the bootloader area, and implant bootloader upgrade module and cross-application partition upgrade module in both the first application partition and the second application partition.
4. The method according to claim 1, characterized in that, The process of determining the first and second application partitions of the in-vehicle audio-visual entertainment domain microcontroller based on the upgrade command includes: The system-on-a-chip receives the current operating area information from the in-vehicle audio-visual entertainment domain microcontroller unit, and combines it with the upgrade requirements contained in the upgrade command to identify the first application partition that is in operation and the second application partition that needs to be upgraded.
5. The method according to claim 1, characterized in that, The security verification performed on the second application partition includes: By reading the partition flag of the specified storage area from the startup loader area, the integrity of the data in the second application partition is verified to determine whether there is any abnormal tampering. If the upgrade requirement includes an iteration of the bootloader area, then the integrity of the bootloader upgrade data will be checked synchronously through the currently running first application partition.
6. The method according to claim 1, characterized in that, The step of flashing the second application partition based on the security verification result and the upgrade data includes: If the security verification result is passed, the original data in the second application partition is erased, and the upgrade data is written to the second application partition in batches.
7. The method according to claim 1, characterized in that, The process of jumping to the second application partition after the flashing is completed by starting the loader and based on the jump flag and partition security status includes: By starting the loader and reading the updated jump flag, the security of the second application partition and the first application partition after the flashing is verified respectively. If the second application partition is safe after flashing, then jump to the second application partition after flashing; If the second application partition is abnormal after flashing while the first application partition is safe, then switch to the first application partition and report the abnormality information of the second application partition to the system-on-a-chip.
8. An upgrade device for a vehicle-mounted audio-visual entertainment domain microcontroller unit, characterized in that, include: The partition determination module is used to receive remote upgrade instructions and corresponding upgrade data, and determine the first application partition and the second application partition of the vehicle audio-visual entertainment domain microcontroller based on the upgrade instructions. The partition flashing module is used to perform security verification on the second application partition while keeping the first application partition running normally, and to flash the second application partition based on the security verification result and the upgrade data; The partition jump module is used to update the jump flag and trigger a reboot after the flashing process is complete. The startup loader jumps to the second application partition after the flashing process is completed based on the jump flag and the partition security status to complete the upgrade.
9. An electronic device, characterized in that, The electronic device includes: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the vehicle audio-visual entertainment domain microcontroller upgrade method according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the vehicle audio-visual entertainment domain microcontroller upgrade method according to any one of claims 1-7.