1. IntroductionHIDL stands for HAL interface definition language, which is the interface between Android Framework and Android HAL. HIDL is designed for inter-process communication (IPC), and the communication between processes uses the Binder mechanism; After Android O (8.0), the underlying implementation has undergone major changes, the most notable of which is the full implementation of the HIDL mechanism. Today we will introduce it. 2. HIDL design purposeBefore Android O (8.0), system upgrades involved collaboration among multiple parties and were extremely troublesome. The introduction of the HIDL mechanism separates the framework from the HAL layer, so that the framework part can be directly overwritten and updated without recompiling the HAL. In this way, when the system is upgraded, OEM manufacturers can skip SoC manufacturers and upgrade the framework first. 2.1, before 8.0The framework and hal are tightly coupled and exist in system.img. Therefore, when upgrading the version, the OEM manufacturer needs to adapt the framework and the SoC manufacturer needs to adapt the hal. Then, the changes are packaged into system.img, an OTA upgrade package is generated, and it is pushed to the mobile phone for OTA upgrade. 2.2, 8.0 and laterThe framework and hal are decoupled. The framework exists in system.img and hal exists in vendor.img. When upgrading the version, it is divided into two upgrades:
3. HIDL Mechanism Evolution3.1 Communication framework between old version Framework and HALIn the old system architecture, the Android Framework layer and the Hal layer are packaged into a system.img, and the Framework and Hal layers are tightly coupled, using the corresponding hardware so library through linking. There are generally two ways of architecture between them: 3.2 HIDL Type IntroductionIn order to solve the drawbacks of this tight coupling between the two, Google introduced HIDL to define the interface between Framework and HAL, which can be described by the following figure: In fact, although Google launched this mechanism, many manufacturers did not keep up with the pace quickly. Therefore, in order to be forward compatible, Google defined three types:
The above can be summarized as follows: |
<<: iOS 16.3 battery life test is out, improving
>>: The official version of iOS 16.3.1 is here, and several new features will be released soon!
The road to commercialization of drones: Is it re...
[[283734]] On November 25, the Ministry of Indust...
With the gradual entry of foreign banks into the ...
Have you noticed a seemingly unreasonable phenome...
During the 2017 Spring Festival travel rush, why ...
For reference, the thinking mode and even the spi...
1. Mobile phone brand Case study: WeChat Moments ...
Foreign media Jalopnik published a long article a...
If a domestic chip wanted to catch up with Qualco...
Audit expert: Wang Guoyi Postdoctoral fellow in N...
In recent days, the sky in Beijing has been gray....
When the weather gets cold, you can’t live withou...
[[174033]] In the early morning of September 22, ...
Many people look down on routines. But for newbie...
KOC is the key node in the current private domain...