OTA data upgrading method and equipment

By dynamically allocating memory partitions in multi-core heterogeneous systems, the problem of insufficient flexibility in the OTA upgrade method in the prior art is solved, and the effective utilization of storage resources is achieved.

CN119759386AActive Publication Date: 2025-04-04BEIJING SEMIDRIVE TECHNOLOGY LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411648928.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2025-04-04
Estimated Expiration
2044-11-18

Smart Images

  • Figure CN119759386A_ABST
    Figure CN119759386A_ABST
Patent Text Reader

Abstract

The invention discloses an OTA data upgrading method and device. The method comprises the steps of obtaining to-be-upgraded OTA data; obtaining OTA sub-data of each domain system and original storage information of each domain system from the to-be-upgraded OTA data, wherein the original storage information is used for representing a mapping relationship between a physical address of an original storage partition of each domain system and a logic address of the original storage partition; on the basis of the indication information of the OTA sub-data of each domain system and the original storage information of each domain system, distributing a new storage partition for each domain system from a second storage space of the target storage resource; obtaining new storage information of each domain system based on the new storage partitions distributed for each domain system; and on the basis of the new storage information of each domain system, upgrading the OTA sub-data of each domain system so as to realize upgrading of the to-be-upgraded OTA data in the multi-core heterogeneous system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Over-the-Air Technology (OTA) upgrade technology, and in particular to an OTA data upgrade method and device. Background Art

[0002] With the popularity of the OTA upgrade function of automobiles, more and more users tend to use the OTA function to upgrade the automobile firmware functions. At present, the OTA upgrade method is a non-perceptual upgrade method that will not affect the normal use of the car. Because the OTA function has a rollback feature, when the upgrade fails, the rollback function can be used to make the car function roll back to the function before the upgrade, thereby achieving normal use of the car.

[0003] In the related technology, the A storage area and the B storage area, that is, the running slot and the backup slot are usually used to upgrade the OTA data. Among them, the A storage area is used to store the current running data, and the B storage area is used to store the data to be upgraded. The data in the B storage area is used for OTA upgrade, and vice versa. When the OTA upgrade fails, the data stored in the A storage area is used to implement the OTA rollback to achieve normal use of the car.

[0004] For storage resources such as EMMC and Flash, it is necessary to divide the storage resources into A storage area and B storage area. This division method is a static division method. The partition table used in the storage area is also a static partition table. The OTA upgrade implemented using this static method is not flexible enough and cannot achieve effective use of storage resources. Summary of the invention

[0005] The present application provides an OTA data upgrade method and device to at least solve the above technical problems existing in the prior art.

[0006] According to a first aspect of the present application, a method for upgrading OTA data using an over-the-air download technology is provided, which is applied to a multi-core heterogeneous system, wherein the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, and the hardware domains are isolated from each other; each hardware domain is configured with an independently running operating system, and each hardware domain and the operating system of each hardware domain constitute each domain system; the method includes:

[0007] Get the OTA data to be upgraded;

[0008] Obtaining OTA sub-data of each domain system and original storage information of each domain system from the OTA data to be upgraded, wherein the original storage information is used to characterize a mapping relationship between a physical address of an original storage partition of each domain system and a logical address of an original storage partition, wherein the original storage partition of each domain system is a storage partition allocated to each domain system in a first storage space of a target storage resource;

[0009] Allocate a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system;

[0010] Based on the new storage partitions allocated to the systems in each domain, new storage information of the systems in each domain is obtained;

[0011] Based on the new storage information of each domain system, the OTA sub-data of each domain system is upgraded to achieve the upgrade of the OTA data to be upgraded in the multi-core heterogeneous system.

[0012] In one possible implementation, the original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two;

[0013] The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes:

[0014] If the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is the same as the number of original storage partitions of the domain system, allocating the same number of new storage partitions to the domain system from the second storage space of the target storage resource;

[0015] In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of each original storage partition, and the logical address of each new storage partition is different from the logical address of each original storage partition.

[0016] In one possible implementation, when the size of each new storage partition occupied by the OTA sub-data of the domain system is the same as the size of each original storage partition, a logical address that is continuous with the logical address of each original storage partition is used as the logical address of each new storage partition.

[0017] In one possible implementation, the original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two;

[0018] The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes:

[0019] If the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is different from the number of original storage partitions of the domain system, allocating new storage partitions of the number required by the OTA sub-data to the domain system from the second storage space of the target storage resource;

[0020] In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address and logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition.

[0021] In one possible implementation, the original storage information includes the occupied size of the original storage partition; the allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes:

[0022] If the indication information of the OTA sub-data of at least one domain system is used to indicate that the size of the storage partition occupied by the OTA sub-data of the domain system is different from the size of the original storage partition of the domain system, a plurality of new storage partitions of the required size of the OTA sub-data are allocated to the domain system from the second storage space of the target storage resource;

[0023] In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition.

[0024] In one possible implementation, the target storage resource is used to store at least a first type of data and a second type of data;

[0025] The original storage information is used at least to characterize a mapping relationship between a physical address and a logical address of an original storage partition for data of the first type, and a mapping relationship between a physical address and a logical address of an original storage partition for data of the second type;

[0026] The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes:

[0027] When the OTA sub-data of at least one domain system is first type data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, a new storage partition is allocated for the first type data of the domain system from the second storage space of the target storage resource as a new storage partition allocated for each domain system;

[0028] The new storage information of the domain system includes a mapping relationship between the physical address of each new storage area for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address and the logical address of the original storage partition for the second type of data.

[0029] In one embodiment, the method further comprises:

[0030] When the OTA sub-data of at least one domain system includes first-type data and second-type data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, allocating a new storage partition for the first-type data of the domain system and allocating a new storage partition for the second-type data of the domain system from the second storage space of the target storage resource as a new storage partition allocated to the domain system;

[0031] wherein the physical address of the new storage partition allocated for the first type of data is different from the physical address of the new storage partition allocated for the second type of data;

[0032] The new storage information of the domain system includes a mapping relationship between the physical address of each new storage partition for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address of each new storage partition for the second type of data and the logical address of each new storage partition.

[0033] In one embodiment, the method further comprises:

[0034] Obtaining at least one of the number and size of storage partitions required for the second type of data;

[0035] Based on the at least one information, a new storage partition is allocated for the second type of data of the domain system from the second storage space of the target storage resource, a physical address of the new storage partition is obtained, and a logical address is allocated to the new storage partition, and a mapping relationship between the physical address and the logical address of the new storage partition for the second type of data is obtained based on the physical address and the logical address of the new storage partition;

[0036] Among them, the physical address of each new storage partition allocated for the second type data is different from the physical address of the original storage partition of the second type data, and the logical address of each new storage partition allocated for the second type data is different from the logical address of the original storage partition of the second type data.

[0037] In one embodiment, the method further comprises:

[0038] In response to the successful upgrade of the OTA data to be upgraded in the multi-core heterogeneous system, deleting the data stored in the original storage partition of each domain system, and classifying the original storage partition into the second storage space of the target storage resource;

[0039] The original storage information of each domain system is backed up in the third storage space of the target storage resource. In response to the upgrade failure of the OTA data to be upgraded in the multi-core heterogeneous system, the original storage information of each domain system in the third storage space is obtained, and each domain system is restarted according to the storage data in the original storage partition in the original storage information of each domain system to realize the rollback of the OTA data.

[0040] According to a second aspect of the present application, an upgrade device for OTA data using an over-the-air download technology is provided, the device being located in a multi-core heterogeneous system, the multi-core heterogeneous system comprising at least two hardware domains; each hardware domain being composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, the hardware domains being isolated from each other; each hardware domain being configured with an independently running operating system, each hardware domain and the operating system of each hardware domain constituting each domain system; the device comprising:

[0041] A first obtaining unit, used to obtain OTA data to be upgraded;

[0042] A second obtaining unit is used to obtain OTA sub-data of each domain system and original storage information of each domain system from the OTA data to be upgraded, wherein the original storage information is used to characterize a mapping relationship between a physical address of an original storage partition of each domain system and a logical address of an original storage partition, and the original storage partition of each domain system is a storage partition allocated to each domain system in a first storage space of a target storage resource;

[0043] A first allocation unit is used to allocate a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system;

[0044] A third obtaining unit, configured to obtain new storage information of each domain system based on the new storage partition allocated to each domain system;

[0045] The upgrade unit is used to upgrade the OTA sub-data of each domain system based on the new storage information of each domain system, so as to realize the upgrade of the OTA data to be upgraded in the multi-core heterogeneous system.

[0046] According to a third aspect of the present application, an electronic device is provided, including:

[0047] at least one processor; and

[0048] a memory communicatively connected to the at least one processor; wherein,

[0049] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the present application.

[0050] According to a fourth aspect of the present application, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the present application.

[0051] According to a fifth aspect of the present application, a computer program product is provided, comprising a computer program or instructions, which implement the method described in the present application when executed by a processor.

[0052] The OTA data upgrade method and device of the present application allocates a new storage partition for the domain system every time there is an OTA upgrade demand. It is a solution for dynamically allocating storage partitions for OTA upgrades of the domain system. Compared with the solution of statically or fixedly dividing two slots in the related art, it has good flexibility and can achieve effective and full utilization of storage resources.

[0053] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present application will become readily understood. In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, wherein:

[0055] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.

[0056] Figure 1 The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 1 ;

[0057] Figure 2The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 2 ;

[0058] Figure 3 The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 3 ;

[0059] Figure 4 A schematic diagram of the implementation process of the OTA data upgrade method in an embodiment of the present application is shown;

[0060] Figure 5 A schematic diagram showing the composition of a multi-core heterogeneous SOC chip in an embodiment of the present application is shown;

[0061] Figure 6 A schematic diagram of static partitioning of storage resources in the related art is shown;

[0062] Figure 7 A schematic diagram of the spatial division of target storage resources in an embodiment of the present application is shown;

[0063] Figure 8 A schematic diagram showing a logical storage area in an embodiment of the present application is shown;

[0064] Fig. 9 The following is a schematic diagram showing the division of the dynamic programming space in the embodiment of the present application. Figure 1 ;

[0065] Fig.10 The following is a schematic diagram showing the division of the dynamic programming space in the embodiment of the present application. Figure 2 ;

[0066] Fig.11 A schematic diagram of the logical storage areas of each domain system before and during OTA upgrade in an embodiment of the present application is shown;

[0067] Fig.12 A schematic diagram showing the division of EMMC after a successful OTA upgrade in an embodiment of the present application is shown;

[0068] Fig.13 A schematic diagram showing the logical storage area of ​​the domain system after the OTA upgrade is successful in an embodiment of the present application;

[0069] Fig.14 A schematic diagram of the composition structure of an OTA data upgrade device in an embodiment of the present application is shown;

[0070] Fig.15 A schematic diagram of the structure of an electronic device in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0071] In order to make the purpose, features, and advantages of the present application more obvious and easy to understand, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.

[0072] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

[0073] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it can be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0074] In the following description, the terms "first\second" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0075] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0076] It should be understood that in the various embodiments of the present application, the size of the serial number of each implementation process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0077] Those skilled in the art can understand that this static division of storage resources into storage area A and storage area B is a division scheme specifically generated for OTA upgrades. When there is no OTA upgrade, the storage area used as a backup slot in storage area A and storage area B cannot be utilized and is idle, resulting in a waste of resources and a low utilization rate of storage resources. During an OTA upgrade, if the capacity of the storage area used as a backup slot is insufficient compared to the size of the OTA upgrade data and cannot accommodate the OTA upgrade data, a successful upgrade cannot be achieved. If the capacity of the storage area used as a backup slot is too sufficient, most of the storage resources are still idle and cannot be effectively utilized, which will result in a waste of storage resources. Based on this, it can be considered that the static division scheme of storage resources into running slots and backup slots specifically for OTA upgrades in the related art is not flexible enough and cannot achieve effective utilization of storage resources.

[0078] The OTA data upgrade device of the present application is located in a multi-core heterogeneous system. The processing logic of the OTA data upgrade method of the present application is deployed in a multi-core heterogeneous system. In the embodiment of the present application, the multi-core heterogeneous system is a multi-core heterogeneous chip. A multi-core heterogeneous chip refers to a chip that integrates two or more processor cores in a single chip. For example, a single SOC (system on chip) chip with two or more processor cores integrated. Each processor core in a multi-core heterogeneous chip can be used as an independent processor, and can independently run the instructions that each processor core needs to run to achieve the tasks that each processor core needs to achieve. It can be understood that a multi-core heterogeneous chip is a chip with a multi-core processor. Compared with a single-core processor chip, the independent operation of each core task can speed up the operation speed and improve the multi-task execution capability, thereby bringing the advantage of high performance. And the multi-core processor is set on the same chip, which has the advantage of low cost.

[0079] like Figure 1 As shown, the multi-core heterogeneous chip includes multiple processor cores, and the multiple processor cores include a first processor core, a second processor core...an Lth processor core. L is a positive integer greater than or equal to 2, and is flexibly set according to actual conditions. Among the multiple processor cores, each processor core is equivalent to a computing engine, and its type and / or number may be different. Among them, the types of processor cores include cores with strong computing power and cores with strong real-time performance (fast computing). In actual applications, most of the multiple processor cores are processor cores of different types, and a few cores are processor cores of the same type. Alternatively, the multiple processor cores may be processor cores of different types, and thus the multi-core heterogeneous chip is composed of two or more processor cores with different architectures. The difference in the type and / or number of processor cores can achieve different architectures between processor cores to a certain extent.

[0080] In practical applications, among all processor cores, as long as there are two or more processor cores of different types, such processor cores can be called multi-core heterogeneous, and the chip including these processor cores can be regarded as a multi-core heterogeneous chip.

[0081] For example, since the embedded processor (ARM) has the advantages of low cost and low power consumption, the digital signal processor (DSP) has the advantage of digital dedicated processing, and the field programmable logic array (FPGA) has the advantage of high-speed processing. Each type of processor is used as a processor core. These types of processors are designed on the same SOC chip, and a multi-core heterogeneous SOC chip can be obtained.

[0082] like Figure 2 As shown, each processor core and the hardware resources connected to each processor core, such as a clock controller, an interrupt controller, a memory space, etc., constitute each hardware domain. That is, a multi-core heterogeneous chip includes multiple hardware domains. In a multi-core heterogeneous chip, each hardware domain is a collection of a group of hardware resources. Different hardware domains are isolated from each other, and this isolation can be regarded as a physical isolation, such as the hardware design in the same hardware domain is in a similar position of the multi-core heterogeneous chip, and the hardware design in different hardware domains is in different positions of the multi-core heterogeneous chip to achieve isolation in physical position. Of course, the mutual isolation between different hardware domains in the embodiment of the present application may not be physical isolation, but logical isolation. This logical isolation can be reflected in: the hardware resources in the same hardware domain need to use the same communication identifier to access the hardware domain. That is, different hardware resources in the same hardware domain can access each other based on the communication identifier in the hardware domain. Hardware resources in different hardware domains are accessed using different communication identifiers.

[0083] In practical applications, it is preferred that the mutual isolation between different hardware domains is a logical isolation, which can at least save chip space.

[0084] like Figure 3 As shown, in a multi-core heterogeneous chip, an operating system can be configured for each hardware domain. For example, a first operating system is configured for the first hardware domain, a second operating system is configured for the second hardware domain, and so on. The operating systems configured for different hardware domains can be the same, can be different, and are preferably different. For example, the first operating system configured for the first hardware domain is a Linux system, and the second operating system configured for the second hardware domain is an Android system. Among them, since the Linux system has the characteristics of high security and the Android system has the characteristics of lightness, tasks with high security requirements in the multi-core heterogeneous system can be handed over to Linux for execution, and tasks that need to run lightly in the multi-core heterogeneous system can be handed over to the Android system for execution. Therefore, in a multi-core heterogeneous system, different operating systems on different hardware domains can be used to achieve efficient execution of each task.

[0085] In a multi-core heterogeneous chip, an operating system may be configured for each hardware domain in most hardware domains according to actual needs, and no operating system may be configured for a small number of hardware domains, depending on specific usage.

[0086] In the embodiment of the present application, there is also a communication demand between hardware domains. When there is a communication demand between different hardware domains, an inter-core communication mechanism can be used to realize the communication between hardware domains. Among them, the inter-core communication mechanism in the multi-core heterogeneous system includes a mailbox mechanism suitable for instruction transmission and a memory sharing mechanism suitable for data sharing. Inter-core communication within a single SOC chip can ensure that data is transmitted within the same chip, ensuring data security and transmission speed.

[0087] Generally, there are differences in hardware resources in different hardware domains, and such differences may be reflected in differences in hardware type, hardware model, hardware quantity, etc. Such differences can, to a certain extent, reflect the heterogeneity of multi-core heterogeneous systems. As can be seen from the previous introduction, the multi-core heterogeneity in this application is a concept at the hardware level and has nothing to do with the software level.

[0088] like Figure 1 As shown, the multi-core heterogeneous chip in the embodiment of the present application also includes various types of control units. Various types of control units include but are not limited to: a power control unit, a non-volatile storage control unit, a volatile storage control unit, etc. Among them, the power control unit is used to control the power supply unit to realize the supply of power to the multi-core heterogeneous chip. The non-volatile storage control unit is used to control the access of at least one processor core in the multi-core heterogeneous chip to the non-volatile storage unit. The volatile storage control unit is used to control the access of at least one processor core in the multi-core heterogeneous chip to the volatile storage unit.

[0089] Among them, the power supply unit, non-volatile storage unit, and volatile storage unit are hardware resources outside the multi-core heterogeneous chip and can be called when the multi-core heterogeneous chip needs them. In addition, the audio output unit (such as a speaker or loudspeaker), audio acquisition unit (such as a microphone), video output unit (such as a display) and other hardware are hardware resources outside the multi-core heterogeneous chip and can also be called when the multi-core heterogeneous chip needs them to achieve normal audio and video output.

[0090] The OTA data upgrade method of the embodiment of the present application is implemented on a multi-core heterogeneous system. The multi-core heterogeneous system involved in the OTA data upgrade method of the present application includes M hardware domains, where M is a positive integer greater than or equal to 2. The M hardware domains can be Figure 2All or part of the L hardware domains shown, preferably all the hardware domains. Each hardware domain is configured as an independently running operating system, that is, each hardware domain corresponds to an operating system. For example, hardware domain 1 corresponds to the first operating system, hardware domain 2 corresponds to the second operating system... hardware domain M corresponds to the Mth operating system. Each hardware domain is composed of multiple processor cores with different architectures in a multi-core heterogeneous system and hardware resources connected to each processor core. The hardware domains are isolated from each other. The isolation can be physical isolation or logical isolation. Please refer to the above related instructions.

[0091] In this application, the hardware domain and the operating system corresponding to the hardware domain may constitute a domain system. A multi-core heterogeneous chip includes two or more such domain systems. Each domain system may access system resources through a system bus. System resources may include peripherals such as an integrated circuit bus (I2C), a universal asynchronous receiver / transmitter (UART), an interface (IO), and may also include resources that can be shared between domain systems, such as speakers, microphones, interrupt controllers, and the like.

[0092] According to the role of the domain system, the domain system in the multi-core heterogeneous system can be roughly divided into two categories: one is the application domain, and the other is the management domain. Among them, the number of management domains can be one, two or more, preferably one. The number of application domains is usually two or more. Taking the application of the multi-core heterogeneous system to the vehicle as an example, the application domain is used to realize various functions of the vehicle, such as instrument function and in-car entertainment function (IVI function). The management domain is used to manage each application domain. In actual applications, the instrument function and the in-car entertainment function can be integrated in different application domains. In this way, the multi-core heterogeneous system applied in the vehicle has an application domain that includes at least the instrument domain and the IVI domain. Of course, in addition to the application domain and the management domain, the domain system is divided into different roles according to actual application requirements. For example, the multi-core heterogeneous system can also include a small system domain and / or a security domain. Among them, the security domain is used to ensure the security of the multi-core heterogeneous system, and the small system domain is used to assist other domain systems to realize the powerful functions of the multi-core heterogeneous system. For example, the small system domain can realize accelerated startup.

[0093] In the present application, target storage resources such as EMMC and Flash are divided into different spaces. For example, the divided space has at least a first storage space and a second storage space. When the OTA data to be upgraded is obtained, that is, when there is a need for OTA upgrade, a new storage partition is allocated to each domain system from the second storage space based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system. Based on the new storage partition allocated to each domain system, the new storage information of each domain system is obtained, thereby realizing OTA upgrade. In the present application, two special storage areas (such as storage area A and storage area B in the related art) or two slots are no longer reserved for OTA upgrades in the storage space, but when there is a need for OTA upgrades, new storage partitions are allocated to the OTA upgrade data to realize OTA upgrades using the newly allocated storage partitions. A new allocation of storage partitions for the domain system every time there is an OTA upgrade is a solution for dynamically allocating storage partitions for OTA upgrades of the domain system. Compared with the static solution in the related art, the dynamic allocation solution in the present application has good flexibility and can realize effective and full utilization of storage resources.

[0094] The technical solution of this application is described below.

[0095] Figure 4 The schematic diagram of the OTA data upgrade method in the embodiment of the present application is shown Figure 1 .like Figure 4 As shown, the method includes:

[0096] S101: Obtain OTA data to be upgraded.

[0097] In this step, among the multiple domain systems of the SOC, one of the domain systems can be configured to connect to the external network to ensure the security of the SOC. During implementation, one of the domain systems in the SOC, specifically the operating system of the domain system, receives the OTA data to be upgraded from the outside through the network, or downloads the OTA data to be upgraded from the network, thereby obtaining the OTA data to be upgraded. The OTA data to be upgraded can be an OTA upgrade package.

[0098] S102: Obtain the OTA sub-data of each domain system and the original storage information of each domain system from the OTA data to be upgraded, wherein the original storage information is used to characterize the mapping relationship between the physical address of the original storage partition of each domain system and the logical address of the original storage partition, and the original storage partition of each domain system is the storage partition allocated to each domain system in the first storage space of the target storage resource.

[0099] In this step, the OTA upgrade package is split into multiple OTA sub-data. The multiple OTA sub-data are distributed to each domain system as the OTA data to be upgraded for each domain system. Usually, the number of sub-data into which the OTA upgrade package is split is consistent with the number of domain systems in the SOC. In this way, each domain system can obtain one OTA sub-data as its own OTA data to be upgraded.

[0100] The target storage resource can be any type of storage device. Such as EMMC, Flash, memory, etc. Taking EMMC as an example, EMMC is divided into at least two storage spaces, one of which is the first storage space, which is used to store the current operating data of the domain system to support the normal operation of the domain system. Such as the A partition and non-A / B partition in the storage partition in the subsequent related content. The second storage space is configured as free space, which is the dynamic planning space in the subsequent related content. When there is a need for OTA upgrade, storage partitions can be allocated to each domain system from the free space. Of course, EMMC can also include space for storing dynamic planning tables (recording the original storage information) of each domain system, and space for backing up the dynamic planning table (at least backing up the dynamic planning table). As will be described later Figure 7 shown.

[0101] In the original storage information of the domain system, there exists such a mapping relationship: the mapping relationship between the physical address of the original storage partition of the domain system and the logical address of the original storage partition. The original storage information is stored in the dynamic planning table space of each domain system. Because, in this application, a new allocation of storage partitions is performed every time there is an OTA upgrade, so the mapping relationship between the physical address and the logical address of this storage partition in this application changes with the upgrade of OTA, and the mapping relationship changes once each time it is upgraded. The mapping relationship before the OTA upgrade is called the original storage information. After the OTA upgrade is successful, the mapping relationship is updated and stored based on the changes in the physical address and logical address of the newly allocated storage partition as the original storage information before the next OTA upgrade.

[0102] S103: Allocate a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system.

[0103] When distributing each OTA sub-data to each domain system, it is also necessary to distribute the indication information for each OTA sub-data to each domain system. According to the indication information, it can be known that the size of the storage space required for the upgrade of the OTA sub-data, and / or the number of storage partitions required, and other information. Combined with the original storage information of the domain system, the original storage information includes the number and / or size of the original storage partitions. It can be known that the upgrade of the OTA sub-data is compared to the original storage partition allocated to the domain system. Whether it is necessary to increase the number of storage partitions, reduce the number of storage partitions, increase or expand the space of the storage partition, or reduce or reduce the space of the storage partition, etc. In this way, it is convenient to allocate new storage partitions to each domain system from the second storage space of the target storage resource.

[0104] S104: Based on the new storage partitions allocated to the domain systems, new storage information of the domain systems is obtained.

[0105] The new storage information is at least used to characterize the mapping relationship between the physical address of the new storage partition allocated to the domain system and the logical address of the new storage partition. Generally, the new storage partition has a physical address, and a logical address is allocated to each new storage partition. The physical address and the logical address of the same new storage partition are recorded correspondingly, and the aforementioned mapping relationship can be obtained.

[0106] S105: Based on the new storage information of each domain system, the OTA sub-data of each domain system is upgraded to implement the upgrade of the OTA data to be upgraded in the multi-core heterogeneous system.

[0107] In this step, the OTA sub-data of the domain system is written to the physical address of the new storage partition of the domain system, so that the domain system is restarted according to the data written or stored in the new storage partition. Each domain system realizes its own OTA upgrade, thereby realizing the OTA upgrade of the SOC as a whole.

[0108] In S101 to S105, when the OTA data to be upgraded is obtained, that is, when there is a need for OTA upgrade, a new storage partition is allocated from the second storage space to each domain system based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system. Based on the new storage partition allocated to each domain system, the new storage information of each domain system is obtained, thereby realizing OTA upgrade. The present application is a solution for dynamically allocating storage partitions for OTA upgrades of domain systems by making a new allocation of storage partitions for each domain system every time there is an OTA upgrade. Compared with the solution of statically or fixedly dividing two slots in the related art, it has good flexibility, can avoid the waste of storage resources, and realize the effective and full utilization of storage resources.

[0109] In the present application, the number of original storage partitions of each domain system is at least two, usually more than one. Each original storage partition has a physical address and a logical address. The OTA sub-data of different domain systems have their own indication information. For example, the indication information of the OTA sub-data of domain system 1 indicates that the number of storage partitions occupied by the OTA sub-data of the domain system is the same as the number of original storage partitions of the domain system. The indication information of the OTA sub-data of domain system 2 indicates that the number of storage partitions occupied by the OTA sub-data of the domain system is different from the number of original storage partitions of the domain system. According to the actual situation of each domain system, a new storage partition is allocated to each domain system from the second storage space of the target storage resource in accordance with the indication information of the OTA sub-data of each domain system and the original storage information of the domain system.

[0110] In this application, it is considered that the content indicated by the indication information may be different. According to different indication contents, based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system, the scheme of allocating new storage partitions for each domain system from the second storage space of the target storage resource may include the following situations:

[0111] Scenario 1: The original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two. If the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is the same as the number of original storage partitions of the domain system, the same number of new storage partitions are allocated to the domain system from the second storage space of the target storage resource.

[0112] Scenario 1 is from the perspective of the number of storage partitions occupied. If the number of storage partitions occupied by the OTA sub-data of a domain system is the same as the number of original storage partitions of the domain system, the same number of storage partitions are allocated to the domain system from the second storage space. For example, Fig. 9 In the hardware domain 3 (the hardware domain of the domain system 3) shown, the original storage partitions include partitions 1 to p of partition A. From the free space-dynamic planning space, p partitions are divided as the B partitions of the domain system, and the divided p partitions are new storage partitions of the domain system.

[0113] It can be understood that, because the new storage partition is obtained by dividing from the second storage space different from the first storage space, the new storage partition is physically different from the original storage partition, and naturally, the physical addresses of the two are different. The new storage partition is assigned an address different from the logical address of the original storage partition as the logical address of the new storage partition. Based on this, it can be considered that, in the case where the new storage information of the domain system is used to represent the physical address of each new storage partition and the mapping relationship between the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of each original storage partition, and the logical address of each new storage partition is different from the logical address of each original storage partition.

[0114] It should be noted that when allocating logical addresses for new storage partitions, addresses that are continuous with the logical addresses of the original storage partitions can be used as the logical addresses of the new storage partitions. In this way, the logical address continuity of the domain system is achieved, which facilitates the software layer of the domain system to access physical resources such as storage resources.

[0115] In one possible implementation, the number of storage partitions occupied by the OTA sub-data of a domain system is the same as the number of original storage partitions of the domain system, and the size of each new storage partition occupied by the OTA sub-data of the domain system is also the same as the size of each original storage partition. In this way, logical addresses that are continuous with the logical addresses of the original storage partitions can also be used as the logical addresses of each new storage partition to facilitate the software layer's access to storage resources.

[0116] Scenario 2: If the indication information of at least one domain system OTA sub-data is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is different from the number of original storage partitions of the domain system, then the number of new storage partitions required by the OTA sub-data is allocated to the domain system from the second storage space of the target storage resource.

[0117] Scenario 2 is from the perspective of the number of storage partitions occupied. If the number of storage partitions occupied by the OTA sub-data of a domain system is different from the number of original storage partitions of the domain system, the number of storage partitions required by the OTA sub-data is allocated to the domain system from the second storage space. For example, Fig. 9 In the hardware domain 2 (the hardware domain of domain system 2) shown in the figure, the original storage partitions include partition 1 to partition m of partition A. The number of partitions required for OTA sub-data is m-1, so m-1 partitions are divided from the dynamic planning space as the B partition of the domain system, and the divided m-1 partitions are the new storage partitions of the domain system.

[0118] Referring to the description of the above-mentioned situation one, if the original storage partition in the first storage space is regarded as partition A, then the partition divided from the free space-dynamic planning space is regarded as partition B. Partition A and partition B are divided from different storage spaces, and the physical addresses are naturally different.

[0119] In the second scenario, in order to clearly distinguish between partition A and partition B, the logical addresses assigned to each new storage partition in partition B are also different from the logical addresses of the original storage partitions. In this way, new storage information of the domain system can be obtained, which leads to the following conclusion: when the new storage information of the domain system is used to represent the mapping relationship between the physical address and logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition. In implementation, the logical address that is continuous with the logical address of each original storage partition can be used as the logical address of each new storage partition to facilitate the software layer's access to storage resources.

[0120] Scenario three: If the indication information of at least one domain system OTA sub-data is used to indicate that the size of the storage partition occupied by the OTA sub-data of the domain system is different from the size of the original storage partition of the domain system, then multiple new storage partitions of the required size of the OTA sub-data are allocated to the domain system from the second storage space of the target storage resource.

[0121] Scenario 2 is from the perspective of the size of the storage partition occupied. The original storage information includes the size of the original storage partition occupied. If the size of the storage partition occupied by the OTA sub-data is different from the size of the original storage partition of the domain system, then multiple new storage partitions of the required size of the OTA sub-data are allocated to the domain system from the second storage space of the target storage resource.

[0122] In this case, the size of the storage partition occupied by the OTA sub-data may refer to the overall size of the OTA sub-data, which is different from the overall size of the original storage partition. Multiple new storage partitions of the required size for the OTA sub-data are allocated to the domain system from the second storage space of the target storage resource. The size of the storage partition occupied by the OTA sub-data may also refer to the size of one or more single storage partitions, and the size of at least some of the storage partitions is different from the size of the original storage partition. Fig. 9 In the hardware domain 4 (the hardware domain of domain system 4) shown, the original storage partitions are partitions 1 to q of partition A. The new storage partitions required for OTA sub-data are partitions 1 to q divided from the dynamic planning space, and q partitions are used as partition B of the domain system. The size of each storage partition in partitions 1 to q divided from the dynamic planning space is smaller than the size of partitions 1 to q of partition A, and the sizes are different.

[0123] Also like Fig. 9 In the hardware domain 3 (the hardware domain of domain system 3) shown, the original storage partitions are partitions 1 to p of partition A. The new storage partitions required for OTA sub-data are partitions 1 to p divided from the dynamic planning space, and p partitions are used as partition B of the domain system. Among the partitions 1 to p divided from the dynamic planning space, at least the size of partition 2 is different from the size of partition 2 of partition A.

[0124] Similar to the above description of Situations 1 and 2, in Situation 3, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition. In implementation, the logical address that is continuous with the logical address of each original storage partition can be used as the logical address of each new storage partition to facilitate the software layer to access the storage resources.

[0125] In the above three situations, the number of new storage partitions can be increased or decreased, and / or the size of one or more single new storage partitions can be increased or decreased relative to the original storage partitions. The present application is a solution that can flexibly allocate storage partitions for a domain system according to actual conditions. This flexible allocation solution can achieve maximum utilization of storage partitions and avoid waste of storage resources.

[0126] In actual applications, the number of storage partitions occupied by the OTA sub-data of the domain system may be more or less than the number of original storage partitions of the domain system. The overall size occupied by the OTA sub-data may be greater than or less than the overall size occupied by the original storage partition. The size occupied by the OTA sub-data in a single storage partition may be greater than or less than the size of a single original storage partition. Regardless of the circumstances, in this application, in combination with the OTA sub-data indication information and the actual occupancy of the original storage partition of the domain system, a new storage partition can be allocated for the OTA sub-data from the free space of the target storage resource. This provides a technical support for the dynamic allocation of storage space for OTA upgrade packages.

[0127] like Fig. 9 As shown, the first storage space of the target storage resource includes not only the A partition (space) but also the non-A / B partition (space). The A partition and the non-A / B partition are both used to store data that maintains the operation of the domain system. If the data stored in the A partition is regarded as the first type of data, and the data stored in the non-A / B partition is regarded as the second type of data, then the target storage resource is used to store at least the first type of data and the second type of data.

[0128] The upgrade of OTA sub-data may involve only the upgrade of the first type of data stored in the A partition, or may involve not only the upgrade of the first type of data stored in the A partition, but also the upgrade of the second type of data stored in non-A / B partitions. Regardless of which type of data is upgraded, the original storage information is at least used to characterize the mapping relationship between the physical address and the logical address of the original storage partition for the first type of data, and the mapping relationship between the physical address and the logical address of the original storage partition for the second type of data.

[0129] In practical applications, if the upgrade of OTA sub-data only involves the upgrade of the first type of data stored in partition A, that is, when the OTA sub-data of a domain system is the first type of data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, a new storage partition is allocated for the first type of data of the domain system from the second storage space of the target storage resource as the new storage partition allocated for the domain system. The new storage information of the domain system includes the mapping relationship between the physical address of each new storage area for the first type of data and the logical address of each new storage partition, and the mapping relationship between the physical address and the logical address of the original storage partition for the second type of data.

[0130] In layman's terms, in the above scheme, if the upgrade of OTA sub-data only involves the upgrade of the first type of data stored in partition A, then in the new storage information, only the mapping relationship of the first type of data needs to be updated or changed, and the mapping relationship of the second type of data does not need to be updated or changed. This scheme is suitable for practical use and easy to promote.

[0131] The solutions shown in the above S101 to S105 and the solutions in the above three situations are solutions for upgrading the OTA sub-data, which only involve upgrading the first type of data stored in partition A. For solutions involving upgrading the second type of data, please refer to the following description.

[0132] In practical applications, if the upgrade of OTA sub-data involves not only the upgrade of the first type of data stored in the A partition, but also the upgrade of the second type of data stored in the non-A / B partition. That is, when the OTA sub-data of at least one domain system includes the first type of data and the second type of data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, a new storage partition is allocated for the first type of data of the domain system and a new storage partition is allocated for the second type of data of the domain system from the second storage space of the target storage resource as a new storage partition allocated for the domain system. The new storage information of the domain system includes a mapping relationship between the physical address of each new storage partition for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address of each new storage partition for the second type of data and the logical address of each new storage partition.

[0133] In layman's terms, in the aforementioned scheme, if the upgrade of OTA sub-data involves not only the upgrade of the first type of data stored in the A partition, but also the upgrade of the second type of data stored in the non-A / B partition, then in the new storage information, not only the mapping relationship of the first type of data needs to be updated or changed, but the mapping relationship of the second type of data also needs to be updated or changed.

[0134] It can be understood that, because it is necessary to allocate storage partitions for two different types of data from the second storage space, the physical address of the new storage partition allocated for the first type of data is different from the physical address of the new storage partition allocated for the second type of data. The logical address allocated to the new storage partition for the first type of data may also be different from the logical address allocated to the new storage partition for the second type of data. Furthermore, during implementation, a logical address that is continuous with the logical address allocated to the new storage partition for the first type of data may be allocated to the new storage partition for the second type of data as the logical address of the new storage partition for the second type of data, so as to achieve continuity of the logical address.

[0135] From the foregoing, it can be seen that in the scheme for upgrading the first type of data stored in partition A, the number of new storage partitions for storing the first type of data can be increased or decreased, and / or the size of one or more single new storage partitions can be increased or decreased, based on the size of the first type of data involved in the OTA upgrade package, relative to the original storage partition for storing the first type of data. For the domain system, no matter what the situation is, it is necessary to update the mapping relationship according to the physical address and logical address of the allocated new storage partition to provide certain guarantees for the successful OTA upgrade.

[0136] If the OTA upgrade involves upgrading the second type of data stored in non-A / B partitions, refer to the following scheme to implement the update of the physical address and logical address for the second type of data. When the OTA sub-data of at least one domain system includes the first type of data and the second type of data, for the second type of data, at least one of the number and size of the storage partitions required for the second type of data is obtained; based on the at least one of the information, a new storage partition is allocated for the second type of data of the domain system from the second storage space of the target storage resource, the physical address of the new storage partition is obtained, and a logical address is allocated to the new storage partition, and based on the physical address and logical address of the new storage partition, a mapping relationship between the physical address and the logical address of the new storage partition for the second type of data is obtained.

[0137] In practical applications, if the second type of data requires n storage partitions, n storage partitions are divided from the second storage space as areas for storing the second type of data in the OTA sub-data. If the second type of data requires a storage partition of M megabits, a storage area of ​​M megabits is divided from the second storage space as an area for storing the second type of data in the OTA sub-data.

[0138] It can be understood that in the scheme for upgrading the second type of data stored in non-A / B partitions, relative to the original storage partition for storing the second type of data, according to at least one of the information of the number and size of the storage partitions required for the second type of data involved in the OTA upgrade package, the number of new storage partitions for storing the second type of data can be increased or decreased, and / or the size of one or more single new storage partitions can be increased or decreased. For the domain system, no matter what the situation is, it is necessary to update the mapping relationship according to the physical address and logical address of the allocated new storage partition to provide certain guarantees for the successful OTA upgrade.

[0139] In the scheme for upgrading the second type of data stored in non-A / B partitions, the physical address of each new storage partition allocated for the second type of data is different from the physical address of the original storage partition of the second type of data, and the logical address of each new storage partition allocated for the second type of data is different from the logical address of the original storage partition of the second type of data, so as to update the mapping relationship between the physical address and the logical address of the second type of data. The logical address allocated to each new storage partition can be an address continuous with the logical address of each original storage partition, so as to facilitate the software layer to access the storage resources.

[0140] There are also three scenarios for upgrading the second type of data stored in non-A / B partitions:

[0141] Case A: If the indication information of at least one domain system OTA sub-data is used to indicate that the number of storage partitions occupied by the second type of data in the OTA sub-data of the domain system is the same as the number of original storage partitions (non A / B partitions) for the second type of data in the domain system, then the same number of new storage partitions are allocated to the second type of data in the OTA sub-data from the second storage space of the target storage resource.

[0142] Scenario B: If the indication information of at least one domain system OTA sub-data is used to indicate that the number of storage partitions occupied by the second type of data in the OTA sub-data of the domain system is different from the number of original storage partitions (non A / B partitions) for the second type of data of the domain system, then new storage partitions required for the second type of data are allocated from the second storage space of the target storage resource for the second type of data in the OTA sub-data of the domain system.

[0143] Scenario C: If the indication information of at least one domain system OTA sub-data is used to indicate that the size of the storage partition occupied by the second type of data in the OTA sub-data of the domain system is different from the size of the original storage partition (non A / B partition) for the second type of data of the domain system, then multiple new storage partitions of the required size are allocated to the second type of data of the domain system from the second storage space of the target storage resource.

[0144] In the above scenarios A, B and C, the new storage information of the domain system for the second type of data can be used to represent the mapping relationship between the physical address of each new storage partition for the second type of data and the logical address of each new storage partition. In the mapping relationship, the physical address of each new storage partition for the second type of data of the domain system is different from the physical address of each original storage partition for the second type of data, and the logical address of each new storage partition for the second type of data is different from the logical address of each original storage partition for the second type of data.

[0145] For the understanding of Situation A, Situation B and Situation C, please refer to the above understanding of Situation 1, Situation 2 and Situation 3, and the similarities will not be repeated here.

[0146] In actual applications, OTA upgrades mostly involve upgrading the first type of data stored in the A partition, and there are fewer cases where the first type of data stored in the A partition and the second type of data stored in the non-A / B partition are upgraded simultaneously. For example, upgrading the operating system of a domain system involves upgrading two types of data stored in two types of partitions (A partition and non-A / B partition) at the same time.

[0147] In this application, for the OTA sub-data of each domain system, whether it involves upgrading the first type of data or upgrading the second type of data, it is necessary to allocate a new storage partition from the second storage space of the target storage resource, and update the mapping relationship according to the physical address and logical address of the newly allocated storage partition to achieve OTA upgrade. This is a solution for dynamically allocating storage partitions for OTA upgrades of domain systems. Compared with the solution of statically or fixedly dividing two slots in the related art, this application has good flexibility and avoids waste of storage resources.

[0148] The OTA sub-data of the domain system needs to be written to the new storage partition allocated for the domain system. When the domain system is restarted, it can be restarted according to the data written in the new storage partition, thereby realizing the OTA upgrade of the domain system. If the restart is successfully performed according to the data written in the new storage partition, the OTA upgrade is successful. In response to the successful upgrade of the OTA data to be upgraded in the multi-core heterogeneous system, the data stored in the original storage partition is the old data for maintaining the operation of the domain system, and the old data is no longer needed, then the old data stored in the original storage partition of each domain system is deleted, the original storage partition is released, and the original storage partition is included in the second storage space of the target storage resource. That is, the original storage partition with data deleted is treated as a free partition, included or allocated to the second storage space, and can be used as a new storage partition divided in the next OTA upgrade.

[0149] In this application, the target storage resource may also include a third storage space (such as Figure 7 The dynamic planning table backup space shown in the figure is used to back up the original storage information of each domain system. If the OTA upgrade is unsuccessful or fails, in response to the failure of the upgrade of the OTA data to be upgraded in the multi-core heterogeneous system, the original storage information of each domain system in the third storage space is obtained, and the storage data in the original storage partition in the original storage information of each domain system is restarted to realize the rollback of the OTA data. That is, the rollback of the OTA data is realized through the backup of the third storage space, so that when the OTA data upgrade is unsuccessful, it can be rolled back to the running state before the upgrade, avoiding the situation where the multi-core heterogeneous system cannot be used normally due to the unsuccessful upgrade and the inability to roll back to the running state before the upgrade. The technical solution of the present application successfully realizes the imperceptible upgrade of OTA and the rollback of OTA when the OTA upgrade fails.

[0150] Figure 5 Schematic diagram of the composition of a multi-core heterogeneous SOC chip in an embodiment of the present application. Figure 5As shown, a multi-core heterogeneous SOC chip includes four domain systems: domain system 1 to domain system 4, each domain system includes a hardware domain and an independently running operating system (OS). For example, domain system 1 includes OS1 and hardware domain 1, and domain system 2 includes OS2 and hardware domain 2. Take the target storage resources EMMC and Flash located outside the SOC as an example. Of course, in the technical solution of this application, the target storage resources can also be located inside the SOC. For the situation of being located inside, please refer to the understanding of the situation of being located outside, and will not be repeated.

[0151] Considering SOC security, among the four domain systems, domain system 1 has a Flash controller, which is used to access external Flash. Other domain systems can access external Flash through the Flash controller of domain system 1. Among the four domain systems, domain system 2 has an EMMC controller, which is used to access external EMMC. Other domain systems can access external EMMC through the EMMC controller of domain system 2.

[0152] The OS of each domain system runs dynamic programming software, Flash front-end software and EMMC front-end software. The OS of domain system 1 runs Flash back-end software. The OS of domain system 2 runs EMMC back-end software. The Flash controller of domain system 1 is used to access external Flash. The EMMC controller of domain system 2 is used to access external EMMC. If the SOC chip is made as follows Figure 5 As shown in the layering, the OS can be located in the operating system application layer. The dynamic programming software is located in the dynamic programming software layer, and the Flash front-end software and the EMMC front-end software are located in the storage controller front-end software driver layer. The Flash back-end software and the EMMC back-end software are located in the storage controller back-end software driver layer. The Flash controller and the EMMC controller are located in the hardware controller layer of the SOC chip. Among them, the software involved in the above layers is an indispensable part of executing the technical solution of this application.

[0153] For the OTA upgrade package received by one of the domain systems, such as domain system 3, the OS of domain system 3 splits it into four parts and sends its own OTA sub-data to the dynamic planning software of domain system 3. The OTA sub-data belonging to other domains are sent to other domain systems through the inter-core communication mechanism. Domain system 1, domain system 2 and domain system 4 receive their own OTA sub-data through the inter-core communication mechanism. The dynamic planning software of domain system 1, domain system 2 and domain system 4 executes the method shown in S103-S104 above according to its own OTA sub-data to realize the maintenance of the dynamic planning of the storage partition of its own domain system (the update of the mapping relationship can reflect this situation).

[0154] Taking the target storage resource as EMMC as an example, each domain system sends a request for dynamic planning to the EMMC back-end software of domain system 2 through its own EMMC front-end software. The EMMC back-end software determines whether the requester has permission. If authorized, the physical storage partition assigned to the domain system can be marked to the domain system through the EMMC controller according to the dynamic planning of the domain system, and the OTA sub-data of each domain system can be written to the new storage partition assigned to each domain system, so that the domain system can be used for subsequent upgrades. Each domain system restarts according to the data written in the new storage partition assigned to itself to realize the OTA upgrade of the domain system, and then realize the OTA upgrade of the SOC chip.

[0155] Take the target storage resource as EMMC as an example. Figure 6 As shown, in the related art, the EMMC is statically divided into each domain system (hardware domain 1 storage area to hardware domain 4 storage area). Once the A storage area (the unshaded part in the A / B partition) and the B storage area (the shaded part in the A / B partition) of each domain system are statically divided, the B storage area can only be used for OTA upgrades and cannot be applied to other situations. After the static division, the physical partitions occupied by each domain system are fixed and no longer change. When there is no need for OTA upgrades, the B storage area is idle. Even if the normal operation of the domain system requires the use of an idle storage area, the B storage area cannot be used for it, which undoubtedly causes a waste of storage resources. Figure 6 For the partition table and partition table backup, please refer to the existing related descriptions and will not be repeated here.

[0156] In this application, two dedicated storage areas (such as storage area A and storage area B in the related art) are no longer reserved for OTA upgrades in the storage space. By using dynamic planning software to newly allocate storage resources of each domain system from the second storage space of EMMC, dynamic allocation of storage resources of each domain system is realized, that is, a unified storage layout that can be dynamically planned is used to allocate storage partitions in EMMC, thereby realizing OTA upgrades of each domain system. This is a solution for dynamically allocating storage partitions of EMMC, which has good flexibility and can also avoid waste of storage resources.

[0157] In this application, the target storage resource such as EMMC can be spatially divided. Figure 7As shown, EMMC is divided into a dynamic planning table space, an A / B partition-A partition space, a non-A / B partition space, a dynamic planning space, and a dynamic planning table backup space. Among them, the dynamic planning table space includes a dynamic planning table for each domain system. The A partition space and the non-A / B partition space can be used as a target storage resource such as the first storage space of EMMC. The dynamic planning space can be used as a second storage space, which is a free space reserved for the technical solution of this application. The dynamic planning table backup space can be used as a third storage space such as EMMC, for backing up the dynamic planning table of each domain system, so that in the event of an OTA upgrade failure, the backup dynamic planning table can be used for OTA rollback. The A partition space includes multiple partitions allocated to each domain system, which are used to store (first type) data to maintain the normal operation of the domain system. The non-A / B partition space includes multiple partitions allocated to each domain system, which are used to store (second type) data to maintain the normal operation of the domain system.

[0158] In this application, if there is no OTA upgrade requirement, there is no need to specifically divide the B partition reserved for OTA upgrade in EMMC. If there is an OTA upgrade requirement, part of the storage partition is divided from the dynamic planning space as the B partition space of the domain system to write the OTA upgrade data to the B partition space. The domain system is restarted according to the data stored in the B partition space to achieve OTA upgrade.

[0159] In the present application, the dynamic planning table space and the dynamic planning table backup space include the dynamic planning tables of hardware domain 1 to hardware domain 4.

[0160] The dynamic planning table for each hardware domain contains the following:

[0161] Globally Unique Identifier (GPT, GUID Partition Table) partition table (header): The GPT partition table uses the standard GUID Partition Table data structure.

[0162] GPT partition table (tail): The GPT partition table uses the standard GUID Partition Table data structure. For details about the GUID Partition Table data structure, please refer to the relevant description.

[0163] Dynamic mapping table: used to characterize the mapping relationship between the physical address of the storage partition and the logical address of the storage partition. The dynamic mapping table of each domain system will belong to the mapping relationship between the physical address and the logical address of the GPT partition table (header and tail) of the domain system, the mapping relationship between the physical address and the logical address of each partition in the A partition space, the mapping relationship between the physical address and the logical address of each partition in the B partition space (the B partition space exists during the OTA process, but does not exist before and after the OTA), and the mapping relationship between the physical address and the logical address of each partition in the non-A / B partition space.

[0164] The EMMC backend software accesses the EMMC according to the dynamic mapping table, so as to read or write the data in the partition in the dynamic mapping table by utilizing the EMMC controller.

[0165] The number of mapping relationships from physical addresses to logical addresses in the dynamic planning table of the domain system can be determined according to the actual situation of the domain. Usually, in the dynamic planning table, the mapping relationship is stored in a key-value pair (key-value) manner, and the dynamic mapping table in the dynamic planning table is used to record this mapping relationship. In this application, the mapping relationship recorded in the dynamic planning table of the domain system before the OTA upgrade can be used as the original storage information of the domain system. When the OTA upgrade package is obtained, each domain system can allocate new storage partitions from the dynamic planning space according to its own OTA sub-data. Because new storage partitions have appeared, the mapping relationship in the dynamic mapping table needs to be updated, and the mapping relationship between the physical address and the logical address of the new storage partition is updated to the dynamic mapping table.

[0166] The specific contents of the dynamic planning table space are shown in the following table:

[0167]

[0168]

[0169] It can be understood that, whether before the OTA upgrade package is generated or during the OTA process, physically, the partitions allocated to the same domain system are usually partitions with discontinuous physical addresses. In the technical solution of the present application, continuous logical addresses can be allocated to different physical partitions of the same domain system. Continuous logical addresses can be continuous logical addresses between different types of physical partitions in the same domain system (such as A partitions and non-A / B partitions allocated to the domain system), or the logical addresses of partitions in the same type of physical partitions (such as between partitions in the A partition of the domain system, and between partitions in non-A / B partitions) are also continuous. In this way, the discontinuous physical space of the domain system can be allocated to a space with continuous logical addresses.

[0170] This application involves Figure 7 The physical partition diagram shown in the figure also involves Figure 8 The following figure shows the logical partition diagram. Figure 8 FIG. 1 is a schematic diagram showing a logical storage area in an embodiment of the present application. Figure 8 As shown, taking domain system 1 as an example, the logical storage area of ​​domain system 1 includes information such as the partition table header, each logical partition, and the partition table footer. The location of each logical partition of domain system 1 is recorded in the GPT partition table and the backup GPT partition table. In this way, the discontinuous physical space can be allocated to a space with a continuous logical address through a mapping relationship, so that when the software layer accesses the physical space, it sees a space with a continuous logical address, which is convenient for access.

[0171] The following describes the detailed process of the technical solution of this application by taking the A partition space as the running slot for OTA upgrade, the new storage partition (B partition space) divided from the dynamic planning space as the backup slot for OTA upgrade, and the target storage resource as EMMC as an example.

[0172] 1) Before the SOC chip obtains the OTA upgrade package, the dynamic planning table space in the EMMC records the mapping relationship between the physical address and the logical address of each type of physical partition (A partition, non-A partition) currently used by each domain. Among them, each domain system reads data from each type of physical partition and runs to maintain the normal working state of the domain system.

[0173] 2) In the SOC chip, domain system 3 can be set to receive OTA upgrade packages from the outside world. The OS of domain system 3 splits it into four parts and sends its own OTA sub-data to the dynamic programming software of domain system 3. The OTA sub-data belonging to other domains is sent to other domain systems through the inter-core communication mechanism. Domain system 1, domain system 2 and domain system 4 receive their own OTA sub-data through the inter-core communication mechanism. The dynamic programming software running on the OS of domain system 1, domain system 2 and domain system 4 receives their respective OTA sub-data.

[0174] 3) After receiving their respective OTA sub-data, the dynamic planning software of each domain system saves the current dynamic planning table of its own domain system to the dynamic planning table backup space to back up the old dynamic planning table before the OTA upgrade. In the event of an OTA upgrade failure, the backed-up old dynamic planning table can be used for rollback.

[0175] 4) When receiving the respective OTA sub-data, if each OTA sub-data only involves the upgrade of the first type of data stored in partition A, the dynamic planning software of each domain system obtains, based on the indication information of each OTA sub-data, the size of the physical partition actually required for the respective OTA sub-data to be upgraded compared to the current occupancy of the partition by each domain system, and divides the physical partition of the corresponding size for the OTA sub-data of each domain from the dynamic planning space as a new storage partition allocated to each domain system.

[0176] In this application, if the currently occupied partition of the domain system on the EMMC is regarded as the running slot of the OTA upgrade, and the physical partition required by the OTA sub-data to be upgraded is regarded as the spare slot, there are the following four situations:

[0177] 1. The number of partitions in the "standby slot" is greater than that in the "running slot", that is, the number of physical partitions occupied by the OTA sub-data to be upgraded is greater than the number of partitions currently occupied by the domain system. Fig. 9 In the hardware domain 1 shown, the number of partitions currently occupied by domain system 1 is partitions 1 to n in the A partition space. The OTA sub-data of domain system 1 requires n+1 partitions, so n+1 partitions are divided from the dynamic planning space. The n+1 partitions divided from the dynamic planning space serve as the B partition of domain system 1. The dynamic planning software of domain system 1 records the physical addresses and logical addresses of the n+1 partitions divided from the dynamic planning space, and updates them to the dynamic planning table of domain system 1 to update the mapping relationship of the dynamic mapping table. This update at least adds the mapping relationship between the physical address and the logical address of the B partition of domain system 1.

[0178] Second, the number of partitions in the "standby slot" is less than that in the "running slot", that is, the number of physical partitions occupied by the OTA sub-data to be upgraded is less than the number of partitions currently occupied by the domain system. Fig. 9 In the hardware domain 2 shown, the number of partitions currently occupied by domain system 2 is partitions 1 to m in the A partition space. The OTA sub-data of domain system 2 requires m-1 partitions, so m-1 partitions are divided from the dynamic planning space. The m-1 partitions divided from the dynamic planning space serve as the B partition of domain system 2. The dynamic planning software of domain system 2 records the physical addresses and logical addresses of the m-1 partitions divided from the dynamic planning space, and updates them to the dynamic planning table of domain system 2 to update the mapping relationship of domain system 2. This update at least adds the mapping relationship between the physical address and the logical address of the B partition of domain system 2.

[0179] In layman's terms, in domain system 2, based on the original A partitions 1 to m, the OTA upgraded B partition deletes partition m, and the B partition contains partitions 1 to m-1. The dynamic planning software of hardware domain 2 updates the mapping records of the dynamic mapping table in the dynamic planning table, and adds the mapping relationships of the divided partitions to the dynamic mapping table.

[0180] 3. The number of partitions in the "standby slot" remains the same as the number in the "running slot", but the space occupied by the partitions increases. Fig. 9 Hardware domain 3 is shown. The number of partitions currently occupied by domain system 3 is partitions 1 to p in the A partition space. The OTA sub-data of domain system 3 requires p partitions, but partition 2 of the p partitions is to be increased compared to the original size, so p partitions are divided from the dynamic planning space and the size of partition 2 is increased. The p partitions divided from the dynamic planning space serve as B partitions of domain system 3. The dynamic planning software of domain system 3 records the physical addresses and logical addresses of the p partitions divided from the dynamic planning space in correspondence, and updates them to the dynamic planning table of domain system 3 to update the mapping relationship of the dynamic mapping table. This update at least adds the mapping relationship between the physical address and logical address of the B partition of domain system 3.

[0181] 4. The number of partitions in the "standby slot" remains the same as the number in the "running slot", but the space occupied by the partitions is reduced. Fig. 9 Hardware domain 4 is shown. The number of partitions currently occupied by domain system 4 is partitions 1 to q in the A partition space. The OTA sub-data of domain system 4 requires q partitions, but partition q among the q partitions is to be reduced compared to the original. Therefore, q partitions are divided from the dynamic planning space and the size of partition q is reduced. The q partitions divided from the dynamic planning space serve as B partitions of domain system 4. The dynamic planning software of domain system 4 records the physical addresses and logical addresses of the q partitions divided from the dynamic planning space in correspondence, and updates them to the dynamic planning table of domain system 4 to update the mapping relationship of the dynamic mapping table. This update at least adds the mapping relationship between the physical address and the logical address of the B partition of domain system 4.

[0182] It can be understood that, because the physical partitions are re-divided from the dynamic planning space as the new storage partitions of each domain system, the physical addresses of the new storage partitions divided for each domain system are different from the physical addresses of each partition in the A partition space of each domain system. Moreover, addresses with continuous logical addresses can be allocated to each new storage partition of the domain system as the logical addresses of each new storage partition. In this way, the physical partitions that are not continuous in the physical addresses of each domain system can be allocated to spaces with continuous logical addresses, which can be easily accessed.

[0183] In most cases, the number of partitions in the "spare slot" is the same as that in the "running slot", and what changes is the size occupied by the partition. That is, usually it is the case of the aforementioned situation three and situation four. However, it can also be understood that in actual applications, compared with the "running slot", the "spare slot" not only changes the number of partitions, but also the size of at least some of the partitions in each partition will change, such as increasing or decreasing. In this case, in combination with the corresponding contents of one to four mentioned above, a new storage partition that meets the OTA sub-data upgrade requirements can be divided from the dynamic planning space, and this partition space can be used as the B partition space of the domain system. The mapping relationship between the physical address and the logical address of each partition in the B partition space of the domain system is added to the dynamic mapping table in the dynamic planning table of the domain system.

[0184] It can be understood that the B partition space allocated to the domain system is used to store the OTA sub-data to be upgraded. The data stored in the A partition space of the domain system remains unchanged to facilitate normal operation or rollback before upgrading.

[0185] The content in the above step 4) is that the OTA sub-data of a certain domain or domains only involves the upgrade of the data stored in partition A. In some application scenarios, such as the OTA upgrade of the system itself, it will not only involve the upgrade of the data stored in partition A - the first type of data, but also involve the upgrade of the data stored in non-A / B partitions - the second type of data. For the upgrade of data stored in non-A / B partitions, please see step 5).

[0186] 5) The dynamic planning software of each domain system parses its own OTA sub-data. If it finds that there is upgrade data related to non-A / B partitions (second type of data), it calculates the required partition size and / or number of partitions based on the data to be upgraded that belongs to non-A / B partitions in the OTA upgrade data. The required size or number of partitions is divided from the dynamic planning space as the new storage partition for the upgrade data related to non-A / B partitions. The new storage partition space can be regarded as Fig.10 The new space in non-A / B partitions is shown.

[0187] The dynamic planning software of the domain system will update the dynamic mapping table in the dynamic planning table according to the following four situations.

[0188] ① The dynamic planning software learns that the number of partitions occupied by the upgrade data related to non-A / B partitions of domain system 1 has increased compared to the original number, such as Fig.10The hardware domain 1 shown. The non-A / B partition space of the hardware domain 1 is partition 1 to partition n-1. The upgrade data requires n partitions, so n partitions are divided from the dynamic planning space for the upgrade data as new storage partitions for the upgrade data and also as the new non-A / B partition space of the domain system 1. The dynamic planning software updates the mapping relationship in the dynamic mapping table of the domain system 1. For example, the mapping relationship between the physical address and the logical address of each partition in the new non-A / B partition space is added.

[0189] ② The dynamic planning software learns that the number of partitions occupied by the upgrade data related to non-A / B partitions of domain system 1 is reduced compared to the original number, such as Fig.10 The hardware domain 2 shown. The non-A / B partition space of the hardware domain 2 is partition 1 to partition m. The upgrade data requires m-1 partitions, so m-1 partitions are divided from the dynamic planning space for the upgrade data (partition 2 is deleted) as the new storage partition for the upgrade data and also as the new non-A / B partition space of the domain system 2. The dynamic planning software updates the mapping relationship in the dynamic mapping table of the domain system 2. For example, the mapping relationship between the physical address and the logical address of each partition in the new non-A / B partition space is added.

[0190] ③ The dynamic planning software learns that the size of one or some partitions occupied by the upgrade data related to non-A / B partitions of domain system 3 is larger than the original size, such as Fig.10 The hardware domain 3 shown. The number of partitions occupied by the upgraded data is the same as before, but the size of partition 2 needs to be expanded. The number of partitions required for the upgraded data and the size of the expanded partition 2 are divided from the dynamic planning space. The divided partitions serve as new storage partitions for the upgraded data and also as new non-A / B partition spaces for domain system 3. The dynamic planning software updates the mapping relationship in the dynamic mapping table of domain system 3. For example, the mapping relationship between the physical address and the logical address of each partition in the new non-A / B partition space is added.

[0191] ④ The dynamic planning software learns that the size of one or some partitions occupied by the upgrade data related to non-A / B partitions of domain system 4 is reduced or shrunk compared to the original size, such as Fig.10 The hardware domain 4 shown. The number of partitions occupied by the upgraded data is the same as before, but the size of partition 1 needs to be reduced. Then, the number of partitions required for the upgraded data is divided from the dynamic planning space and the size of partition 1 is reduced. The divided partitions serve as new storage partitions for the upgraded data and also as new non-A / B partition spaces for domain system 4. The dynamic planning software updates the mapping relationship in the dynamic mapping table of domain system 4. For example, the mapping relationship between the physical address and the logical address of each partition in the new non-A / B partition space is added.

[0192] Because the physical partitions are re-divided from the dynamic planning space as new storage partitions for non-A / B partitions of each domain system, the physical addresses of the new storage partitions for non-A / B partitions divided for each domain system are different from the physical addresses of each partition in the non-A / B partition space of each domain system. Moreover, addresses with continuous logical addresses can be allocated to each new storage partition of the non-A / B partition of the domain system as the logical addresses of each new storage partition. In this way, non-A / B physical partitions that are discontinuous in the physical addresses of each domain system can be allocated to spaces with continuous logical addresses, which is convenient for access.

[0193] From step 4) and step 5), it can be seen that the new storage partition of the domain system has an increase or decrease in the number of partitions, an increase or decrease in the size of the partitions compared to the partitions before the OTA upgrade requirement is generated. For a single domain system, the specific situation depends on the specific circumstances. Regardless of the situation, space that meets the OTA data upgrade requirements can be allocated from the dynamic planning space. This provides a certain guarantee for OTA upgrades.

[0194] 6) When the dynamic planning software of each domain system updates the mapping relationship in the dynamic mapping table, the dynamic planning software synchronizes the update result to the EMMC back-end software through the EMMC front-end software. Among them, the EMMC front-end software of domain system 2 directly synchronizes the update result to the EMMC back-end software. The EMMC front-end software of domain systems 1, 2 and domain system 4 need to synchronize their respective update results to the EMMC back-end software located in domain system 2 through the inter-core communication mechanism.

[0195] The EMMC backend software adjusts the physical partitions according to the updated results of the mapping relationship of each domain system by controlling the EMMC controller to realize the application of storage resources. That is, the new physical partitions allocated to each domain system are marked with the ID of the domain system to which they belong to complete the adjustment on the physical partitions. For example, the physical partition 1 that was originally in an idle state is allocated to domain system 1, and the physical partition 2 that was originally in an idle state is allocated to domain system 2, etc.

[0196] After the EMMC backend software performs the above operations on each domain, the dynamic planning software considers that it has successfully applied for the physical storage resources to be used, and the following content needs to be updated:

[0197] From a physical point of view, the new storage space is divided from the dynamic planning space, which changes the physical storage space occupied by each domain system. The logical storage space of each domain system is also changed by allocating logical addresses to each physical partition. Fig.11As shown, such as domain system 1 and domain system 2. Before the OTA upgrade, the logical storage area of ​​domain system 1 includes n A partitions and no logical B partition. During the OTA upgrade process, the logical storage area of ​​domain system 1 includes n A partitions and B partitions, and the number of B partitions is one more than the A partition. Before the OTA upgrade, the logical storage area of ​​domain system 2 includes m A partitions and no B partition. During the OTA upgrade process, the logical storage area of ​​domain system 2 includes m A partitions and B partitions, and the number of B partitions is one less than the A partition. It can be seen that in response to the changes in physical partitions, the logical partitions of each domain system also change. In response to this change in logical partitions, the dynamic planning software needs to update the header and tail of the partition table of each domain system. Among them, the partition table (header) needs to add the logical position of the B partition indicated by the logical address. The addresses of each partition in the partition table (tail) and the partition table (header) must be consistent.

[0198] from Fig.11 It can be seen from the comparison between the dynamic planning table and the partition table before and after the update that before the OTA upgrade, each domain system only contains partition A in the logical storage space. After the update, the logical storage space contains both partition A and partition B, and each partition of the A / B partition uses a different logical address, and the logical addresses of each partition are continuous.

[0199] 7) According to the physical address indicated by the updated dynamic mapping table of each domain system, the OTA sub-data of each domain system is written into the new physical partition divided from the dynamic planning space. According to the data written into each physical partition, each domain system is restarted.

[0200] If the reboot fails, the OTA upgrade fails. If the reboot succeeds, the OTA upgrade succeeds.

[0201] 8) If the OTA upgrade fails, you can do the following:

[0202] ① Restore the old dynamic planning table that was backed up before the upgrade from the dynamic planning table backup space. Roll back the OTA data based on the data in the physical partition recorded in the dynamic planning table to avoid normal use of the domain system.

[0203] Because the upgrade failed, the data stored in the B partition space or the B partition space and non-A / B partitions divided from the dynamic planning space is useless data. Delete the useless data and release the B partition space or the B partition space and non-A / B partitions. Add the released physical space to the dynamic planning space of EMMC to prepare for the next division. Delete the mapping records of the B partition space or the newly added space of the B partition space and non-A / B partitions in the dynamic planning table.

[0204] ② Restore the partition table (head) and partition table (tail) before the upgrade from the dynamic planning table backup space, delete the logical partition corresponding to the B partition space of the A / B partition, and restore the A partition and non-A / B partition logical partitions before the upgrade.

[0205] The above operations are all performed to implement OTA rollback, in order to avoid the problem that the domain system cannot be used normally due to OTA upgrade failure and inability to roll back.

[0206] 9) If the OTA upgrade is successful, the domain system will use the updated dynamic planning table and partition table for normal operation. The data stored in the A partition space is useless data. The dynamic planning software of the domain system will delete the data stored in the A partition space of the domain system, release the A partition space, and use the B partition space divided from the dynamic planning space as the A partition space. The specific dynamic planning software will perform the following operations:

[0207] ① Delete the data stored in the A partition space of EMMC, release the A partition space, delete the mapping relationship between the A partition space from the physical space to the logical space, and return the released physical space to the dynamic planning space. Name the B partition space divided from the dynamic planning space as the A partition space.

[0208] ② Update the partition table and backup partition table of each domain system, and at least delete the logical partition corresponding to partition A in the partition table.

[0209] ③ Synchronize the dynamic planning table updated as above to the dynamic planning table backup space to realize the backup of the latest dynamic planning table.

[0210] Fig.12 It shows the division diagram of EMMC after successful OTA upgrade. It can be understood that Fig.12 This is a diagram of the division of EMMC after a successful upgrade, when only the upgrade data related to the A partition is involved. In EMMC, the original A partition space of each domain system is released and included in the dynamic planning space to prepare for the next OTA upgrade. The B partition space divided from the dynamic planning space is used as the A partition space. After the OTA upgrade is successful, each domain system can use the data in the partition space to achieve normal operation of each domain system.

[0211] It is understandable that after the OTA upgrade, the size of the physical partitions occupied by each domain system in the EMMC has changed. Compared with the original occupation of the EMMC by each domain system, new partitions may be added, deleted, expanded, and reduced. These situations are all recorded in the dynamic mapping table. After the upgrade is completed, the schematic diagram of the logical storage area of ​​each domain system can be seen in Fig.13 As shown. Fig.13In the example of upgrading only the upgrade data related to partition A, during the OTA upgrade process, because a new storage partition is physically allocated to the domain system, logically, the logical storage area includes not only partition A and non-A / B partitions, but also partition B. After the OTA upgrade is successful, the physical partition A is released, and partition B is used as partition A. Logically, the logical storage area includes partition A and non-A / B partitions.

[0212] from Fig.12 and Fig.13 As shown in the upgrade effect, at the physical level, there is no need to reserve two storage areas specifically for OTA upgrades, only one A partition space is required. When there is a need for OTA upgrades, the B partition space is divided from the dynamic planning space to use the data in the B partition space to upgrade the OTA data. At the logical level, the partition division of the logical storage area must be consistent with the partition division at the physical level, and there is no need to reserve two logical storage areas. In this way, the OTA upgrade can be achieved without occupying too much physical and logical resources. A new solution for OTA upgrades is proposed, which is an OTA upgrade solution that does not occupy too many resources.

[0213] Unlike the solution in the related art that the physical partition cannot be changed once it is assigned to a domain system, in the technical solution of the present application, each time there is an OTA upgrade requirement, the B partition space is reallocated to the domain system, and the original A partition space is released. In this way, the same domain system can occupy different physical partitions during different OTA upgrade requirements. Unlike the static partitioning solution in the related art that the same domain system can only occupy fixed physical partitions, the technical solution of the present application is a solution for flexibly allocating storage partitions to the domain system, and is a dynamic allocation solution for storage partitions. This dynamic allocation solution has good flexibility and can also avoid the problem of resource waste caused by static partitioning.

[0214] Compared with the static partitioning scheme that cannot increase or decrease partitions or expand or reduce the size of partitions, due to the flexibility of the technical solution of the present application, when a new storage partition is divided from the dynamic planning space as the B partition space, the number of partitions can be increased or decreased, and the size of one or more single partitions can be expanded or reduced, thereby meeting the upgrade requirements of various OTA upgrade packages. This adjustment scheme for the number and / or size of the divided partitions is more flexible than the static partitioning scheme and can better match the different requirements of different OTA upgrade packages.

[0215] In the related art, the static partitioning scheme needs to reserve two storage areas to realize OTA upgrade, that is, two sets of partitions are needed for OTA upgrade. The two sets of partitions undoubtedly increase the occupation and waste of storage resources. The technical solution of the present application does not need to adopt two sets of partitions. Generally, one set of partitions can be reserved for the domain system. When there is a need for OTA upgrade, new storage partitions are divided from the dynamic planning space as another set of partitions to realize OTA upgrade. OTA upgrade can be realized without occupying too much storage resources. It is easy to implement and promote in engineering.

[0216] The multi-core heterogeneous SoC of the present application is applied to vehicles, so that OTA non-perception upgrade can be achieved without occupying too much storage resources of the vehicle. Moreover, the upgrade flexibility is good.

[0217] The embodiment of the present application also provides an over-the-air (OTA) data upgrade device, the device is located in a multi-core heterogeneous system, the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of multiple processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, and the hardware domains are isolated from each other; each hardware domain is configured with an independently running operating system, and each hardware domain and its operating system constitute a domain system. Fig.14 As shown, the device includes:

[0218] The first obtaining unit 1001 is used to obtain OTA data to be upgraded;

[0219] A second obtaining unit 1002 is used to obtain OTA sub-data of each domain system and original storage information of each domain system from the OTA data to be upgraded, wherein the original storage information is used to represent a mapping relationship between a physical address of an original storage partition of each domain system and a logical address of an original storage partition, and the original storage partition of each domain system is a storage partition allocated to each domain system in the first storage space of the target storage resource;

[0220] The first allocation unit 1003 is used to allocate a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system;

[0221] A third obtaining unit 1004 is used to obtain new storage information of each domain system based on the new storage partition allocated to each domain system;

[0222] The upgrading unit 1005 is used to upgrade the OTA sub-data of each domain system based on the new storage information of each domain system, so as to realize the upgrading of the OTA data to be upgraded in the multi-core heterogeneous system.

[0223] In some embodiments, the original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two;

[0224] The first allocation unit 1003 is configured to allocate the same number of new storage partitions for the domain system from the second storage space of the target storage resource if the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is the same as the number of original storage partitions of the domain system;

[0225] In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of each original storage partition, and the logical address of each new storage partition is different from the logical address of each original storage partition.

[0226] In some embodiments, when the size occupied by the OTA sub-data of the domain system in each new storage partition is the same as the size of each original storage partition, a logical address continuous with the logical address of each original storage partition is used as the logical address of each new storage partition.

[0227] In some embodiments, the original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two;

[0228] The first allocation unit 1003 is used for:

[0229] If the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is different from the number of original storage partitions of the domain system, allocating new storage partitions of the number required by the OTA sub-data to the domain system from the second storage space of the target storage resource;

[0230] In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address and logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition.

[0231] In some embodiments, the original storage information includes the occupied size of the original storage partition;

[0232] The first allocation unit 1003 is used for:

[0233] If the indication information of the OTA sub-data of at least one domain system is used to indicate that the size of the storage partition occupied by the OTA sub-data of the domain system is different from the size of the original storage partition of the domain system, a plurality of new storage partitions of the required size of the OTA sub-data are allocated to the domain system from the second storage space of the target storage resource;

[0234] In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition.

[0235] In some embodiments, the target storage resource is used to store at least a first type of data and a second type of data; the original storage information is used to represent at least a mapping relationship between a physical address and a logical address of an original storage partition for the first type of data, and a mapping relationship between a physical address and a logical address of an original storage partition for the second type of data;

[0236] The first allocation unit 1003 is used for:

[0237] When the OTA sub-data of at least one domain system is first type data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, a new storage partition is allocated for the first type data of the domain system from the second storage space of the target storage resource as a new storage partition allocated for each domain system;

[0238] The new storage information of the domain system includes a mapping relationship between the physical address of each new storage area for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address and the logical address of the original storage partition for the second type of data.

[0239] In some embodiments, the first allocation unit 1003 is used to:

[0240] When the OTA sub-data of at least one domain system includes first-type data and second-type data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, allocating a new storage partition for the first-type data of the domain system and allocating a new storage partition for the second-type data of the domain system from the second storage space of the target storage resource as a new storage partition allocated to the domain system;

[0241] wherein the physical address of the new storage partition allocated for the first type of data is different from the physical address of the new storage partition allocated for the second type of data;

[0242] The new storage information of the domain system includes a mapping relationship between the physical address of each new storage partition for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address of each new storage partition for the second type of data and the logical address of each new storage partition.

[0243] In some embodiments, the device further comprises: a second allocation unit, configured to:

[0244] Obtaining at least one of the number and size of storage partitions required for the second type of data;

[0245] Based on the at least one information, a new storage partition is allocated for the second type of data of the domain system from the second storage space of the target storage resource, a physical address of the new storage partition is obtained, and a logical address is allocated to the new storage partition, and a mapping relationship between the physical address and the logical address of the new storage partition for the second type of data is obtained based on the physical address and the logical address of the new storage partition;

[0246] Among them, the physical address of each new storage partition allocated for the second type data is different from the physical address of the original storage partition of the second type data, and the logical address of each new storage partition allocated for the second type data is different from the logical address of the original storage partition of the second type data.

[0247] In some embodiments, the device further comprises a first response unit and a second response unit.

[0248] A first response unit, configured to, in response to a successful upgrade of the OTA data to be upgraded in the multi-core heterogeneous system, delete the data stored in the original storage partition of each domain system and assign the original storage partition to the second storage space of the target storage resource;

[0249] The second response unit is used to back up the original storage information of each domain system in the third storage space of the target storage resource, and in response to the upgrade failure of the OTA data to be upgraded in the multi-core heterogeneous system, obtain the original storage information of each domain system in the third storage space, and restart each domain system according to the storage data in the original storage partition in the original storage information of each domain system to realize the rollback of the OTA data.

[0250] It should be noted that the OTA data upgrade device of the embodiment of the present application solves the problem in a similar principle to the aforementioned OTA data upgrade method. Therefore, the implementation process and implementation principle of the OTA data upgrade device can be referred to the description of the implementation process and implementation principle of the aforementioned method, and the repeated parts will not be repeated.

[0251] According to an embodiment of the present application, the present application also provides an electronic device and a readable storage medium.

[0252] The electronic device includes at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the ISP parameter adjustment method described in the present application. The computer instructions are used to enable the computer to execute the OTA data upgrade method described in the present application.

[0253] The present application also provides a computer program product, including a computer program / instruction, which implements the OTA data upgrade method of the present application when the computer program / instruction is executed by a processor.

[0254] Fig.15 A schematic block diagram of an example electronic device 800 that can be used to implement an embodiment of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, 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 processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.

[0255] like Fig.15 As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

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

[0257] The computing unit 801 may be a variety of general and / or special 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 dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as the upgrade method of OTA data. For example, in some embodiments, the upgrade method of OTA data may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the 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 upgrade method of OTA data described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the upgrade method of OTA data in any other appropriate manner (e.g., by means of firmware).

[0258] Various implementations 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 chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0259] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0260] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0261] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer 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 can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the 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 acoustic input, voice input, or tactile input).

[0262] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0263] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0264] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for upgrading OTA data using an over-the-air download technology, characterized in that: Applied to a multi-core heterogeneous system, the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, and the hardware domains are isolated from each other; Each hardware domain is configured with an independently running operating system, and each hardware domain and the operating system of each hardware domain constitute a domain system; the method includes: Get the OTA data to be upgraded; Obtaining OTA sub-data of each domain system and original storage information of each domain system from the OTA data to be upgraded, wherein the original storage information is used to characterize a mapping relationship between a physical address of an original storage partition of each domain system and a logical address of an original storage partition, wherein the original storage partition of each domain system is a storage partition allocated to each domain system in a first storage space of a target storage resource; Allocate a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system; Based on the new storage partitions allocated to the systems in each domain, new storage information of the systems in each domain is obtained; Based on the new storage information of each domain system, the OTA sub-data of each domain system is upgraded to achieve the upgrade of the OTA data to be upgraded in the multi-core heterogeneous system.

2. The method according to claim 1, characterized in that The original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two; The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes: If the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is the same as the number of original storage partitions of the domain system, allocating the same number of new storage partitions to the domain system from the second storage space of the target storage resource; In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of each original storage partition, and the logical address of each new storage partition is different from the logical address of each original storage partition.

3. The method according to claim 2, characterized in that When the size occupied by the OTA sub-data of the domain system in each new storage partition is the same as the size of each original storage partition, a logical address continuous with the logical address of each original storage partition is used as the logical address of each new storage partition.

4. The method according to claim 1, characterized in that The original storage information includes the number of original storage partitions; the number of original storage partitions of each domain system is at least two; The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes: If the indication information of the OTA sub-data of at least one domain system is used to indicate that the number of storage partitions occupied by the OTA sub-data of the domain system is different from the number of original storage partitions of the domain system, allocating new storage partitions of the number required by the OTA sub-data to the domain system from the second storage space of the target storage resource; In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address and logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition.

5. The method according to claim 1, characterized in that The original storage information includes the occupied size of the original storage partition; The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes: If the indication information of the OTA sub-data of at least one domain system is used to indicate that the size of the storage partition occupied by the OTA sub-data of the domain system is different from the size of the original storage partition of the domain system, a plurality of new storage partitions of the required size of the OTA sub-data are allocated to the domain system from the second storage space of the target storage resource; In which, when the new storage information of the domain system is used to represent the mapping relationship between the physical address of each new storage partition and the logical address of each new storage partition, the physical address of each new storage partition of the domain system is different from the physical address of the original storage partition, and the logical address of each new storage partition is different from the logical address of the original storage partition.

6. The method according to claim 1, characterized in that The target storage resource is used to store at least a first type of data and a second type of data; The original storage information is used at least to characterize a mapping relationship between a physical address and a logical address of an original storage partition for data of the first type, and a mapping relationship between a physical address and a logical address of an original storage partition for data of the second type; The allocating a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system includes: When the OTA sub-data of at least one domain system is first type data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, a new storage partition is allocated for the first type data of the domain system from the second storage space of the target storage resource as a new storage partition allocated for each domain system; The new storage information of the domain system includes a mapping relationship between the physical address of each new storage area for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address and the logical address of the original storage partition for the second type of data.

7. The method according to claim 6, characterized in that The method further comprises: When the OTA sub-data of at least one domain system includes first-type data and second-type data, based on the indication information of the OTA sub-data of the domain system and the original storage information of the domain system, allocating a new storage partition for the first-type data of the domain system and allocating a new storage partition for the second-type data of the domain system from the second storage space of the target storage resource as a new storage partition allocated to the domain system; wherein the physical address of the new storage partition allocated for the first type of data is different from the physical address of the new storage partition allocated for the second type of data; The new storage information of the domain system includes a mapping relationship between the physical address of each new storage partition for the first type of data and the logical address of each new storage partition, and a mapping relationship between the physical address of each new storage partition for the second type of data and the logical address of each new storage partition.

8. The method according to claim 6 or 7, characterized in that: The method further comprises: Obtaining at least one of the number and size of storage partitions required for the second type of data; Based on the at least one information, a new storage partition is allocated for the second type of data of the domain system from the second storage space of the target storage resource, a physical address of the new storage partition is obtained, and a logical address is allocated to the new storage partition, and a mapping relationship between the physical address and the logical address of the new storage partition for the second type of data is obtained based on the physical address and the logical address of the new storage partition; Among them, the physical address of each new storage partition allocated for the second type data is different from the physical address of the original storage partition of the second type data, and the logical address of each new storage partition allocated for the second type data is different from the logical address of the original storage partition of the second type data.

9. The method according to claim 1, characterized in that: The method further comprises: In response to the successful upgrade of the OTA data to be upgraded in the multi-core heterogeneous system, deleting the data stored in the original storage partition of each domain system, and classifying the original storage partition into the second storage space of the target storage resource; The original storage information of each domain system is backed up in the third storage space of the target storage resource. In response to the upgrade failure of the OTA data to be upgraded in the multi-core heterogeneous system, the original storage information of each domain system in the third storage space is obtained, and each domain system is restarted according to the storage data in the original storage partition in the original storage information of each domain system to realize the rollback of the OTA data.

10. An upgrade device for OTA data download technology, characterized in that: The device is located in a multi-core heterogeneous system, and the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, and the hardware domains are isolated from each other; Each hardware domain is configured with an independently running operating system, and each hardware domain and the operating system of each hardware domain constitute a domain system; the device includes: A first obtaining unit, used to obtain OTA data to be upgraded; A second obtaining unit is used to obtain OTA sub-data of each domain system and original storage information of each domain system from the OTA data to be upgraded, wherein the original storage information is used to characterize a mapping relationship between a physical address of an original storage partition of each domain system and a logical address of an original storage partition, and the original storage partition of each domain system is a storage partition allocated to each domain system in a first storage space of a target storage resource; A first allocation unit is used to allocate a new storage partition for each domain system from the second storage space of the target storage resource based on the indication information of the OTA sub-data of each domain system and the original storage information of each domain system; A third obtaining unit, configured to obtain new storage information of each domain system based on the new storage partition allocated to each domain system; The upgrade unit is used to upgrade the OTA sub-data of each domain system based on the new storage information of each domain system, so as to realize the upgrade of the OTA data to be upgraded in the multi-core heterogeneous system.

Citation Information

Patent Citations

  • System upgrading method and device, electronic equipment and storage medium

    CN116450184A

  • Multi-core heterogeneous system-on-chip updating method and device, chip and traffic equipment

    CN116775085A

  • OTA upgrading method, code mirror image loading processing method, system and vehicle

    CN117785253A

  • Device software upgrade using a dynamically sized partition

    US20120054734A1

  • Software upgrade method, apparatus and system

    WO2021098212A1