Android系统非标准设备驱动程序设计

Android系统非标准设备驱动程序设计

孟小华,黄宗轩

(暨南大学计算机科学系,广东广州510632)

要:在深入研究Android硬件抽象层HAL和Java本地接口JNI技术原理的基础上,提出了一

个Android非标准硬件驱动程序的设计方案。以一个非标准设备的驱动程式的实现为例介绍了驱动程序的功能模块分层设计,讨论了使用HALStub技术对硬件抽象层HAL模块进行优化的方法。

关键词:Android;设备驱动程序;硬件抽象层;JNI

中图分类号:TP316.8

文献标识码:A

文章编号:1674-7720(2011)14-0007-03

Thedesignofnon-standarddevicedriverforAndroid

MengXiaohua,HuangZongxuan

(DepartmentofComputerScience,JinanUniversity,Guangzhou,Guangdong510632,China)

Abstract:Thispapergivesasolutionofnon-standarddevicedriverdesignonthebasisofin-depthanalyzingtheprincipleofHALandJNI.Itintroducesthelayeringdesignofthefunctionmoduleofdriverthroughanimplementationofdevicedriverasex-ample.Thenitdiscussesthedriver'soptimizationmethodsofthehardwareabstractionlayerbyusingHALstub.

Keywords:Android;devicedriver;HAL;JNI

Android系统是Google推出的基于Linux内核和Java

架构的操作系统,在很短的时间内已成为主流的手机操作系统,并已逐步扩展应用到嵌入式系统、平板电脑和上网本上。它既有Linux系统所具有的硬件平台可移植性,也因使用Java语言开发应用程序带来了应用软件只编写一次即可在所有平台运行的巨大优势。Android虽然主要基于已有的技术,但在体系结构设计上有较大的创新。其主要设计目标之一就是要使应用程序和系统能独立于具体的计算机体系结构和硬件平台,表现在设备驱动程序设计上,对于已有的Linux标准设备驱动程序可以直接继续使用,只需为其增加应用层JNI接口。但对于Linux没有的非标准设备则提倡在Linux内核中驱动部分只做很少的接口工作,尽量把驱动程序的主要处理放在Android的上层架构中,即在应用层实现。本文对

用程序使用Java语言开发,所以应用程序在调用设备驱动时不能像一般的Linux应用程序那样直接使用系统调用,必须通过Java虚拟机的JNI的本地(Native)方法使用设备。另一方面,Android要成为一个通用性强的平台,必须加强它的可移植性。这也是在Android架构添加一个硬件抽象层(HAL)的原因,目的是为设备的调用提供一个更高级的封装图1所示为Android驱动程序架构。

Android系统的底层实现技术进行深入的研究,包括An-droid的硬件抽象层和JNI技术实现等。并以S3C2440开发板上的LED灯设计显示驱动程序为例,提出了一种非

标准硬件设备驱动程序的设计和实现方案。

1Android系统驱动程序架构

1.1驱动程序分层体系结构

Android是基于Linux的,它使用了Linux内核,但应

图1Android驱动程序架构

《微型机与应用》2011年第30卷第14期

欢迎网上投稿http://www.mianfeiwendang.com

7

Word文档免费下载Word文档免费下载:Android系统非标准设备驱动程序设计 (共4页,当前第1页)

你可能喜欢

  • Android系统移植
  • Android驱动开发
  • 硬件接口
  • Linux内核配置
  • WIFI模块
  • ROM移植
  • Linux系统命令使用详解
  • android毕业论文

Android系统非标准设备驱动程序设计相关文档

最新文档

返回顶部