External Controller Firmware Transition via Hardware Register

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development and testing of firmware for devices like smartphones and automobiles are time-consuming and costly, especially when new features are added, as existing firmware must be thoroughly re-tested to ensure that previous functionality remains intact, which can be difficult due to firmware being stored in read-only memory.

Innovation Solution

A system with multiple firmware images, each with a distinct entry point, where a processor executes instructions from memory and an external controller facilitates transitions between these images by seeding and updating a hardware register with entry points, allowing for efficient switching between firmware versions without power cycling, thus preserving prior development investments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware is stored in read-only memory (ROM), then firmware reliability and stability are improved, but firmware update capability and adaptability deteriorate

Engineering Contradiction:
Improvefirmware stabilityVSAvoidfirmware update capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The firmware is divided into multiple firmware images stored in ROM, each with a distinct entry point. The system can selectively load and execute different firmware images by modifying the entry point address in a hardware register, enabling firmware updates and variants while maintaining the stability of ROM-stored firmware.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If new features are added to firmware via new source code, then firmware functionality is improved, but firmware test time and expense increase

Engineering Contradiction:
Improvefirmware functionalityVSAvoidfirmware test time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The firmware is segmented into multiple independent firmware images, each implementing specific features or functionality. When new features are added, they can be packaged as separate firmware images with distinct entry points, allowing selective execution without requiring full re-testing of existing functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple firmware images are pre-prepared and stored in ROM before runtime. Each firmware image is independently developed and tested beforehand. At runtime, the system selects which firmware image to execute by setting the appropriate entry point address, avoiding the need to re-test entire firmware suites when adding new features.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If firmware is stored in read-only memory, then firmware integrity is improved, but firmware transition speed deteriorates

Engineering Contradiction:
Improvefirmware integrityVSAvoidfirmware transition speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The firmware images remain stored in ROM for integrity, but the entry point address is extracted and stored in a writable hardware register. Transitioning between firmware versions involves simply writing a new address to the register and resetting the processor, enabling rapid firmware switching without physically accessing or modifying the ROM contents.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11899567B2System with hardware register and controller external to processor that facilitates transitions between firmware images using hardware register written with firmware image entry points
Publication Date: 2024.02.13 CIRRUS LOGIC INC
  • US11899567B2 patent drawing
  • US11899567B2 patent drawing
  • US11899567B2 patent drawing

AI summary

A system includes a memory programmed with multiple firmware images each having a distinct entry point, a processor, a writable hardware register initially seeded with an initial firmware image entry point address. A controller external to the processor, prior to an initial processor reset, reads the hardware register and causes the processor to begin fetching instructions at the initial firmware image entry point read from the hardware register. Prior to a subsequent reset, the external controller facilitates at least one transition to at least one of the multiple firmware images other than the initial firmware image by reading the entry point of the other firmware images from the hardware register and causing the processor to begin fetching instructions at the entry point of the other firmware images read from the hardware register.