ANDROID平台移应该做的两步工作

来源:互联网 发布:java反射获得属性值 编辑:程序博客网 时间:2024/04/30 17:59

android系统的移植工作的目的是为了在特定的硬件上运行android系统,在移植的过程中,把握关键要点,减少工作量是一个重要的方面,从工作的角度,通常的方面为,手续爱你要熟悉硬件抽象层的借口,其次要继承服用已有的驱动程序,主要的工作量在硬件抽象层的应用中,为了更好的理解和调试系统,也应该适当的了解上层对硬件抽象层的调用情况

移植方面主要工作有两个部分

linux驱动

android系统硬件抽象层

linux中的驱动工作在内核控件,android系统硬件抽象层在工作在用户空间,有了这两个部分的结合,就可以让庞大的android系统在特定的硬件平台上,

Android移植的主要工作如图1-4所示。

Android平台移植应该做的主要工作

图1 Android移植的主要工作

在具体了特定的硬件系统弄过之后,通常在linux中需要实现其驱动程序,这些驱动程序通常是linux的标准驱动程序,在android平台和其他的linux平台基本上是相同的,主要的实现方面是android系统中的硬件抽象层,硬件抽象层对下调用linux中的驱动程序,对上提供接口,以供android系统的其他部分调用,提示:android硬件抽象层的接口是本地移植层的借口,不属于标准的API,不具有向前或者向后的兼容性

在android系统需要一直的内容,主要包含了一下的各个部分

显示部分(Display)

  包括framebuffer驱动+Gralloc模块(可选择是否实现)

  用户输入部分(Input)

  包括Event驱动+EventHub(Android标准内容)

  多媒体编解码(Codec)

  包括硬件Codec驱动+Codec插件(如OpenMax)

  3D加速器部分(3D Accelerator)

  包括硬件OpenGL驱动+OpenGL插件

  音频部分(Audio)

  包括Audio驱动+Audio硬件抽象层

  视频输出部分(Video Out)

  包括视频显示驱动+Overlay硬件抽象层

  摄像头部分(Camera)

  包括Camera驱动(通常是v4l2)+Camera硬件抽象层

  电话部分(Phone)

  Modem驱动程序+RIL库

  全球定位系统部分(GPS)

  包括GPS驱动(通常为串口)+GPS硬件抽象层

  无线局域网部分(WIFI)

  包括Wlan驱动和协议+WIFI的适配层(Android标准内容)

  蓝牙部分(Blue Tooth)

  包括BT驱动和协议+BT的适配层(Android标准内容)

  传感器部分(Sensor)

  包括Sensor驱动+Sensor硬件抽象层

  震动器部分(Vibrator)

  包括Vibrator驱动+Vibrator硬件抽象层(Android标准内容)

  背光部分(Light)

  包括Light驱动+ Light硬件抽象层

  警告器部分(Alarm)

  包括Alarm驱动和RTC系统+用户空间调用(Android标准内容)

  电池部分(Battery)

  包括电池部分驱动+电池的硬件抽象层(Android标准内容)

android中具有很多组件,但并不是每一个不见都需要移植,对于一些纯软件的组件,就没有一致的需要,对于一些部件,例如浏览器引擎,虽然需要下层网络的支持,但是并非直接的为其一直网络接口,而是通过无线局域网或者电话数据连接完成标准的网络接口

android的一致主要分为以下几个类型:基于图形用户界面的部分,包括显示部分和用户输入部分,和硬件相关的加速部分,包括媒体编码和openGL,音频输入和输出环节,包括音频,视频输出和摄像头部分,连接部分,包括无线局域网,蓝牙,gps和电话部分;附属部件;包括传感器,背光,振动器等

除了以上的移植方面,电源管理也是非常重要的一个方面,他和android各个子系统都有关系

 Android系统主要需要移植部件如图1-5所示。

Android平台移植应该做的主要工作

图1-5 Android系统主要需要移植部件

对于大部分的子系统,硬件抽象层和驱动程序都需要根据实际的情况实现,例如:传感器部分,音频部分,视频部分,摄像头部分,电话部分,也有一些诶子系统,硬件抽象层是标准的,只需要实现linux的内核中的驱动程序即可,例如:输入部分,振动部分,无线局域网部分,蓝牙部分等,对于有标准的硬件抽象层的系统,有的时候通常也需要一些配置工作,

时至今日,随着android系统的发展,它已经不仅仅是一个移动设备的平台,也可以用于消费类电子和智能家电:例如:上网本,电子书,数字电视,机顶盒,固定电话灯,在和这个平台上,通常需要实现比移动设备更少的部件,一般来说,基本的用户界面部分(包括现实和用户输入)是需要移植的,其他部分是可选的例如:电话系统、振动器、背光、传感器等一般不需要在非移动设备系统来实现;对于一些固定位置设备通常也不需要实现GPS系统。