METHOD FOR PERFORMING A COMPLETE FIRMWARE UPDATE ON AN EMBEDDED ELECTRONIC DEVICE AND ASSOCIATED EMBEDDED ELECTRONIC DEVICE
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2026-03-18
AI Technical Summary
Embedded electronic devices with limited built-in memory space face challenges in performing full firmware updates using FOTA technology due to insufficient storage capacity, and existing methods require inconvenient wired connections or fail when the root file system or modem has errors.
The method involves dividing a full firmware update file into two sub-files, storing one in each available memory space, using a header file to manage the process, and performing updates in stages to utilize both storage units effectively.
Enables full firmware updates on devices with limited memory by leveraging both internal and sub-system storage, ensuring successful and convenient updates without wired connections.
Description
Field of the Invention
[0001] The present invention is related to a method of performing full firmware update procedure using FOTA technology on an embedded electronic device with limited built-in memory space and a related embedded electronic device.Background of the Invention
[0002] An embedded electronic device typically includes hardware, software, and firmware. Hardware generally refers to all the physical components required for a system to function, such as motherboards, graphics cards, CPUs, fans, webcams, and power supplies, each of which may be connected to each other through circuit boards. Software generally refers to non-physical products created in programming languages, such as applications (APPs), web pages, and various operating systems which are used to enable hardware to provide users with various services. Firmware refers to the software embedded in a hardware device, and may control the hardware device through the programming language. Firmware is commonly installed in a basic input / output system chip, an optical drive, a burner, an Internet protocol gateway / router, a wireless access point (WAP) and a modem on the motherboard. A user can remotely control and operate the settings and functions of the firmware through a designated interface, monitor the current operational status of the hardware and set / upgrade / adjust the hardware.
[0003] Firmware may be viewed as a kit which contains all the official proprietary software and is usually stored in the flash memory of the embedded electronic device. The user may perform a firmware update procedure through a specific device and a specific method. The main purpose of firmware updates includes correcting errors in the source codes, adding or improving execution functions, adjusting system security, and improving firmware efficiency.
[0004] In a first prior art method of updating the firmware, the embedded electronic device is connected to the computer via a universal serial bus (USB) port. Next, the firmware update procedure may be performed off-line by downloading the latest version of the firmware file in the official FTF format using the FlashTool flashing software. This prior method can transmit large amount of firmware files for a full firmware update procedure. However, such wired data transmission is not feasible or extremely inconvenient in certain application fields.
[0005] In a second prior art method, a firmware over-the-air (FOTA) technology is used to automatically update the operating system of the embedded electronic device. By connecting to a server, the embedded electronic device may download the latest version of the firmware file and update the firmware accordingly without connecting to the computer host. However, if an error occurs in the root file system (rootfs) or a modem of the embedded electronic device, the firmware update procedure may not be able to be performed on-line. In addition, the storage space of the built-in flash memory of a mobile electronic device is usually insufficient to support the file size required for a full firmware update procedure using FOTA technology. Therefore, an electronic device with limited built-in memory space can only use the first prior art method when performing a full firmware update procedure, which is inconvenient for the users.
[0006] US 2023 / 067872 A1 teaches a method for generating a differential upgrade package, adaptable for upgrading a firmware of an embedded system with the differential upgrade package. A differential comparison is performed on an original file and a new file to generate global discrepancy information, comprising addresses and lengths of matched data portions in the new file and the original file. Thereafter, based on the global discrepancy information, the new file is divided into a plurality of blocks, with patch parameters for each of the blocks determined. Based on the patch parameters, a plurality of differential blocks are generated, respectively corresponding to each of the blocks. In the end, the differential upgrade package generation equipment combines the differential blocks into the differential upgrade package, allowing the embedded system to sequentially load each of the differential blocks from the differential upgrade package to upgrade the firmware.
[0007] US 2018 / 073592 A1 teaches an electronic apparatus which includes a transceiver, and a processor configured to convert a firmware file to update a firmware of the display apparatus into a video signal, convert a setting information file to change a setting of the display apparatus into an audio signal, and control the transceiver to transmit the converted video signal and the converted audio signal to a display apparatus.
[0008] Therefore, there is a need for a method of performing a full firmware update procedure on an electronic device with limited built-in memory space using FOTA technology.Summary of the Invention
[0009] The present invention aims at providing a method of performing full firmware update procedure on an embedded electronic device and a related embedded electronic device.
[0010] This is achieved by a method of performing full firmware update procedure on an embedded electronic device according to claim 1 and by an embedded electronic device which performs a full firmware update procedure according to claim 11. The dependent claims pertain to corresponding further developments and improvements.
[0011] As will be seen more clearly from the detailed description following below, the claimed method of performing a full firmware update procedure on an embedded electronic device includes dividing a full firmware update file into a plurality pieces of update data; arranging the plurality pieces of update data into a first sub update file and a second sub update file; creating a header file associated with a size of each sub update file; merging the header file, the first sub update file and the second sub update file sequentially into a full FOTA file; uploading the full FOTA file to the embedded electronic device; extracting the first sub update file from the full FOTA file based on the header file and storing memory space during an operation of the embedded electronic device, a sub-system module having a built-in second storage unit configured to provide a second available memory space during the operation of the embedded electronic device, and a processing module. The processing module configured to receive a full FOTA file associated with a full firmware update file and including a header file, a first sub update file and a second sub update file; extract the first sub update file from the full FOTA file based on the header file and store the extracted first sub update file in the first storage unit; free up memory space of the second storage unit in the sub-system module; extract the second sub update file from the full FOTA file based on the header file and store the extracted second sub update file in the second storage unit; perform one or multiple firmware update steps associated with the first sub update file stored in the first storage unit at a first time point; copy the second sub update file stored in the second storage unit to the first storage unit at a second time point which occurs after the first time point; and perform one or multiple firmware update steps associated with the second sub update file stored in the first storage unit at a third time point which occurs after the second time point. The full firmware update file is divided into a plurality pieces of update data. The plurality pieces of update data are arranged into the first sub update file and the second sub update file. The header file is associated with a size of each sub update file. A size of the full FOTA file is larger than a size of the first available memory space. The size of the full FOTA file is not larger than a total size of the first available memory space and the second available memory space.Brief Description of the Drawings
[0012] In the following, the invention is further illustrated by way of example, taking reference to the accompanying drawings. FIG. 1 is a functional diagram illustrating an embedded electronic device according to an embodiment of the present invention. FIG. 2 is a flowchart illustrating a method of performing a full firmware update procedure on an embedded electronic device using FOTA technology according to an embodiment of the present invention. FIG. 3 is a diagram illustrating the data structure in the embedded electronic device after executing the file-dividing step of the full firmware update procedure according to an embodiment of the present invention. FIG. 4 is a diagram illustrating the full FOTA file created by the embedded electronic device when performing the full firmware update procedure according to an embodiment of the present invention. FIGs. 5-9 are diagrams illustrating the data structures in the embedded electronic device at each stage of the full firmware update procedure using FOTA technology according to an embodiment of the present invention. FIG. 10 is a diagram illustrating the data structure in the embedded electronic device after performing the full firmware update procedure according to an embodiment of the present invention. Detailed Description
[0013] FIG. 1 is a functional diagram illustrating an embedded electronic device 100 according to an embodiment of the present invention. The embedded electronic device 100 includes at least a processing module 110, a sub-system module 120, a first storage unit 131 and a user interface 140.
[0014] In an embodiment of the present invention, the embedded electronic device 100 may be an Internet of Things (IoT) device, a mobile Internet device (MID) or a smart phone designed for industrial, medical storage or automobile application. However, the type and application of the embedded electronic device 100 do not limit the scope of the present invention.
[0015] According to the invention, the sub-system module 120 includes at least a second storage unit 132 for storing sub-system firmware which provides functions required by the application of the embedded electronic device 100. For example, when the embedded electronic device 100 is an Internet Service Provider (ISP), the sub-system module 120 may be a modem module. However, the types of the embedded electronic device 100 and its built-in sub-system module 120 do not limit the scope of the present invention.
[0016] In an embodiment of the present invention, the first storage unit 131 may be a built-in memory of the embedded electronic device 100, such as an embedded multimedia card (eMMC), a universal flash storage (UFS) or a non-volatile memory (NVMe). However, the type of the first storage unit 131 does not limit the scope of the present invention.
[0017] In an embodiment of the present invention, the second storage unit 132 may be a built-in memory of the sub-system module 120 and may include one or multiple types of memory devices. For example, the second storage unit 132 may include flash memory, random access memory (RAM) and / or read-only memory (ROM). However, the type of the second storage unit 132 does not limit the scope of the present invention.
[0018] In an embodiment of the present invention, the embedded electronic device 100 is a product designed for ultra-thin and light-weight applications, wherein its built-in first storage unit 131 only provides limited available memory space. More specifically, during the operation of the embedded electronic device 100, the first storage unit 131 is unable to provide sufficient available memory space for performing a full firmware update procedure.
[0019] In an embodiment of the present invention, during the operation of the embedded electronic device 100, the available memory space provided by the first storage unit 131 is smaller than the minimum memory space required for performing the full firmware update procedure, but the total available memory space provided by the first storage unit 131 and the second storage unit 132 is larger than the minimum memory space required for performing the full firmware update procedure. Therefore, when the embedded electronic device 100 is requested to perform the full firmware update procedure, the present invention may further use the second storage unit 132 of the sub-system module 120 to provide extra memory space for supporting the full firmware update procedure.
[0020] FIG. 2 is a flowchart illustrating a method of performing a full firmware update procedure on the embedded electronic device 100 using FOTA technology according to an embodiment of the present invention. The flowchart depicted in FIG. 2 includes the following steps: Step 200:divide a full firmware update file into a plurality pieces of update data.Step 210:arrange the plurality pieces of update data into a first sub update file and a second sub update file.Step 220:create a header file associated with the firmware version, a checksum and the size of each sub update file.Step 230:merge the header file, the first sub update file and the second sub update file sequentially into a full FOTA file.Step 240:upload the full FOTA file to the embedded electronic device 100.Step 250:determine whether the full FOTA file can pass an accuracy verification; if yes, execute step 260; if no, execute step 320.Step 260:extract the first sub update file from the full FOTA file based on the header file and store the extracted first sub update file in the first storage unit 131.Step 270:free up the memory space of the second storage unit 132 of the sub-system module 120.Step 280:extract the second sub update file from the full FOTA file based on the header file and store the extracted second sub update file in the second storage unit 132.Step 290:determine whether the extracted first sub update file and the extracted second sub update file are complete; if yes, execute step 300; if no, execute step 320.Step 300:restart the system and perform one or multiple firmware update steps associated with the first sub update file stored in the first storage unit 131.Step 310:restart the system, copy the second sub update file stored in the second storage unit 132 to the first storage unit 131, and perform one or multiple firmware update steps associated with the second sub update file stored in the first storage unit 131.Step 320:send a notification of firmware update failure and exit the full firmware update procedure.
[0021] In step 200, the full firmware update file is divided into the plurality pieces of update data. Each piece of update data may be any one among a kernel update data, a root file system (rootfs) update data, an original equipment manufacturer (OEM) update data and a sub-system firmware update data. In an embodiment, the full firmware update file may be divided into the plurality pieces of update data using any file splitter tool or software in step 200.
[0022] In step 210, the plurality pieces of update data are arranged into the first sub update file and the second sub update file. For illustrative purpose, it is assumed that the full firmware update file is divided into (M+N) pieces of update data, wherein the first sub update file includes N pieces of update data, the second sub update file includes M pieces of update data, and M and N are positive integers. The content of each piece of update data in the first sub update file is different from the content of each piece of update data in the second sub update file. As previously stated, the minimum memory space required for performing the full firmware update procedure is larger than the size of the available memory space provided by the first storage unit 131, but is not larger than the total size of the available memory space provided by the first storage unit 131 and the second storage unit 132. In an embodiment, the sizes of the first sub update file and the second sub update file (i.e., the values of M and N) may be determined according to the ratio of the size of the first available memory space provided by the first storage unit 131 to the size of the second available memory space provided by the second storage unit 132.
[0023] In an embodiment of the present invention, the second sub update file includes the sub-system firmware update data of the full firmware update file, wherein the one or multiple firmware update steps associated with the first sub update file are performed earlier than the one or multiple firmware update steps associated with the second sub update file.
[0024] FIG. 3 is a diagram illustrating the data structure in the embedded electronic device 100 after executing step 210 of the full firmware update procedure according to an embodiment of the present invention. For illustrative purpose, it is assumed that the full firmware update file is divided into 4 pieces of update data: the rootfs update data, the OEM update data, the kernel update data, and the sub-system firmware update data, wherein the total size of the full firmware update file is about 144MB. Assuming that the size of the first available memory space provided by the first storage unit 131 is similar to the size of the second available memory space provided by the second storage unit 132, the first sub update file may include the rootfs update data and the OEM update data (with a total size of about 73MB), and the second sub update file may include the kernel update data and the sub-system firmware update data (with a total size of about 71MB) after executing step 210, as depicted in FIG. 3.
[0025] In the embodiment of the present invention, the content of each piece of update data in the first sub update file is different from the content of each piece of update data in the second sub update file, and the second sub update file at least includes the sub-system firmware update data.
[0026] In step 220, the header file associated with the firmware version, the checksum and the size of each sub update file is created. In step 230, the header file, the first sub update file and the second sub update file are merged sequentially into the full FOTA file.
[0027] FIG. 4 is a diagram illustrating the full FOTA file created by the embedded electronic device 100 when performing the full firmware update procedure according to an embodiment of the present invention. In an embodiment, the checksum may be cyclic redundancy check (CRC) for detecting accidental errors to digital data after data transmission or storage. In another embodiment, the checksum may be any cryptographic hash function containing fixed string of digits which are generated based on a network data package or a computer file. In an embodiment, Size 1 represents the file size of the first sub update file and its value may be associated with the number of bits contained in the first sub update file. Size 2 represents the file size of the second sub update file and its value may be associated with the number of bits contained in the second sub update file. However, the format of the header file and the type of the checksum do not limit the scope of the present invention.
[0028] In step 240, the full FOTA file may be uploaded to the embedded electronic device 100 via the user interface 140. In step 250, it is then determined whether the full FOTA file can pass the accuracy verification. In an embodiment, the processing unit 110 of the embedded electronic device 100 may examine the content of the header file in the full FOTA file and verify the correctness of the checksum. When determining that the full FOTA file cannot pass the accuracy verification, it indicates that data loss or damage may have happened during the process of uploading the full FOTA file to the embedded electronic device 100. Under such circumstance, step 320 is then executed for sending the notification of firmware update failure and exiting the full firmware update procedure.
[0029] When it is determined in step 250 that the full FOTA file can pass the accuracy verification, steps 260 and 280 are then executed for respectively extracting the first sub update file and the second sub update file from the full FOTA file based on the header file. As depicted in the embodiment of FIG. 4, the processing unit 110 of the embedded electronic device 100 may acquire the file size of the first sub update file (i.e., Size 1) and the file size of the second sub update file (i.e., Size 2) based on the header file of the full FOTA file, and the extract corresponding contents of the first sub update file and the second sub update file from the full FOTA file based on Size 1 and Size 2. For example, when the value of Size 1 is equal to m and the value of Size 2 is equal to n (m and n are positive integers), the processing unit 110 may extract the first bit to the m th< bit of data located after the header file as the first sub update file, and may extract the (m+1) th< bit to the n th< bit of data located after the header file as the second sub update file.
[0030] FIGs. 5-9 are diagram illustrating the data structures in the embedded electronic device 100 at each stage of the full firmware update procedure using FOTA technology according to an embodiment of the present invention. For illustrative purpose, it is assumed that current rootfs data, current OEM data, current kernel data, and current sub-system firmware data is stored in the embedded electronic device 100 before performing the full firmware update procedure.
[0031] In step 260, the first sub update file extracted from the full FOTA file is stored in the first storage unit 131 of the embedded electronic device 100, as depicted in FIG. 5.
[0032] In step 270, the memory space of the second storage unit 132 in the sub-system module 120 is freed up. In step 280, the second sub update file extracted from the full FOTA file is stored in the second storage unit 132 of the sub-system module 120, as depicted in FIG. 6.
[0033] In step 290, the processing unit 110 is configured to determine whether the extracted first sub update file and the extracted second sub update file are complete. When determining that the extracted first sub update file and the extracted second sub update file are not complete, it indicates that data loss or damage may have happened during the process of extracting and / or storing each sub update file. Under such circumstance, step 320 is then executed for sending the notification of firmware update failure and exiting the full firmware update procedure.
[0034] When it is determined in step 290 that the extracted first sub update file and the extracted second sub update file are complete, step 300 is executed for restarting the system and performing the one or multiple firmware update steps associated with the first sub update file stored in the first storage unit 131. More specifically, after restarting the system in step 300, the processing unit 110 is configured to update the current rootfs data according to the rootfs update data in the first sub update file and update the current OEM data according to the OEM update data in the first sub update file, as depicted in FIG. 7.
[0035] After performing the one or multiple firmware update steps associated with the first sub update file, step 310 is executed for restarting the system again. Next, the second sub update file stored in the second storage unit 132 is copied to the first storage unit 131, as depicted in FIG. 8.
[0036] Next, the one or multiple firmware update steps associated with the second sub update file stored in the first storage unit 131 may be performed. More specifically, after copying the second sub update file stored in the second storage unit 132 to the first storage unit 131, the processing unit 110 is configured to update the current kernel data according to the kernel update data in the second sub update file and update the current sub-system module 120 according to the sub-system update data in the second sub update file, as depicted in FIG. 9.
[0037] In an embodiment, after restarting the system in steps 300 and 310, the embedded electronic device 100 is configured to perform an original equipment manufacturer secondary boot loader (OEMSBL) for performing the one or multiple firmware update steps associated with the first sub update file and the second sub update file. However, the method of performing the one or multiple firmware update steps associated with the first sub update file and the second sub update file adopted by the embedded electronic device 100 does not limit the scope of the present invention.
[0038] FIG. 10 is a diagram illustrating the data structure in the embedded electronic device 100 after performing the full firmware update procedure using FOTA technology according to an embodiment of the present invention. After completing the full firmware update procedure, the updated rootfs data, the updated OEM data, the updated kernel data, and the updated sub-system firmware is stored in the embedded electronic device 100.
[0039] In conclusion, for an embedded electronic device with limited built-in memory space, the present invention performs the full firmware update procedure using a multi-stage FOTA technology. The firmware update steps associated with the sub-system firmware update data are performed at the last stage, so that the second storage unit 132 of the sub-system module 120 may provide extra memory space for supporting the full firmware update procedure before updating the current sub-system.
Claims
1. A method of performing a full firmware update procedure on an embedded electronic device (100) which includes a first storage unit (131) and a sub-system module (120) having a second storage unit (132), comprising: storing sub-system firmware which provides functions required by an application of the embedded electronic device (100) in the second storage unit (132); dividing a full firmware update file into a plurality pieces of update data; arranging the plurality pieces of update data into a first sub update file and a second sub update file; creating a header file associated with a size of each sub update file; merging the header file, the first sub update file and the second sub update file sequentially into a full firmware over-the-air, FOTA, file; uploading the full FOTA file to the embedded electronic device (100) by: extracting the first sub update file from the full FOTA file based on the header file and storing the extracted first sub update file in the first storage unit (131) of the embedded electronic device (100); freeing up memory space of the second storage unit (132) in the sub-system module (120) of the embedded electronic device (100) which is previously used for storing the sub-system firmware; extracting the second sub update file from the full FOTA file based on the header file and storing the extracted second sub update file in the second storage unit (132) after freeing up the memory space of the second storage unit (132); performing one or multiple firmware update steps associated with the first sub update file stored in the first storage unit (131) at a first time point; copying the second sub update file stored in the second storage unit (132) to the first storage unit (131) at a second time point which occurs after the first time point; and performing one or multiple firmware update steps associated with the second sub update file stored in the first storage unit (131) at a third time point which occurs after the second time point, wherein: the first storage unit (131) and the second storage unit (132) are different types of memory devices; the first storage unit (131) provides a first available memory space during an operation of the embedded electronic device (100); the second storage unit provides a second available memory space during the operation of the embedded electronic device (100); a size of the full FOTA file is larger than a size of the first available memory space; and the size of the full FOTA file is not larger than a total size of the first available memory space and the second available memory space.
2. The method of claim 1, characterized in that: the full firmware update file is divided into (M+N) pieces of update data; the first sub update file includes N pieces of update data; the second sub update file includes M pieces of update data; M and N are positive integers; the M pieces of update data at least includes a sub-system firmware update data; and a content of each piece of update data in the first sub update file is different from a content of each piece of update data in the second sub update file.
3. The method of claim 2, characterized in that: the N pieces of update data in the first sub update file includes a kernel update data, a root file system update data or an original equipment manufacturer, OEM, update data; and the M pieces of update data in the second sub update file further includes any of the kernel update data, the root file system update data and the OEM update data which is not included in the N pieces of update data of the first sub update file.
4. The method of any of claims 2-3, further characterized by comprising: determining a value of M and a value of N according to a ratio of the size of the first available memory space to the size of the second available memory space.
5. The method of any of claims 1-4, further characterized by comprising: creating the header file associated with the size of each sub update file and a checksum; determining whether the full FOTA file can pass an accuracy verification after uploading the full FOTA file to the embedded electronic device (100); and extracting the first sub update file from the full FOTA file and extracting the second sub update file from the full FOTA file according to the header file after determining that the full FOTA file can pass the accuracy verification.
6. The method of claim 5, further characterized by comprising: sending a notification of firmware update failure and exiting the full firmware update procedure when determining that the full FOTA file cannot pass the accuracy verification after being uploaded to the embedded electronic device (100).
7. The method of any of claims 1-6, further characterized by comprising: determining whether the first sub update file is complete after storing the extracted first sub update file in the first storage unit (131); and after determining that the first sub update file is complete, restarting the embedded electronic device (100) at the first time point for performing the one or multiple firmware update steps associated with the first sub update file stored in the first storage unit (131).
8. The method of claim 7, further characterized by comprising: sending a notification of firmware update failure and exiting the full firmware update procedure when determining that the first sub update file is not complete after being stored in the first storage unit (131).
9. The method of any of claims 1-8, further characterized by comprising: determining whether the second sub update file is complete after copying the extracted second sub update file to the first storage unit (131); and after determining that the second sub update file is complete, restarting the embedded electronic device (100) at the third time point for performing the one or multiple firmware update steps associated with the second sub update file stored in the first storage unit (131).
10. The method of claim 9, further characterized by comprising: sending a notification of firmware update failure and exiting the full firmware update procedure when determining that the second sub update file is not complete after being copied to the first storage unit (131).
11. An embedded electronic device (100) which performs a full firmware update procedure, comprising: a first storage unit (131) configured to provide a first available memory space during an operation of the embedded electronic device (100); and a sub-system module (120) having a built-in second storage unit (132) configured to provide a second available memory space for storing sub-system firmware which provides functions required by the operation of the embedded electronic device (100), comprising: a processing module (110) configured to: receive a full firmware over-the-air, FOTA, file associated with a full firmware update file and including a header file, a first sub update file and a second sub update file; extract the first sub update file from the full FOTA file based on the header file and store the extracted first sub update file in the first storage unit (131); free up the second memory space of the second storage unit (132) in the sub-system module (120) which is previously used for storing the sub-system firmware; extract the second sub update file from the full FOTA file based on the header file and store the extracted second sub update file in the second storage unit (132) after freeing up the second memory space of the second storage unit (132); perform one or multiple firmware update steps associated with the first sub update file stored in the first storage unit (131) at a first time point; copy the second sub update file stored in the second storage unit (132) to the first storage unit (131) at a second time point which occurs after the first time point; and perform one or multiple firmware update steps associated with the second sub update file stored in the first storage unit (131) at a third time point which occurs after the second time point, wherein: the first storage unit (131) and the second storage unit (132) are different types of memory devices; the full firmware update file is divided into a plurality pieces of update data; the plurality pieces of update data are arranged into the first sub update file and the second sub update file; the header file is associated with a size of each sub update file; a size of the full FOTA file is larger than a size of the first available memory space; and the size of the full FOTA file is not larger than a total size of the first available memory space and the second available memory space.
12. The embedded electronic device (100) of claim 11, characterized in that: the full firmware update file is divided into (M+N) pieces of update data; the first sub update file includes N pieces of update data; the second sub update file includes M pieces of update data; M and N are positive integers; the M pieces of update data at least includes a sub-system firmware update data; and a content of each piece of update data in the first sub update file is different from a content of each piece of update data in the second sub update file.
13. The embedded electronic device (100) of claim 12, characterized in that: the N pieces of update data in the first sub update file includes a kernel update data, a root file system update data or an original equipment manufacturer, OEM, update data; and the M pieces of update data in the second sub update file further includes any of the kernel update data, the root file system update data and the OEM update data which is not included in the N pieces of update data of the first sub update file.
14. The embedded electronic device (100) of any of claims 12-13, characterized in that a value of M and a value of N are determined according to a ratio of the size of the first available memory space to the size of the second available memory space.
15. The embedded electronic device (100) of any of claims 11-14, characterized in that: the header file is associated with the size of each sub update file and a checksum; and the processing module (110) is further configured to: determine whether the full FOTA file can pass an accuracy verification after receiving the full FOTA file; and extract the first sub update file from the full FOTA file and extracting the second sub update file from the full FOTA file according to the header file after determining that the full FOTA file can pass the accuracy verification.
16. The embedded electronic device (100) of claim 15, characterized in that the processing module (110) is further configured to send a notification of firmware update failure and exit the full firmware update procedure when determining that the full FOTA file cannot pass the accuracy verification after receiving the full FOTA file.
17. The embedded electronic device (100) of any of claims 11-16, characterized in that the processing module (110) is further configured to: determine whether the first sub update file is complete after storing the extracted first sub update file in the first storage unit (131); and after determining that the first sub update file is complete, restart the embedded electronic device (100) at the first time point for performing the one or multiple firmware update steps associated with the first sub update file stored in the first storage unit (131).
18. The embedded electronic device (100) of claim 17, characterized in that the processing module (110) is further configured to send a notification of firmware update failure and exit the full firmware update procedure when determining that the first sub update file is not complete after being stored in the first storage unit (131).
19. The embedded electronic device (100) of any of claims 11-18, characterized in that the processing module (110) is further configured to: determine whether the second sub update file is complete after copying the extracted second sub update file to the first storage unit (131); and after determining that the second sub update file is complete, restart the embedded electronic device (100) at the third time point for performing the one or multiple firmware update steps associated with the second sub update file stored in the first storage unit (131).
20. The embedded electronic device (100) of claim 19, characterized in that the processing module (110) is further configured to send a notification of firmware update failure and exit the full firmware update procedure when determining that the second sub update file is not complete after being copied to the first storage unit (131).