自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android的硬件通訊之HIDL介紹

移動(dòng)開(kāi)發(fā) Android
HIDL的全稱(chēng)是HAL interface definition language(硬件抽象層接口定義語(yǔ)言),是AndroidFramework 與Android HAL之間的接口。HIDL 旨在用于進(jìn)程間通信 (IPC),進(jìn)程之間的通信采用 Binder 機(jī)制;

一、前言

HIDL的全稱(chēng)是HAL interface definition language(硬件抽象層接口定義語(yǔ)言),是AndroidFramework 與Android HAL之間的接口。HIDL 旨在用于進(jìn)程間通信 (IPC),進(jìn)程之間的通信采用 Binder 機(jī)制;

Android O(8.0) 版本之后,底層實(shí)現(xiàn)有了比較大的變化,最顯著的一個(gè)方面就是 HIDL 機(jī)制的全面實(shí)施。今天我們介紹下。

二、HIDL 設(shè)計(jì)目的

Android O(8.0) 之前系統(tǒng)的升級(jí)牽扯多方協(xié)作,極為麻煩,HIDL機(jī)制的推出就是將 framework 與 hal 層分開(kāi),使得框架部分可以直接被覆蓋、更新,而不需要重新對(duì) HAL 進(jìn)行編譯,這樣在系統(tǒng)升級(jí)時(shí),OEM 廠商 跳過(guò) SoC 廠商,先對(duì) framework 進(jìn)行升級(jí)。

2.1、8.0 之前

framework 與 hal 緊緊耦合存在于 system.img 中,因此在版本升級(jí)時(shí)需要: OEM 廠商適配 framework ,SoC廠商 適配 hal, 之后將修改打包到 system.img,生成 OTA 升級(jí)包,推送到手機(jī)進(jìn)行 OTA 升級(jí)

2.2、8.0 之后

framework 與 hal 進(jìn)行了解耦, framework 存在于 system.img,hal 存在于vendor.img,進(jìn)行版本升級(jí)時(shí),分為兩次升級(jí):

  • framework升級(jí) :OEM 廠商適配 framework,將修改打包到 system.img, 生成OTA 升級(jí)包,推送到手機(jī)進(jìn)行 OTA 升級(jí)(framework 發(fā)生改變,hal 層未變)。
  • hal升級(jí) :SoC 廠商適配 hal, 將修改打包到 vendor.img, 生成OTA 升級(jí)包,推送到手機(jī)進(jìn)行OTA升級(jí)(framework發(fā)生改變,hal 層發(fā)生改變)。

三、HIDL機(jī)制演進(jìn)

3.1 老版本 Framework 與 HAL 的通信框架

舊版的系統(tǒng)架構(gòu)中, Android Framework 層與 Hal 層是打包成一個(gè) system.img 的,且 Framework 與 hal 層之間是緊密耦合的,通過(guò)鏈接的方式使用相應(yīng)的硬件 so 庫(kù)。它們之間的架構(gòu)一般有如下兩種方式:

圖片

3.2 HIDL 類(lèi)型介紹

為了解決兩者之間這種緊耦合所帶來(lái)的弊端,google 引入 HIDL 來(lái)定義 Framework 與 HAL 之間的接口,可以用下圖來(lái)描述:

圖片

事實(shí)上雖然 google 推出了這種機(jī)制,但是很多廠商沒(méi)有很快的跟上節(jié)奏,因此為了向前兼容, google 定義了三種類(lèi)型:

圖片

  • ① 是 Treble Project 之前使用的實(shí)現(xiàn)架構(gòu),使用的是傳統(tǒng) HAL 和舊版 HAL
  • ② 直通模式,passthrough mode。如圖所示,F(xiàn)ramework 和 HAL 層工作在同一個(gè)進(jìn)程當(dāng)中,下面的 HAL 是使用 HIDL 封裝后的庫(kù),是直通式 HAL。這些庫(kù)文件也可用于 ③ 綁定模式
  • ③ 綁定模式,binderized mode。是直通式 HAL binder 化,變?yōu)榻壎ㄊ?HAL。Framework 和 HAL 層工作在不同的進(jìn)程,之間通過(guò) Binder 進(jìn)行 IPC
  • ④ 純綁定式。相對(duì)于 ③ 來(lái)說(shuō),綁定式 HAL 中并不包含直通式 HAL,因此稱(chēng)為純綁定式

上述可總結(jié)為:

圖片


責(zé)任編輯:武曉燕 來(lái)源: Android開(kāi)發(fā)編程
相關(guān)推薦

2010-07-13 13:24:14

HART協(xié)議

2017-01-09 16:25:55

Android Shortcuts系統(tǒng)

2010-06-17 18:00:40

網(wǎng)絡(luò)通訊協(xié)議

2011-07-19 09:25:52

2010-03-02 14:01:58

Linux硬件信息命令

2015-03-09 10:18:39

Veris

2014-08-15 14:49:40

AndroidFragment通訊處理

2021-01-18 12:31:46

物聯(lián)網(wǎng)

2011-12-23 15:04:05

Android音樂(lè)編程管理音頻硬件

2021-06-16 07:21:39

AndroidAndroid系統(tǒng)多進(jìn)程通訊

2020-02-06 10:20:19

硬件黑客技術(shù)

2010-01-08 09:26:04

交換機(jī)RMON代理

2009-10-23 09:29:43

linux優(yōu)勢(shì)特點(diǎn)

2009-03-24 08:33:14

AndroidGoogle移動(dòng)os

2022-01-04 15:34:31

鴻蒙HarmonyOS應(yīng)用

2021-09-14 09:34:05

鴻蒙HarmonyOS應(yīng)用

2012-12-26 13:41:08

Android開(kāi)發(fā)dispatchTou

2011-07-14 23:27:05

C++引用

2023-09-21 07:06:17

PSDriveProvider

2010-06-18 22:42:42

智能手機(jī)平臺(tái)Android網(wǎng)秦
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)