hidl trebl 演进

HAL 分界点是Android o , 其实本质的区别就是Framework process 是否与HAL process 运行在同一进程。
为了升级需求,framework 与vendor 各自独立,因此framework 与HAL通信本质采用binder. 如果不采用隔离,framework 与vendor 耦合在一起,这样导致release 时间过长。

Project Treble

图片.png

图片.png

从上面两个图可以看中 , framework 与vendor 独立了

Trebl 如果实现,需要做哪些事情:

  • New HAL types
  • Hardware Interface Definition Language (HIDL)
  • New Partitions
  • ConfigStore HAL
  • Device Tree Overlays
  • Vendor NDK
  • Vendor Interface Object
  • Vendor Test Suite (VTS)

其实现在开发都基本在android o 上面了,因此只需要关心修改的哪些就可以,熟悉基本原理


图片.png

① 是 Treble Project 之前使用的实现架构,使用的是传统 HAL 和旧版 HAL
② 直通模式,passthrough mode。如图所示,Framework 和 HAL 层工作在同一个进程当中,下面的 HAL 是使用 HIDL 封装后的库,是直通式 HAL。这些库文件也可用于 ③ 绑定模式
③ 绑定模式,binderized mode。是直通式 HAL binder 化,变为绑定式 HAL。Framework 和 HAL 层工作在不同的进程,之间通过 Binder 进行 IPC
④ 纯绑定式。相对于 ③ 来说,绑定式 HAL 中并不包含直通式 HAL,因此称为纯绑定式

最后总结

图片.png

你可能感兴趣的:(hidl trebl 演进)