External Controller Firmware Transition 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 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
Engineering 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
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.
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
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.
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.
3Reliability
If firmware is stored in read-only memory, then firmware integrity is improved, but firmware transition speed deteriorates
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.
Data Source
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.


