Android HIDL - 1


HIDL - hardware interface definition language

目的 : 可以在不重新編譯 HAL 的情況下對 framework 進行 OTA 升級


在之前, Android 開發方式

   1. Google 先將 最新的 Android 提供給晶片平台業者, (e.g. Qualcomm)
   2. 由他們修改包裝出 BSP , 提供給 裝置品牌或代工業者 (e.g. Sony Ericsson)
   3. 讓他們依據裝置再做修改. 提供 phone SKU
   4. 給電信業者 (e.g. 中華電信), 一起共同測試認證 新版 Android 後.
   5. 最後再提供給使用者



但這方式牽連的廠商廣泛, 流程複雜, 使得更新新版 Android 成本龐大

於是在 Project Treble 中提出, 把 廠商實作 與 Android framework 切開
兩者之間加了一層廠商介面 (vendor interface )
而測試套件, 也改由 VTS (vendor test suite) 來驗證

Project Treble aims to do what CTS did for apps, for the Android OS framework. The core concept is to separate the vendor implementation — the device-specific, lower-level software written in large part by the silicon manufacturers — from the Android OS Framework.
This is achieved by the introduction of a new vendor interface between the Android OS framework and the vendor implementation. The new vendor interface is validated by a Vendor Test Suite (VTS), analogous to the CTS, to ensure forward compatibility of the vendor implementation.



也因此, HAL 會從 OS framework 中剝離, 並使用 HIDL 來描述


由 Google 提供的部分, 叫 core package.
硬體的部分, Android package 取名 :  android.hardware.*
e.g. android.hardware.wifi
這些會存放在 hardware/interfaces 底下
e.g. https://android.googlesource.com/platform/hardware/interfaces/+/master/wifi/1.0

例如基本的 interface -  IWifiIface



先介紹到這, 之後繼續..




留言

熱門文章