存在形式:HAL层的代码一般有C或C++的形式存在,最终编译生成*.so,一种linux动态链接库文件。 首先说一下HAL的作用,它处在linux驱动内核层和Android Framework层之间,起着承上启下的作用。 如果没有他,Android SDK会直接和linux 驱动内核直接沟通;这样很不好,不符合很多人的利益,因为各种外设驱动属于linux,而linux又是遵循GPL开源协议, 这样的话,驱动代码也要开源,但是这些驱动是很多外围设备厂家辛辛苦苦开发的,不愿意这样白白的开发给所有人,包括很多竞争对手; 那怎么办?由HAL层来解决这个困难,HAL其实就是把原来驱动的控制逻辑一部分出来,编译生成SO文件,这部分代码不遵循GPL协议,不需要开源,了外设厂家的利益,同时也不影响linux的框架设计。 (2)搭建硬件开发,开发板;不一定非要使用网上推荐的SC2440等开发板,只要是一个嵌入式设备都可以,手机或者pad等,只要你有相关的设备资料就可以 推荐:
|