新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Android系统的移植要做的两个工作

Android系统的移植要做的两个工作

作者:时间:2011-04-24来源:网络收藏

的主要目的是为了能在特定的硬件上运行。而在的过程中,一个重要的方面就是把握关键要点,减少量。从的角度,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的量在硬件抽象层的实现中。为了更好地理解和调试,也应该适当地了解上层对硬件抽象层的调用情况。

本文引用地址:http://www.eepw.com.cn/article/150826.htm

  方面主要的工作有部分:

  Linux驱动

  系统硬件抽象层

  Linux中的驱动工作在内核空间,Android系统硬件抽象层工作在用户空间,有了这部分的结合,就可以让庞大的Android系统运行在特定的硬件平台上。

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

  

  图1 Android移植的主要工作

  在具有了特定的硬件系统之后,通常在Linux中需要实现其驱动程序,这些驱动程序通常是Linux的标准驱动程序,在Android平台和其他Linux平台基本上是相同的。主要的实现方面是Android系统中的硬件抽象层(HardwareAbstract 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库


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭