Firmware Extension via Callback Table for Confidentiality

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefirmware functionalityVSAvoidconfidential information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvefirmware functionalityVSAvoidfirmware integrity
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

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.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of manufacture

If source codes are released for firmware modification, then customization is enabled, but manufacturing complexity increases

Engineering Contradiction:
Improvefirmware customizationVSAvoidmanufacturing process
Core Design Contradiction:
Ease of manufactureVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9207918B2Firmware extension method and firmware builder
Publication Date: 2015.12.08 MEDIATEK INC
  • US9207918B2 patent drawing
  • US9207918B2 patent drawing
  • US9207918B2 patent drawing

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.