Android系统移植与驱动开发

  21世纪,Android发展很是迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是由于任何人均可以利用Android的源代码定制彻底属于本身的嵌入式开发系统,而不须要向Google交一分钱。架构

  随着通讯 、电子行业的迅速发展,全世界天天都会有大量的新芯片被产生,大量的新电路板被设计,所以,也会有大量的设备驱动须要开发,这些设备驱动,或运行在简单的单任务环境中,或运行在VxWorks、Linux、Windows等多任务操做环境中,发挥着不可替代的做用。函数

  针对特定硬件平台从零构建Android系统,包括平台移植、应用开发、内核开发以及驱动开发。目前企业对Android人才需求主要分布在应用开发和底层系统开发两个方面,当今企业最紧缺的是兼具两者的全才型系统工程师,和嵌入式Linux人才需求基本类似。驱动程序沟通着硬件和应用软件,而驱动工程师则沟通着硬件工程师和应用软件工程师。学习

  Android是基于Linux内核的。因为Android原生的代码支持的设备并很少,所以咱们想要在本身的设备上完美运行Android,就须要另外开发一些程序,使得Android能够识别相应设备中的各类硬件,这个过程被称为“移植”。任何的Linux驱动都有一个加载函数和一个卸载函数,它们分别经过module_init和module_exit宏指定。spa

  咱们要知道Android是一个很是优秀的嵌入式操做系统。它有本身完善的系统架构,分为4层:第1层,Linux内核,Android使用Linux2.6内核;第2层,C/C++代码库,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码;第3层,因为Android SDK API是用Java语言编写的,所以,这一层又能够叫作Java API层。这一层就是用Java编写的各类Library;第4层,应用程序,至关于Android的UI。这一层是全部Android用户须要接触的。操作系统

  然而,要使一个操做系统在特定硬件平台上运行的一个首要条件就是该操做系统支持硬件平台的CPU架构。固然,这仍是不够的,还须要移植Linux驱动,这些工做主要是由Linux内核完成的,主角是Linux驱动。除此以外,在Android系统中还增长了一个Hardware Abstraction Layer,HAL ,硬件抽象层,不过HAL不是必需的。设计

  操做系统是经过各类驱动程序来驾驭硬件设备的,它为用户屏蔽了各类各样的设备,驱动硬件是操做系统最基本的功能,而且提供统一的操做方式。设备驱动程序是操做系统最基本的组成部分之一,在Linux内核源程序中也占有60%以上。所以,熟悉驱动程序的编写很重要。开发

  Android中内核的结构和标准的Linux2.6内核是基本相同的,Android在其基础上增长了私有内容。Android在Linux内核中增长的主要是一些驱动程序,这些驱动程序主要分为两种:Android专用驱动和Android使用的设备驱动。经过本章学习,初步了解了驱动程序的概念和Android驱动的开发原理。it

相关文章
相关标签/搜索