Android深度探索HAL与驱动开发

           Android深度探索HAL与驱动开发 

 

                      第一章

           Android系统移植与驱动开发概述

                      读书笔记

 

一、Android系统主要分为4

1linux内核,android基于linux内核,与其他linux系统内核差异小。

2c/c++代码库,linux下的.so文件。

3android SDK API,也称为java层,因为这一层是用java语言写的。          

4、应用程序,相当于androidUI

 

二、android系统移植的主要工作

1、应用移植:一般并不涉及驱动和HAL程序库。

2、系统移植:除移植CPU架构外最重要的是移植Linux驱动。

 

三、设备的分类及特点

Linux将存储器和外设分为三大类:

1、字符设备:必须以串行顺序依次访问的设备,如触摸品鼠标键盘磁带驱动器等。字符设备不经过系统缓冲。

2、块设备:可以用任意顺序访问,以块为单位进行访问,如硬盘软驱等。经过系统缓冲。

3、网络设备。

四、Linux驱动:LED

c语言实现Linux驱动的核心代码,控制S3C640开发板上的4LED(字符设备驱动)。

Linux驱动都有一个装载函数(装载函数时调用)和一个卸载函数(卸载驱动时调用)。

装载函数和卸载函数分别通过mobule_intmobule_exit宏指定。

 

五、小结

Linux驱动只与Linux内核有关。学习Android驱动开发就是学习Linux驱动开发。

 

posted @ 2016-05-02 21:08  钱文海  阅读(213)  评论(0编辑  收藏  举报