Firmware Overlay Address Redirection for Version Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware systems face challenges in minimizing storage space while accommodating multiple versions and ensuring accurate debugging during version switching, which affects hardware operation efficiency.
Innovation Solution
The implementation of a firmware overlay mechanism that includes a storage circuit with a memory circuit and address decoding circuit to redirect access addresses, allowing for efficient switching between different firmware versions, thereby reducing memory usage and enhancing debugging accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple versions of firmware with full contents are stored to enable switching between versions, then the hardware apparatus can operate according to different firmware versions, but the storage space required increases significantly
Solution Approach 1:
The firmware is divided into a shared section (common to all versions) and version-specific sections. Only the version-specific sections are stored in the storage circuit, while the shared section is loaded into the memory circuit during operation. This segmentation allows multiple firmware versions to be supported without storing complete firmware images, significantly reducing storage space requirements.
Solution Approach 2:
The version-specific firmware sections are nested within the shared firmware structure. The storage circuit stores only the differential version sections, which are then overlaid onto the shared section in the memory circuit during execution. This nesting approach enables compact storage of multiple versions while maintaining full functionality.
2Adaptability or versatility
If different versions of firmware are stored with full contents to support version switching, then the hardware can operate according to required firmware versions, but the debugging accuracy becomes difficult to maintain
Solution Approach 1:
By segmenting firmware into shared and version-specific sections, the system maintains clear separation between different versions in the storage circuit. The address decoding circuit accurately identifies and redirects addresses for version-specific sections, ensuring that debugging operations target the correct version without interference from other versions, thus maintaining high debugging accuracy.
Solution Approach 2:
The address decoding circuit acts as an intermediary between the processing circuit and the memory circuit. It accurately translates access addresses to corresponding physical addresses in the memory circuit, ensuring that debugging operations on version-specific sections precisely target the intended firmware version without address conflicts or misinterpretation.
3Adaptability or versatility
If full firmware contents are stored for each version to enable switching, then version flexibility is achieved, but the processing efficiency decreases due to larger data handling requirements
Solution Approach 1:
The version-specific sections are extracted from the complete firmware images and stored separately in the storage circuit. During operation, only these extracted version-specific sections are loaded into the memory circuit and executed, rather than loading complete firmware images. This extraction significantly reduces the data handling requirements and improves processing efficiency.
Solution Approach 2:
Instead of loading and executing complete firmware images (excessive action), the system loads and executes only the necessary version-specific sections (partial action). This partial loading approach reduces memory bandwidth requirements and processing overhead while maintaining the ability to switch between different firmware versions.
Data Source
AI summary
The present disclosure an electronic apparatus having firmware overlay mechanism. A shared section of firmware and a first version section of the firmware corresponding to the first version firmware are retrieved from a firmware storage terminal to a memory circuit of a memory by a processing circuit. An address redirection process is performed on the first version firmware by an address decoding circuit of the memory to redirect first access addresses to physical addresses of the memory circuit. The first version firmware is executed through the address decoding circuit. A firmware version switching process is performed to retrieve a second version section of the firmware corresponding to the second version firmware to the memory circuit. The address re-defined process is performed on the second version firmware to redirect second access addresses to the physical addresses of the memory circuit. The second version firmware is executed through the address decoding circuit.


