当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]Android系统的移植要做的两个工作

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

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

  Linux驱动

  Android系统硬件抽象层

  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库[!--empirenews.page--]

  全球定位系统部分(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所示。

  

  图2 Android系统主要需要移植部件

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ESP32模块非常通用,可以通过WiFi连接到各种不同的平台来发送和接收数据。在本教程中,我们将使用Arduino的物联网云平台(这是完全免费使用)与ESP32。有关Arduino IoT Cloud的更详细概述,请查看...

关键字: GPS ESP32模块 Arduino 物联网

无人机以高效创新的方案,改变了多个行业的格局。在农业领域,无人机助力精准农业、作物监测和牲畜追踪。工业部门利用无人机进行现场勘测、基础设施检查和项目监控。无人机还在革新配送服务,尤其在向偏远地区运送包裹、医疗用品和紧急援...

关键字: 无人机 GPS 图像传感器

无GPS环境下的自主导航是当今无人驾驶飞行器(UAV)系统面临的最关键挑战之一。从城市峡谷到地下隧道和茂密的森林,许多现实世界的环境使GPS不可靠或完全不可用。为了让无人机在这些条件下安全有效地运行,无论是执行搜救任务、...

关键字: 无人机 GPS TELEM2

虽然现有的技术已经显著改善了盲人的导航和障碍物检测,但它们主要集中在这些方面。我们的目标是扩展这项技术,不仅包括检测,还包括物体、人脸和图像的识别。人工智能的广泛应用旨在通过提供有关其周围环境的更详细和有意义的信息来增强...

关键字: 人工智能 GPS 人脸识别

2025年3月24日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起供应Molex的MX-DaSH线对线连接器。该连接器在同一个系统中集...

关键字: 连接器 显示器 GPS

Sensize的低功耗蓝牙和GPS追踪设备可监测各类在途货物。其重点聚焦于食品分销链,由于全球杂货零售业产生的巨大食品浪费,这一领域尤其引人注目。据智能废弃物处理公司Recycle Tracking Systems的数据...

关键字: 低功耗蓝牙 GPS 自动化

本项目演示了如何使用粒子B系列SoM构建实时大象跟踪系统。该系统可以对大象进行实时GPS跟踪,并实施地理围栏,如果大象离开了预定义的边界,就通知护林员。数据显示在与OpenStreetMap集成的web界面上,并存储在F...

关键字: B-SoM模块 GPS 蜂窝物联网 LED

在这个Visuino项目中,确保精确计时与双源系统!

关键字: Visuino GPS ESP8266-D1 LCD

本文将演示一种加速嵌入式系统设计原型阶段的方法,说明如何将与硬件无关的驱动程序和传感器结合使用,简化整个嵌入式系统的器件选择。同时还将介绍嵌入式系统的器件、典型软件结构以及驱动程序的实现。后续文章“利用与硬件无关的方法简...

关键字: 嵌入式系统 驱动程序 传感器

全球定位系统(GPS)是一种基于卫星的无线电导航系统,归美国政府所有,由美国太空部队运营。它是全球导航卫星系统(GNSS)的一种,它向地球上或地球附近的任何地方的GPS接收器提供地理位置和时间信息,这些接收器可以畅通无阻...

关键字: GP-20U7 GPS 蓝牙
关闭