原创 Android平台移植应该做两步工作

2011-3-25 23:55 1153 4 4 分类: 软件与OS

Android平台移植应该做两步工作


  Android系统的移植工作的目的是为了在特定的硬件上运行Android系统。在移植的过程中,把握关头要点,削减工作量是一个主要的方面。从工作的 角度,凡是的体例为,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动轨范,首要的工作量在硬件抽象层的实现中。为了更好地舆解和调试系统,也应 该恰当地体味上层对硬件抽象层的挪用情形。

中国电子网-新闻c h n - e



  移植方面首要的工作有两个部门:

Linux驱动

Android系统硬件抽象层

Linux中的驱动工作在内核空间,Android系统硬件抽象层工作在用户空间,有了这两个部门的连系,就可以让复杂的Android系统运行在特定的硬件平台上。

Android移植的首要工作如图1所示。


c6aec885d85ef73c.jpg


图1 Android移植的首要工作

在具有了特定的硬件系统之后,凡是在Linux中需要实现其驱动轨范,这些驱动轨范凡是是Linux的尺度驱动轨范,在Android平台和其他 Linux平台基本上是不异的。首要的实现方面是Android系统中的硬件抽象层(Hardware Abstract Layer),硬件抽象层对下挪用Linux中的驱动轨范,对上供给接口,以供Android系统的其他部门(凡是为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的移植首要可以分成几个类型:基本图形用户界面(GUI)部门,搜罗显示部门和用户输入部门;和硬件相关的加速部门,搜罗媒体编解 码和OpenGL;音视频输入输出环节,搜罗音频,视频输出和摄像头部门;毗连部门,搜罗无线局域网,蓝牙,GPS;电话部门;隶属部件:搜罗传感器、背 光、振动器等。

除了以上的移植方面,电源打点也长短常主要的一个方面,它和Android的各个子系统都有关系。

Android系统首要需要移植部件如图2所示。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条