Android深度探索--HAL与驱动开发----第一章读书笔记

1.1   Android拥有非常完善的系统构架可以分为四层:

第一层:Linux内核。主要包括驱动程序以及管理内存、进程、电源等资源的程序

第二层:C/C++代码库。主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码

第三层:android SDK API 直接面向应用程序的Java APK

第四层:应用程序。直接面向最终用户的Java应用程序

1.2  Android系统移植的主要工作

Android移植可以分为应用移植和系统移植两个部分。(本书对移植没有太多的介绍)

Android移植的主要工作包括移植Linux驱动和移植HAL。(移植过程都要再linux内核完成)

Android移植很大程度上是Linux内核移植。

1.3  查看linux内核版本

linux内核维护又3个版本Linux2.4、Linux2.6和Linux 3.x。

查看Linux系统内核版本的两种方法:

(1))linux 终端行执如下命令:uname  —a

(2)在Linux终端执行下面命令:cat  /proc/version

1.6   linux讲存储器和外设分为3类

字符设备 ,块设备,网络设备

小结:学习了Android驱动开发也就是学习了linux驱动开发,通过这一章学习是我对linux开发又了大致的认识,在学习过程中,我通过以往上课时学习到的知识和查阅资料了解了一些专业词汇的含义,为以后更好的学习安卓驱动开发打下了基础。

http://www.cnblogs.com/lhczln/

时间: 2024-08-02 06:58:08

Android深度探索--HAL与驱动开发----第一章读书笔记的相关文章

Android深度探索--HAL与驱动开发----第二章读书笔记

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 这个是自解压的

Android深度探索--HAL与驱动开发----第九章读书笔记

Google为Android加入HAL主要有如下的目的. 统一硬件的调用接口.由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂.不统一的接口. 解决了GPL版权问题.由于Linux 内核基于GPL协议,而Android 基于Apache Licence 2 . 0.协议.因此Google 玩了个“穿越“,将原本位于Linux驱动中的敏感代码向上移了一个层次.这样这些敏感代码就摆脱了GPL 协议的束缚, 那些不想开源的Linux驱动作者也就没必要开源了. 针对一些特殊的要求

Android深度探索--HAL与驱动开发第一章读后感

第一章:Android系统移植与驱动开发概述 第一章其实就是对安卓与Linux驱动做了一个总体的介绍. 现如今,Android已经成为现在智能手机操作系统的老大,市场占有率已经远远超过iOS,主要的原因主要在于Android的可移植,所有人都可以利用Android的源代码制作属于自己的系统,而且Android的体系结构也近乎完美.但在移植过程中进行最多开发的就是支持各种硬件设备Linux的驱动程序,所以讲移植必定先讲Liunx驱动开发. Android的体系结构主要由Linux内核.C/C++代

android深度探索 HAL及驱动开发 第一章

第一章 android系统移植与驱动开发概述对安卓和linux驱动做了一个总体介绍为特定设备定制安卓的过程叫做移植android 系统架构分为四层:1.linux内核 2.C/C++代码库 3.Android SDK API 4.应用程序android移植分为两部分:应用移植:将应用程序移植到某一个特定硬件平台上系统移植:让android操作系统在某一个特定硬件平台上运行android移植主要工作:移植linux驱动移植HAL查看linux内核版本的方法:方法一:在终端中运行 uname -a方

Android深度探索HAL与驱动开发-——第一章

第一章主要介绍的是Android体系结构和各层组成,以及对如何搭建Windows.Linux和NDK下的开发环境相应的进行学习. (1)在Android体系结构中:自上而下分为应用程序.应用程序架构.函数库以及Linux内核.在应用程序中采用java编写,使用者直接操作应用程序:在构架中实现多种功能模块:安卓函数库包含多种能被系统中不同的组件使用:Android内核重点介绍了IPC和PM. (2)接着在搭建windows开发环境中需要安装JDK(步骤:下载.安装.测试).Eclipse(步骤:下

Andriod深度探索—HAL与驱动开发 第九 章 读书笔记and一点心得

HAL是建立在Linux驱动上的一套程序库.这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层.Google为Android增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动外,还有一个重要原因,那就是保护“私人财产”. Google为Abdroid加入HAL主要有如下目的: 统一硬件的调试接口. 解决了GPL版权问题. 针对一些特殊要求. 编写一款支持HAL的Linux驱动程序的步骤 第一步:编写Linux驱动 第二步:编写HAL Libray 第三步:编写 S

Android深度探索--HAL与驱动开发----第八章读书笔记

通过蜂鸣器的实现原理,实现一个完整的蜂呜器驱动,可以打开和关闭蜂鸣器. PWM驱动的实现方式不同于LED驱动, PWM 驱动将由多个文件组成.这也是大多数 Linux 驱动的标准实现方式. 刚开始是LED驱动的代码重用,Linux 驱动的代码重用有很多种方法.可以采用标准 C程序的方式.将要重用的代码放在其他 的文件 (在头文件中声明〉中. 如果要使用某些功能, include 相应的头文件即可〈这种方式称为 静态重用〉.也可以使用另外一种动态重用的方式,也就是一个 Linux 驱动可以使用另外

Android深度探索--HAL与驱动开发----第十章读书笔记

printk函数的用法于-printf 函数类似,只不过printk函数运行在内核空间, printf函数运行在用户空间.也就是说,像Linux 驱动这样的Linux内核程序只能使用printk 函数输出调试信息 虽然使用printk 函数可以很方便地将消息写入日志文件或控制台.但大量使用printk 函数频繁操作日志文件或控制台设备文件Udev/console)会严重影响Linux 驱动的性能(因为写磁盘的速度远没有读写内存的速度快〉,因此,这就要求Linux 驱动只在开发阶段使用printk

Android深度探索HAL与驱动开发 第二章

Android深度探索HAL与驱动开发 第二章 搭建Android开发环境 读书笔记 一.Android底层开发需要的工具 1.JDK6或以上版本 2.Eclipse3.4或以上版本 3.ADT(用于开发Android的应用程序) 4.CDT(用于开发Android NDK程序) 5.Android SDK 6.Android NDK 7.交叉编译环境 8.Linux内核源代码 9.Android源代码 10.用于调试开发板的串口工具:minicom 二.安装JDK 下载JDK后在终端输入 #