Android系统移植与驱动开发概述

1.1 Android 系统架构

1.2 Android系统移植的主要工作

1.3 查看linux内核版本

1.4 linux内核版本号的定义规则

1.5 linux驱动设备

1.1  Android系统架构如图所示:

第一层是linux内核,第二层是c/c++代码库,第三层是Android SDK API,第四层是应用程序。

1.2 Android系统移植的主要工作

Android移植可以分为两部分:应用移植和系统移植

1>应用移植:是将应用程序移植到某一特定硬件平台上,为了弥补硬件间的差异,我们需要对源码进行修改。

2>系统移植:是指让Android操作系统在某一个特定的硬件平台上运行,系统移植除了移植CPU架构外,最重要的就是移植linux驱动。

Android移植在很大程度是linux内核的移植,linux内核移植主要就是移植驱动程序,不同的linux版本的驱动程序不能通用,需要重新修改源代码,并在新的linux内核下重新编译才可以运行在新的linux内核版本下。

1.3 查看linux内核版本

目前linux内核主要维护3个版本:linux2.4、linux2.6、linux3.x,其中linux2.6是使用最广泛的内核版本
查看linux内核版本的方法:

在终端下输入

)# uname -a
)# cat /proc/version

Linux 内核版本号的定义规则

◇ 主版本号

◇ 次版本号

◇ 修订版本号

◇ 微调版本号

◇ 为特定的linux系统特别调校的描述

1.4 Linux驱动设备

◇ 字符设备

◇ 块设备

◇ 网络设备

小结:

不管哪个linux系统,只要使用了同样的linux内核,驱动就可以通用,唯一的判断linux内核是否相同的方法就是linux版本号。

Android驱动开发前的准备(一)的更多相关文章

  1. Android驱动开发前的准备

    最近看了一些Android驱动开发前需要知道的资料,收获很多,接下来就谈谈我自己的一些心得体会. Android在近几年时间发展迅速,已经成为智能手机操作系统的老大.不过,因为Android原生的代码 ...

  2. android驱动开发前的准备(五)

    搭建S3C6410开发板的测试环境 首先安装串口调试工具 第一步:检测当前系统是否支持USB转串口 # lsmod | grep usbserial 第二步:安装minicom # apt-get i ...

  3. Android驱动开发前的准备(三)

    Git使用入门 3.1安装Git 3.2查看Git文档 3.3源代码的提交与获取 3.1安装Git # apt-get install git # apt-get install git-doc gi ...

  4. Android驱动开发前的准备(二)

    搭建android开发环境 2.1 Android底层开发需要哪些工具 2.2 安装 JDK 2.3 搭建Android 应用程序开发环境 2.4安装Android NDK开发环境 2.5安装交叉编译 ...

  5. Android驱动开发前的准备(四)

    源代码的下载和编译 4.1 下载.编译和测试Android源代码 4.2下载和编译linux内核源代码 4.1.1 配置Android源代码下载环境 (1) 创建一个用于存放下载脚本文件的目录 # m ...

  6. Android驱动开发5-8章读书笔记

    Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有 ...

  7. 初入android驱动开发之字符设备(四-中断)

    上一篇讲到android驱动开发中,应用是怎样去操作底层硬件的整个流程,实现了按键控制led的亮灭.当然,这是一个非常easy的实例,只是略微演变一下,就能够得到广泛的应用. 如开发扫描头,应用透过监 ...

  8. 初入android驱动开发之字符设备(一)

    大学毕业,初入公司,招进去的是android驱动开发工程师的岗位,那时候刚进去,首先学到的就是如何搭建kernel.android的编译环境,然后就是了解如何刷设备以及一些最基本的工具.如adb.fa ...

  9. Android安卓书籍推荐《Android驱动开发与移植实战详解》下载

    百度云下载地址:点我 Android凭借其开源性.优异的用户体验和极为方便的开发方式,赢得了广大用户和开发者的青睐,目前已经发展成为市场占有率很高的智能手机操作系统. <Android驱动开发与 ...

随机推荐

  1. Memcached(1)-----基本介绍

    memcached memcached概述 memcached是LiveJournal旗下Danga Interactive公司开发的一款软件.memcached是一个高性能,分布式内存对象缓存系统, ...

  2. 面试复习(C++)之堆排序

    #include <iostream> using namespace std; void Maxheap(int *a,int i,int heapSize)//最大数调整 { +;// ...

  3. myeclipse编译问题

    这个问题困扰了两天,在用springmvc编写Controller层的时候.我前台js跳转时@RequestMapping无法捕获到,但是之前的编写的都可以捕获正常执行.然后我更改js的跳转地址,发现 ...

  4. php 字符串转数组

    $str = "你好吗"; function str($str) {     $length = mb_strlen($str);     for ($i=0; $i<$le ...

  5. js页面跳转的方式

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  6. 【转】MyEclipse开发Web项目发布到Tomcat下的Root目录

    通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/we ...

  7. 【1】springmvc4 + servlet3 零配置全注解入门项目helloword

    自从servlet3.0支持注解,使得javaweb项目使用全注解成为可能. 注解化将成为javaweb的发展方向.包括spring去年推出的spring-boot也是全部使用注解. 代码:https ...

  8. JQery判断checkbox是否被选三种方式

    方法一:if ($("#checkbox-id").get(0).checked) {    // do something} 方法二:if($('#checkbox-id').i ...

  9. OGG for DB2 i 12.2发布

    2016-04-15 Oracle发布了GoldenGate for DB2 i 12.2.0.1.2,软件可以从OTN 或 eDelivery下载.这是第一个针对DB2 for i的12.2版本.此 ...

  10. odi 12.2.1中访问excel文件

    由于在odi 12.2.1中,必须使用jdk1.8,而jdk1.8中jdbc-odbc bridge已经不再支持,因此,可以使用Progress DataDirect SequeLink来充当jdbc ...