Firmware Update Recovery via Boot Loader Status Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional firmware update methods for embedded electronic devices lack a reliable backup mechanism, leading to potential device failure and inability to re-boot or update if the process encounters issues, such as device crashes or software defects, which is critical for devices like surveillance systems that cannot tolerate firmware update failures.
Innovation Solution
A firmware update method that utilizes a boot loader to initialize and validate the update status, executing either the default or new firmware based on the update status, ensuring the device re-boots with the default firmware if the update fails, and validates the update to ensure successful execution of the new firmware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If conventional firmware update methods directly replace old firmware with new firmware, then the firmware update process is simple, but the device may fail to operate normally if an abnormal event occurs during the update process
Solution Approach 1:
The firmware storage space is segmented into multiple areas: a first firmware storage area for storing the original firmware, a second firmware storage area for storing the updated firmware, and a configuration storage area for storing configuration information. This segmentation allows the device to maintain the original firmware as a backup while loading the updated firmware, ensuring that if the update fails, the device can revert to the original firmware without failure.
Solution Approach 2:
The device performs preliminary actions by storing the original firmware in the first firmware storage area before performing the update. The configuration information is pre-prepared to indicate which firmware area to load. This preliminary preparation ensures that if the update process encounters an abnormal event, the device can immediately switch to loading from the first firmware storage area, preventing operational failure.
2Device complexity
If no backup mechanism is implemented during firmware update, then the update process is straightforward, but the device cannot be re-booted or updated again if the update fails
Solution Approach 1:
The device implements a feedback mechanism through the configuration storage area that records whether the firmware update was successful. After an update attempt, the system writes status information to the configuration storage area. If the update fails or the device re-boots abnormally, the configuration information indicates to load from the first firmware storage area, enabling automatic recovery and subsequent update attempts without requiring external intervention.
Solution Approach 2:
The system changes the parameter of firmware loading by dynamically selecting which firmware storage area to load from based on configuration information. The configuration information acts as a switch parameter that determines whether to load from the first or second firmware storage area. This parameter change mechanism allows the device to adapt its loading behavior based on update success or failure, ensuring continued operability and update capability.
3Reliability
If additional hardware or manual intervention is required to recover from firmware update failure, then the device can recover, but the complexity and operational burden increase
Solution Approach 1:
The device implements self-service recovery by automatically detecting update status through the configuration storage area and autonomously deciding whether to load from the first or second firmware storage area. When an abnormal event occurs, the system automatically re-loads the firmware based on the configuration information without requiring external manual intervention or additional hardware buttons. This self-service mechanism simplifies the recovery process while maintaining high reliability.
Data Source
AI summary
A safe and recoverable firmware update method which for a remote embedded electronic device and the device thereof. The method includes reading an update status in a flash memory, and determining the update status. If the update status is “DEFAULT”, a default firmware is executed. If the update status is not “DEFAULT”, the update status is further determined if it is “UPDATED”. If the update status is “UPDATED”, a configuration area is set as “BOOTING” and a new firmware is executed. If the update status is not “UPDATED”, the update status is determined if it is “RUNNEW”. If the update status is “RUNNEW”, a new firmware and an update validation method are executed. If the update validation method gets an update completion validation message, the update status is set as “RUNNEW”. If the update status is not “RUNNEW”, a default firmware is executed.


