Firmware Update Method for Low Memory Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Low memory devices face challenges in firmware updates as they lack sufficient memory to store both current and new firmware versions, requiring external devices, additional memory, or complex boot loaders with embedded communication stacks, which are prone to bugs and memory-intensive.
Innovation Solution
The firmware is split into a core part and an extended part, allowing the core part to independently connect to a remote server, download, and manage updates without needing a wired connection, external memory, or a communication stack in the boot loader, by inhibiting entry points, erasing the current extended part, downloading new components, and activating the new firmware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the firmware is updated by connecting to an external device, then the new firmware version can be downloaded and installed, but the device requires a wired connection to another device
Solution Approach 1:
The device performs firmware updates autonomously using its own resources. The core part of the firmware contains a download client that can independently connect to remote servers, download new firmware versions, and install updates without requiring external device assistance or wired connections.
2Quantity of substance
If an external memory is added to the device, then the new firmware version can be stored during update, but the device requires adaptation for receiving external memory
Solution Approach 1:
The firmware is divided into a core part and an extended part. The core part (containing update functionality) is updated first and can be installed in the available memory space. The extended part is updated separately, allowing the update process to proceed with the existing memory capacity without requiring external memory or device adaptation.
3Reliability
If a boot loader with communication stack is used, then the firmware update can be performed autonomously, but the boot loader becomes complex and requires more internal memory
Solution Approach 1:
The communication and download functionality is extracted from the boot loader and placed in the core part of the firmware. This allows the boot loader to remain simple and memory-efficient, while the core part contains the necessary download client and update management capabilities to perform autonomous updates.
4Productivity
If the core part is updated first, then the download client is available for updating the extended part, but memory space must be managed carefully
Solution Approach 1:
The core part is updated first as a preliminary action, establishing the download client capability before updating the extended part. This sequencing allows the system to gain update functionality early in the process, enabling the extended part to be downloaded and installed subsequently, optimizing the use of available memory space during the update process.
Data Source
AI summary
The present invention relates to a method for updating a firmware on a device, from a current version to a new version, said firmware being split into: —a core part, —an extended part comprising a plurality of entry points callable by the core part, said method comprising: —inhibiting the entry points between the core part of the current version, called current core part, and the extended part of the current version, called current extended part; —erasing the current extended part; —downloading the core part of the new version, called new core part; —erasing the current core part; —downloading—the extended part of the new version, called new extended part; —activating the entry points between the new core part and the new extended part.


