Dynamic Firmware Image Sequencing via Hardware Register
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The development and testing of firmware for devices like smartphones and automobiles are time-consuming and costly, especially when updating firmware stored in read-only memory, as it often requires re-testing all functionality, which can be inefficient and expensive.
Innovation Solution
A system with multiple firmware images, each with a distinct entry point, utilizing a hardware register and an external controller to manage transitions between these images, allowing the processor to fetch instructions from different firmware images without power cycling, thereby preserving prior investments in development and testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware is stored in read-only memory (ROM) and updated by physically replacing the ROM, then firmware reliability is improved, but test time and expense increase significantly
Solution Approach 1:
The firmware is divided into multiple separate images, each stored in its own designated memory region. This segmentation allows individual firmware images to be tested and validated independently before being loaded into the processor, reducing the need for comprehensive re-testing when updates are deployed.
Solution Approach 2:
Firmware images are pre-tested and validated in isolation before being loaded into the processor. The external controller loads complete, pre-validated firmware images into memory, ensuring that each image is ready for execution without requiring extensive post-loading testing, thus reducing test time while maintaining reliability.
2Adaptability or versatility
If new features are added to firmware via new source code, then functionality is improved, but test time and expense increase due to need for full re-testing
Solution Approach 1:
The firmware is divided into multiple separate images, each stored in its own designated memory region. This segmentation allows individual firmware images to be tested and validated independently before being loaded into the processor, reducing the need for comprehensive re-testing when updates are deployed.
Solution Approach 2:
The system changes the parameter of firmware delivery from monolithic updates to modular image sequences. By controlling the execution sequence of firmware images through the external controller and hardware register mechanism, the system can deploy new features in isolated images that have been pre-tested, avoiding the need to re-test entire firmware suites.
3Adaptability or versatility
If multiple firmware images are stored in memory with distinct entry points, then firmware adaptability is improved, but device complexity increases
Solution Approach 1:
An external controller acts as an intermediary between the processor and the memory containing multiple firmware images. This external controller manages the complexity of sequencing and loading firmware images by handling all interactions with the hardware register and memory, keeping the processor itself simple while enabling sophisticated firmware management capabilities.
Solution Approach 2:
The hardware register automatically retains the firmware image entry point information between processor resets without requiring complex control logic. The external controller simply writes the entry point to the hardware register, and the system self-manages the sequencing through the reset mechanism, reducing the need for complex firmware image management software.
Data Source
AI summary
A system has a memory programmed with multiple firmware images each having an associated distinct entry point, a processor, a writable hardware register, and a controller external to the processor that, prior to each reset of a sequence of resets of the processor, reads the entry point of a firmware image from the hardware register and causes the processor to begin fetching instructions at the entry point read from the hardware register. The firmware images include boot, mission mode, and at least one other firmware image. The memory may be writeable with a modifiable version of a post-production mission mode, debug, prototype, or patched ROM firmware image. A second controller writes a second entry point to the hardware register prior to an initial reset such that the external controller reads the second entry point and causes fetching instructions at the second entry point rather than the initial entry point.


