Firmware Extension via Callback Table for Confidentiality
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware extension methods require the release of source codes from upstream suppliers, compromising confidential hardware design information, as they necessitate modification of baseline firmware images for additional functionalities.
Innovation Solution
A method that generates an extension firmware image based on a header file and a callback table, allowing the extension of baseline firmware without compromising its source codes, by merging the baseline, extension firmware images, and callback table, with memory allocation parameters and an enablement flag for conditional execution of extended functions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If source codes are released to modify baseline firmware image, then additional functionalities can be implemented, but confidential hardware design information is compromised
Solution Approach 1:
The firmware system is segmented into two independent parts: the baseline firmware image (providing basic functions) and the extension firmware image (providing additional functionalities). The extension firmware is compiled separately and linked through a callback table mechanism, allowing functionality extension without accessing or releasing the baseline source codes.
Solution Approach 2:
A callback table serves as an intermediary mechanism between the baseline firmware and extension firmware. The callback table stores function pointers that enable the baseline firmware to invoke extended functions without direct access to their source codes, thus maintaining confidentiality while enabling functionality extension.
2Adaptability or versatility
If baseline firmware image is modified to provide additional features, then functionality is extended, but the original firmware image integrity is compromised
Solution Approach 1:
The baseline firmware image and extension firmware image are merged into a single executable firmware image through a linking process. The merging combines the two independent components while preserving the integrity of the baseline firmware, as the extension is loaded and integrated without modifying the original baseline code structure.
3Ease of manufacture
If source codes are released for firmware modification, then customization is enabled, but manufacturing complexity increases
Solution Approach 1:
The baseline firmware image is prepared in advance with predefined callback function signatures and a reserved callback table structure. This preliminary setup enables downstream vendors to compile extension firmware independently without needing access to baseline source codes, simplifying the manufacturing process while enabling customization.
Data Source
AI summary
A firmware extension method is provided, particularly adaptable for an embedded system. Firstly, a baseline firmware image is provided with a header file. Secondly, an extension firmware image is generated based on the header file, comprising one or more extended functions. Thereafter, a callback table is generated, comprising pointers pointing to entries of the extended functions in the extension firmware image. Further, memory allocation parameters are provided. The memory allocation parameters comprise a base address where the extension firmware image starts. The baseline firmware image, the extension firmware image and the callback table are then merged to generate a merged firmware image based on the memory allocation parameters.


