Extensible Firmware Abstraction via Null Libraries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Firmware development across multiple computing platforms is hindered by the need for customization to accommodate different execution dependencies and addressing schemes, leading to increased development time, error risk, and maintenance costs due to the requirement for multiple versions of firmware modules.
Innovation Solution
The creation of platform-specific libraries, such as null libraries and translation library classes, allows for the addition of execution dependencies and addressing schemes without modifying shared firmware modules, enabling their reuse across platforms while maintaining modularity and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If firmware modules are customized for each computing platform to accommodate different execution dependencies and addressing schemes, then platform-specific requirements are met, but development time, error risk, and maintenance costs increase due to multiple versions of modules
Solution Approach 1:
The patent introduces platform-specific libraries as intermediary components that wrap shared firmware modules. These libraries handle platform-specific execution dependencies and addressing schemes, allowing the same shared module to be used across multiple platforms without modification. The library acts as a mediator between the universal module and platform-specific requirements.
Solution Approach 2:
The patent segments the firmware into two distinct parts: shared firmware modules that contain universal functionality and platform-specific libraries that handle platform-dependent aspects. This segmentation allows the shared modules to remain unchanged across platforms while the libraries are customized for each platform, reducing development time and maintenance effort.
2Adaptability or versatility
If multiple versions of firmware modules are created for different platforms, then platform-specific customization is achieved, but the chance of containing errors or creating conflicts with hardware or other modules increases
Solution Approach 1:
Platform-specific libraries serve as an intermediary layer that isolates platform-specific code from shared firmware modules. This separation ensures that errors in platform-specific libraries do not propagate to shared modules, and vice versa. The shared modules maintain high reliability since they are not modified for each platform.
Solution Approach 2:
By segmenting firmware into shared modules and platform-specific libraries, the patent limits the scope of potential errors. Shared modules are tested once for universality, while platform-specific libraries are tested independently. This segmentation reduces the overall error risk compared to maintaining multiple versions of complete firmware modules.
3Adaptability or versatility
If firmware modules are modified for each platform, then execution dependencies and addressing schemes are accommodated, but updating the multiple versions becomes laborious and may create additional errors
Solution Approach 1:
The patent segments firmware updates into two categories: updates to shared modules that benefit all platforms, and updates to platform-specific libraries that are independent. This segmentation makes maintenance easier since shared module updates are applied once and automatically benefit all platforms, while platform-specific library updates can be handled independently without affecting other platforms.
Solution Approach 2:
Shared firmware modules are designed with universal functionality that works across multiple platforms. This universality means that a single update to a shared module benefits all platforms simultaneously, reducing the overall maintenance effort compared to updating multiple platform-specific versions separately.
Data Source
AI summary
A method for extensible firmware abstraction includes creating a null library and adding null library dependencies to the null library's build file. The null library is associated with a shared firmware module that depends on the null library dependencies for successful execution. A computer processor executes the build file, null library, and shared firmware module to impose the null library dependencies on execution of the shared firmware module.


