Firmware Forward Backward Compatibility Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic systems face challenges in achieving firmware forward and backward compatibility, leading to limited memory storage due to the need to store multiple firmware versions for hardware compatibility.
Innovation Solution
An electronic apparatus with a firmware forward and backward compatibility mechanism, which includes a read-only storage circuit, a readable and writable storage circuit, and a processing circuit. The apparatus merges variable functions from different firmware versions and updates function pointers to generate updated firmware, enabling system initialization across different firmware versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple firmware versions are stored in advance to ensure hardware compatibility, then firmware compatibility is improved, but memory storage capacity deteriorates due to limited storage space
Solution Approach 1:
The patent merges variable functions from different firmware versions into a unified structure. The processing circuit identifies compatible functions across firmware versions and combines them into a single merged firmware image, reducing the number of separate firmware versions that need to be stored while maintaining compatibility with different hardware configurations.
Solution Approach 2:
The patent creates a universal firmware structure that can serve multiple hardware configurations. By using a standardized shared data section format and function pointer mechanism, a single merged firmware version can adapt to work with different hardware versions, eliminating the need to store separate firmware versions for each hardware variant.
2Adaptability or versatility
If full firmware of different versions is stored in advance to ensure compatibility, then firmware compatibility is improved, but storage efficiency deteriorates
Solution Approach 1:
The patent extracts only the necessary variable functions from different firmware versions and stores them in a consolidated manner. Instead of storing complete firmware images for each version, the system extracts and stores only the essential functional components in a shared data section, significantly reducing storage requirements while maintaining compatibility.
Solution Approach 2:
The patent performs preliminary merging of firmware functions during the firmware creation process. The processing circuit pre-identifies and merges compatible functions across different firmware versions before deployment, so that when the firmware is loaded, no additional merging or version resolution is needed, saving both storage space and initialization time.
3Adaptability or versatility
If multiple firmware versions are stored to handle hardware differences, then compatibility is improved, but system complexity deteriorates
Solution Approach 1:
The patent segments the firmware into distinct functional sections: shared data sections containing variable functions and version-independent code, and function pointer sections that link to appropriate implementations. This segmentation allows the system to manage multiple firmware versions through a structured framework rather than handling each version as a complete, monolithic unit, reducing system complexity.
Solution Approach 2:
The patent introduces function pointers as an intermediary mechanism between the shared data section and hardware-specific implementations. The function pointers act as a translation layer that allows the unified firmware structure to adapt to different hardware versions without requiring complex version detection and loading logic, simplifying the overall system architecture.
Data Source
AI summary
The present disclosure discloses an electronic system having firmware forward and backward compatibility mechanism. A read-only storage circuit stores first version firmware. A processing circuit configured to store the first version firmware from the read-only storage circuit to a readable and writable storage circuit to perform a system initialization, determine a version of second version firmware included in a driver received from a driver storage terminal is earlier than the first version firmware, merge a variable function having a first version content in the first version firmware and the variable function having a second version content in the second version firmware, replace a first version function pointer in the first version firmware by a second version function pointer in the second version firmware to generate updated firmware having a updated share data section and perform function call according to the updated share data section to continue performing system initialization.


