Post-Build Firmware Binary Modification for Hardware Configurations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing firmware systems require separate builds for different hardware configurations, making it difficult and time-consuming to update or modify firmware in the field, as changes often necessitate recreating the firmware image from scratch, and there is a risk of settings and firmware becoming mismatched.

Innovation Solution

A system and method for post-build modification of firmware binaries that allocates a configuration area in the firmware binary image file for customizable settings, allowing default or placeholder information to be inserted during the build process, and enabling a utility application to update these settings post-build, creating new firmware images with updated checksums and error detection mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate firmware builds are created for each hardware configuration, then firmware can be tailored to specific hardware, but updating or modifying firmware in the field becomes time-consuming and complex

Engineering Contradiction:
Improvehardware configuration supportVSAvoidfirmware update time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The firmware binary is segmented into a fixed core portion and a configurable portion. The configurable portion contains hardware configuration settings that can be independently modified without affecting the core firmware. This segmentation allows field personnel to update only the configurable portion for different hardware configurations, dramatically reducing update time and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

During the original firmware build process, placeholder values are pre-inserted into the configurable portion of the binary. These placeholders are specifically designed to be easily replaceable with actual hardware configuration values later. This preliminary setup enables rapid post-build customization without requiring a complete rebuild of the firmware.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If firmware builds are created by build engineers or automated processes, then firmware can be customized for hardware, but changes require coordination with originators located worldwide

Engineering Contradiction:
Improvehardware configuration supportVSAvoidfirmware build management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The hardware configuration settings are extracted from the core firmware development process and placed into a separate configurable portion of the binary. This extracted configuration data can be independently modified by field personnel using simple utilities, eliminating the need to coordinate with original build engineers for routine hardware adaptations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system enables field personnel to perform firmware customization themselves using provided utilities. By inserting new configuration values into the configurable portion and regenerating the binary, support staff can independently adapt firmware to different hardware configurations without requiring expertise in the original build process or coordination with development teams.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If a separate user area of flash memory is allocated for hardware configuration settings, then firmware can support different hardware, but settings and firmware may become mismatched

Engineering Contradiction:
Improvehardware configuration supportVSAvoidsettings-firmware synchronization
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The hardware configuration settings are merged into the firmware binary itself rather than being stored separately in flash memory. The configurable portion is embedded within the firmware image, ensuring that the settings and firmware code remain synchronized as a single unit. This eliminates the risk of mismatch between separate firmware and configuration versions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system incorporates checksum validation that provides feedback when configuration values are updated. After inserting new configuration data into the configurable portion, the system calculates and verifies checksums to ensure data integrity and proper synchronization, preventing mismatched settings from being deployed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8176307B2Method and system for post-build modification of firmware binaries to support different hardware configurations
Publication Date: 2012.05.08 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8176307B2 patent drawing
  • US8176307B2 patent drawing
  • US8176307B2 patent drawing

AI summary

A firmware data processing system may be operable to allocate a configuration area in the firmware binary image file for customizable settings. During the firmware build process for the firmware binary image file, default configuration information may be inserted into this configuration area. This default configuration information may be either actual default setting values or indicator to use the default setting values. During post-build modification process, a separately created utility application may be operable to read in the original firmware binary image file, select new settings, and insert new configuration information into the configuration area. The utility application may also be operable to create a new firmware binary image file with reproduced checksums or other error detection mechanisms required for the original firmware binary image file, based on the new configuration information in the configuration area.