Android深度探索--第一章读后感

第一章主要讲了Linux驱动和AndroidHAl的基础知识。首先介绍了Android系统构架分为四层,Linux内核、C/C++代码库、Android SDK API、应用程序。了解这四层是Android系统移植的前提,Android系统移植是指让Android操作系统在某一个特定硬件平台上运行。并且Linux有一个很大的好处,就是Linux内核本身支持很多常用的CPU构架,因此,将Android在不同的CPU构架之间移植并不用做过多的改动。在移植的过程中,除了要移植CPU构架以外,最重要的还要移植Linux驱动。HAL的话是位于Android系统构架的第二层,就是普通的Linux程序库,Android SDK通过HAL访问Linux驱动,就是说并不能够直接访问。Android移植在很大程度上是Linux内核的移植。Linux内核移植就是移植驱动程序。在版本不同的情况下,源代码是需要重新修改的,并且在新的Linux内核下重新编译才可以运行,就算Android的版本不同,只要Linux内核版本相同,Linux驱动就可以相互替换。查看Linux内核版本号可以通过uname -a 、cat /proc/version 、等命令来产看。并且还需要主要/proc不是普通的文件系统,二十系统的内核的映像,就是说,在这个目录下的文件是放在系统内存之中的,。

时间: 2024-10-08 12:35:54

Android深度探索--第一章读后感的相关文章

Android深度探索第一章总结

Android深度探索第一章主要是Android系统移植与驱动开发概述.要想进行系统移植就必须先了解Android的系统架构,Android的系统架构主要是:第一层,Linux内核,主要包括驱动程序以及管理内存.进程.电源等资源的程序:第二层,C/C++代码库,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码:第三层,Android SDK API,直接面向应用程序的Java APK:第四层,应用程序,直接面向最终用户的Java应用程序(APK程序).接下来是Android移植的

android深度探索第一章

Android深度探索HAL与驱动开发的第一章学习了android系统移植与系统开发详述. 正如书上的导言所说,,android已经成为当前智能手机操作系统的老大.所以其重要性可想而知,其学习的意义非比寻常.其发展的迅速,很大程度上取决于任何人都可以利用android的源代码定制完全属于自己的嵌入式系统,而不需要向Google交钱.而由于android原生的代码支持的设备不多,因此,要想在自己的设备(包括手机.智能电视.平板等)上完美运行android,就需要另外一些开发程序,使得android

Android深度探索第一章心得

本章主要是对Android和Linux驱动做一个简单的介绍 第一节介绍Android 系统架构,一共分为四层,从下到上依次为: 1.第一层:linux内核,主要包括驱动程序以及管理内存.进程.电源等资源的程序. 2.第二层:C/C++代码库,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码. 3.第三层:Android SDK API,直接面向应用程序的JAVA APK 4.第四层:应用程序,直接面向最终用户的JAVA应用程序(APK程序) 第二节介绍Android移植的主要工作

Android深度探索第二章读后感

这章主要讲述了 Ubuntu Linux环境下的Android开发环境的配置.这是我在互联网上找到的配置过程联系书上的介绍完成的步骤 一.JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 目前最新版本:jdk-8-linux-x64.tar.gz 使用“tar -zxvf”解压后,假设解压后主目录为“/home/szyzln/jdk1.7.0_51” 1.sudo gedit /etc/prof

Android深度探索--第二章读后感

第二章中,在目标开发中和Android模拟器上测试驱动时,需要执行shell.h 脚本文件或 adb shell 命令进入相应平台的终端,在shell.h脚本在/root /drivers 目录之中.在这里讲的脚本文件都是使用insmod命令安装Linux驱动的,除了该命令意外,使用modprobe命令也是可以安装Linux驱动.Insmod和modprobe 的区别是modprobe命令可以检查驱动模块的依赖性.对于一个Linux驱动程序,一开始可以在Ubuntu Linux上做前期开发和测试

Android深度探索第二章总结

Android深度探索第二章主要是搭建Android开发环境.首先我们要准备好开发工具,有:JDK.Eclipse.ADT.CDT.Android SDK.Android NDK.交叉编译环境.Linux内核源代码.用于调试开发板的串口工具minicom.1.安装JDK.将下载好的JDK解压,在终端输入gedit  /etc/profile打开profile文件后输入export PATH=.:/developer/jdk6/bin:$PATH然后保存,再在终端中输入source /etc/pr

android深度探索1-4章心得体会

第一章 Android系统本身是一个庞大的系统,移植并不需要精通Android的每一个部分,需要考虑的是Android系统的硬件抽象层(HAL)和Linux中的相关设备驱动程序. Android系统的移植工作的目的是为了在特定的硬件上运行Android系统.在移植的过程中,把握关键要点,减少工作量是一个重要的方面.从工作的角度,通常的方法为,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中.为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调

Android深度探索--第八章读后感

在这一章中,我们得知了Linux内核提供了多个与I/O内存交互的函数,比如ioread16.ioread32.iowrite16.iowrite32等,Linux内核的内存管理模块负责同步I/O内存与硬件中的数据. 每一个连接Linux的硬件在I/O内存中都会有映射地址.由于LED驱动只能在S3C开发板上安装,因此build,sh 脚本直接执行了build_s3c6410.sh脚本文件进行编译和安装,并不会出现像第六章那样的要求用户选择在Ubuntu Linux .Android 模拟器还是S3

android深度探索第九章心得体会

本章主要讲硬件抽象层:HAL,它是建立在Linux驱动之上的一套程序库.刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口.二,解决了GPL版权问题.三,针对一些特殊的要求.可以利用位于用户空间的HAL代码来辅助Linux驱动完成一些工作. 编写HAL模块的步骤和原理如下. 第一步:定义结构体和宏编写HAL模块需要使用到3个非常重要的结构体,在第一步需要定义两个新的结构体. 第二步:编写HAL模块的open函数 open函数是HAL模块的入口点.本例中使用的是l