Virtualized Hardware Abstraction for Firmware Portability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electricity meters require costly re-programming of firmware due to unique microprocessor or microcontroller hardware features, as hardware drivers are typically hard-coded, necessitating the rewriting of applications for new device drivers.
Innovation Solution
A virtualized hardware system with routines that emulate processor internal resources and an application programming interface (API) allows for firmware portability, enabling communication between applications and hardware components without the need for extensive re-programming, using a hardware abstraction system with layers such as an application layer, device driver layer, interface driver layer, and hardware layer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware drivers are hard-coded into firmware applications, then the firmware can directly control hardware components, but the firmware must be re-programmed when new hardware features are introduced
Solution Approach 1:
The firmware is segmented into distinct layers: application layer, device driver layer, and hardware abstraction layer. This segmentation allows each layer to be developed and modified independently, enabling hardware updates without reprogramming the entire firmware while maintaining reliable control through structured layered architecture.
Solution Approach 2:
A hardware abstraction layer is introduced as an intermediary between the application firmware and the physical hardware components. This abstraction layer provides standardized interfaces that decouple the firmware from hardware-specific implementations, allowing new hardware features to be integrated by modifying only the abstraction layer rather than the entire firmware.
2Adaptability or versatility
If firmware is re-programmed to incorporate new device drivers, then new hardware features can be supported, but the cost and complexity of firmware updates increase
Solution Approach 1:
By dividing firmware into modular layers with clearly defined interfaces, the system enables targeted updates to the device driver layer without affecting the application layer. This segmentation reduces firmware update complexity by isolating changes to specific modules rather than requiring comprehensive firmware reprogramming.
Solution Approach 2:
The hardware abstraction layer is designed with universal interfaces that can accommodate multiple hardware configurations and new device types. This multi-functionality allows the same firmware framework to support diverse hardware features through standardized abstraction mechanisms, reducing the need for custom firmware development for each new hardware feature.
3Ease of manufacture
If drivers include both higher level logic elements and hardware specific elements in the same code, then implementation is simplified, but portability to different hardware is reduced
Solution Approach 1:
Driver code is segmented into hardware-specific implementation details and hardware-independent logic elements. The hardware abstraction layer contains the hardware-specific code, while the application layer contains the higher-level logic. This segmentation maintains implementation simplicity within each layer while enabling portability across different hardware platforms.
Solution Approach 2:
The hardware abstraction layer acts as an intermediary that translates hardware-specific operations into standardized interface calls. This allows higher-level logic elements to remain hardware-agnostic while still achieving hardware-specific functionality through the abstraction layer, thereby improving firmware portability without sacrificing implementation ease.
Data Source
AI summary
A measuring instrument includes at least one processor having at least one processor internal resource. The measuring instrument may also include at least one hardware component external to the processor and at least one storage component. Firmware may be stored in the storage component and is accessible by the processor. The firmware includes at least one application; a virtualized hardware system having routines that emulate at least one processor internal resource; and at least one application programming interface between the application and the virtualized hardware system.


