Android深度探索总结】的更多相关文章

前言: 最近在看<Android深度探索(卷1)HAL与驱动开发>安装随书带的虚拟环境浪费了很多时间,说是虚拟环境的安装倒不如说是虚拟环境的导入,其实没什么技术含量,也没有什么复杂的,只是作为一个无人指导的资深小白,难免在这无关紧要的细节上浪费时间,为了避免更多的人在这上面进行不必要的浪费,总结一下我的导入过程. 随书光盘中只带了一个虚拟环境名字是Ubuntu12.04.vmwarevm(7z的压缩文件),由于有些电脑的cpu不支持虚化,原作者还做了另外一个虚拟系统ubuntu10.04LTS…
Android深度探索前四章总结 通过这几章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android和Linux做了总体介绍.接着介绍了Android的四层架构:Linux内核:C/C++代码库:Android SDK API;应用程序.又引入Android移植,Android移植包括两部分:应用移植,系统移植.而且为硬件平台添加新的模块,必须为此模块添加一个新的驱动程序,或者修改原来的程序. 学…
第一章:安卓系统移植与驱动开发概述 全书分为4篇,分别从搭建开发环境,Linux驱动和Android HAL的基础知识,开发Linux驱动的高级技术和分析典型的Linux驱动源代码4个方面介绍Android和Linux的底层开发.本书使用的试验环境是Ubuntu Linux12.04 LTS.Android模拟器和S3C6410开发板.在第1篇详细介绍了如何搭建和使用这3个试验环境 通过第一章的学习,我们知道系统移植除了移植CPU架构外,最重要的就是移植Linux驱动.除了Linux驱动移植外,…
第一章 介绍Android驱动开发和移植技术 主要对android和linux做了总体的介绍,让我们有了个感性的认识. 一.Android的四层系统架构: a) Linux内核:Android是基于Linux内核的,所以它和linux的其他部分差异非常小,包括Linux的驱动以及内存管理,进程管理,带电源管理等程序. b) C/C++的代码库:C/C++编写的代码库,也就是Linux下的.so文件以及dalvik虚拟机的运行时哦! c) Android SDK API:用java语言编写的各种L…
Google为Android加入HAL主要有如下的目的. 统一硬件的调用接口.由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂.不统一的接口. 解决了GPL版权问题.由于Linux 内核基于GPL协议,而Android 基于Apache Licence 2 . 0.协议.因此Google 玩了个“穿越“,将原本位于Linux驱动中的敏感代码向上移了一个层次.这样这些敏感代码就摆脱了GPL 协议的束缚, 那些不想开源的Linux驱动作者也就没必要开源了. 针对一些特殊的要求…
通过蜂鸣器的实现原理,实现一个完整的蜂呜器驱动,可以打开和关闭蜂鸣器. PWM驱动的实现方式不同于LED驱动, PWM 驱动将由多个文件组成.这也是大多数 Linux 驱动的标准实现方式. 刚开始是LED驱动的代码重用,Linux 驱动的代码重用有很多种方法.可以采用标准 C程序的方式.将要重用的代码放在其他 的文件 (在头文件中声明〉中. 如果要使用某些功能, include 相应的头文件即可〈这种方式称为 静态重用〉.也可以使用另外一种动态重用的方式,也就是一个 Linux 驱动可以使用另外…
第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们经常用的手机类似, 也包含显示屏. 键盘. Wi-Fi. 蓝牙等模块(可 能有的是选配〉.但与手机不同的是在开发板上安装嵌入式系统要比手机容易得多.而且一般开发 扳都有很多扩展的端口,可以很容易开发定制的硬件, 并与开发板链接.因此,开发板相对于孚机 来说,更适合对程序进行测试,尤其适合对底层的 L…
1. 下载.编译.测试源代码 创建存放下载文件的目录(repo) 下载repo脚本文件 创建用于存放源代码的目录 开始下载源代码. 2. 源代码目录含义摘要 Abi 应用程序二进制接口 Device 于设备相关的代码 External 宽展工具源代码 Ndk NDK相关的源代码 Sdk SDK如ddms.draw9patch.sdkmannager. System Android的基本系统 3. 下载源代码中的一部分 使用repo sync命令 使用git clone命令 4. linux内核目…
1. 底层开发工具包括: JDk6或者以上版本:Eclipse3.4或以上版本:ADT(用于开发Android应用程序),CDT(用于开发AndroidNDK程序):Android SDK:Android NDK:交叉编译环境 :Android源代:用于调试开发板的串口工具:minicom. 2. Linux下如何安装JDK 创建安装目录,在/usr/java下建立安装路径,并将文件考到该路径下: # mkdir /usr/java jdk-6u11-linux-i586.bin 这个是自解压的…
1. Android的系统架构有四层,它的发展目前来说 是比较成熟的,流行于目前的市场.其架构包括四层(linux内核.C/C++代码库.Android SDK API.应用程序). 2. 驱动是直接和硬件交互的一类程序,设备驱动对于系统的运行,硬件的使用是很关键的一部分. 3. Android系统移植可分为两部分:应用移植和系统移植.Android移植的主要工作如下:移植Linux驱动.移植HAL. 应用移植:是将应用程序移植到某一特定硬件平台上,为了弥补硬件间的差异,我们需要对源码进行修改.…