“Android驱动将在回归Linux内核。内核维护者Greg Kroah-Hartman
复苏了于二零零六年在Linux 2.6.33
顾客端布局区中删去的Android驱动,澳门新葡萄京所有网站 ,将它们放回了她3.3版本Linux内核的开采分支。其铺排是让Linux
3.3足以没有需求补丁,可直接在Android设备上运转。”

一、Android系统布局

     
 1.想要在投机的设备上运营Android,必得为团结的装置支出特定软件,这么些为一定设备定制Android的历程被叫做“移植”。

澳门新葡萄京所有网站 1

   第一层:Linux内核

     
 2.Android的种类构架分为:最尾部Linux内核,和任何Linux系统的出入不大;再上一层是C/C++代码库;再上一层是Android
SDK
API,这一层是用java编写的Library;最上层是应用程序,这一层全数客户都要接触到,全数的Android应用程序。

 

             包涵驱动程序,管理内部存款和储蓄器、进程、电源等财富的次第

     
 3.Android移植分为应用移植和体系移植,主要工作是移植Linux驱动和移植HAL(硬件抽象层,Android
SDK通过HAL直接访问Linux驱动,应用程序无法一向访谈驱动)。

澳门新葡萄京所有网站 2

   第二层:C/C++代码库

       4.在终点中输入uname
-a或cat /proc/version命令就可查看内核的本子。

转发请注解:Linux人社区>立陶宛共和国语资源音信翻译专版.编写翻译

            包涵Linux的.so文件以致嵌入到APK程序中的NDK代码

     
 5.驱动针没有错指标是存款和储蓄器和外设分为三大类:1>字符设备 2>块设备
3>互连网设施。

  第三层:Android SDK API

     
 6.任何Linux驱动都有八个装载函数和三个卸载函数就可以,分别通过mobule_init和mobule_exit宏指定。

           包罗用Java编写的各样Library

     
 学习Linux驱动与Linux系统非亲非故,只与Linux内核有关。只要内核相近,就会把驱动程序直接行使。看完第一章,重新领会了Android系统移植和驱动开拓的总体影像,使本身读书时更有来头。Android使用的底工多加了三个HAL。学习驱动开拓就能够定制自身的器材,自身动手实现家里电灯的等自动化和手提式有线话机调节等功用,思考就令人触动。

  第四层:应用程序

           那是技士与非技术员都要接触到的应用程序

二、Android系统移植

首先,通晓七个概念HAL(硬件抽象层),它坐落于第二层,普通的程序库(.so文件);

Android操作系统:AndroidSDK——>HAL——>Linux驱动;

Linux系统:应用程序——>Linux驱动;

先用三个例子说美素佳儿(Friso卡塔尔下,比方,为硬件平台扩大了一个洋气的Wi-Fi模块,就必要为那么些Wi-Fi模块编写新的驱动程序,或涂改原来的驱动程序,以使得Linux内核能够与Wi-Fi模块平常交互作用。

由此可见道,Android系统移植是让Android操作系统在某二个一定硬件平台上运转,即该操作系统支持硬件平台的CPU结构,要让Android能够辨认平台上的各样硬件,主演就是Linux驱动。

只顾:在移植Linux驱动时,首要思虑Linux内核版本,纵然Android版本不一样,只要Linux内核版本同样,Linux驱动就能够相互替换

三、Linux设备驱动

使得就是平昔和硬件交互作用的一类程序,担任对硬件实行抽象;提供应用程序可方位的API,只要应用程序通过驱动来访问硬件,就不需求改正应用程序的源代码。当有成都百货上千型号的打字与印刷指令不均等的打字与印刷机,同有的时候间被同多少个应用程序调用,会并发无法采取的情事,当我们进行了驱动程序的开采,通过接口对类举行抽象,就能够大大裁减硬件耦合迈过高的情况,通过驱动来访谈打字与印刷机。