
微课名称:
Android的HAL框架和API设计
立即学习此微课:
-
方法:ADT学院为您播放(免费播放中)
微课目标:
HAL所在的位置是介于Android系统服务与Linux内核之间,主要目的就是要将Android系统与Linux适当的区隔,当Android需要接触到硬件的功能时,皆透过HAL向底层呼叫,于是Android便可以在不考虑驱动程序的情况下发展。其中,HAL Driver是以library形式出现,给HAL Stub调用,供Android System架构者调用。而HAL Stub则是google设计出来的,保护硬件厂商的硬件驱动。本课程解析HAL框架的结构,也细述了开发HAL Driver和HAL Stub的方法和技巧。
微课介绍:
HAL的主要目的是要将Android系统与Linux适当的区隔,当Android需要接触到硬件的功能时,皆透过HAL向底层呼叫,于是Android便可以在不考虑驱动程序的情况下发展。其中,HAL Driver是以library形式出现,给HAL Stub调用,供Android System架构者调用。而HAL Stub则是google设计出来的,保护硬件厂商的硬件驱动。
HAL stub软件可封闭源码,因此也较利于商业模式推展。提供关键IC零组件封闭原始码的HAL stub软件(Proprietary software)。不但是「软硬整合」,也是Android绑定硬件平台的一种策略。驱动开发者(硬件供货商)拥有自由度(容易改版),乐意替Google抬轿。Google让驱动变动不牵动上层,没有涟漪效应,变动成本低,客户愿意改版,带来改版机会。框架设计不在于框架内部类别的多少或内涵的复杂性,而在于接口的制定权。例如,简单的HAL框架设计,改变了Google、Linux基金会和硬件厂商之间三角的商业利益关系。
内容单元:
Sec_01:认识Android的HAL(硬件抽象层)
Sec_02:HAL与开源协议
Sec_03:HAL框架设计
Sec_04:以C语言定义HAL框架API
Sec_05:以C语言撰写HAL Stub(子类)
Sec_06:执行Stub--在Loading-time的初始建置活动
Sec_07:Client使用HAL框架API的调用步骤
~ End ~