标签:
第一章:
随着android原生代码的开放性,出于好奇的每一位学员都想着开发属于自己的嵌入式系统。因此随着智能时代的到来,android已经成为当前智能手机操作系统的老大,市场占有率遥遥领先于ios操作系统。
Android 优秀的嵌入式操作系统经过多年的发展已经非常的完善,包括linux内核,才c/c++代码库,Java sdk api,应用程序四层。不同版本的Android是基于不同的Linux内核上,所以不同Android版本的驱动可能并不通用。Android sdk api 是用Java语言编写的也可以成为Java api 层。Java编写的各种library 是基于dalvik虚拟机格式的。应用程序是安卓用户都要接触到的。包括拍照 电话 短信 浏览器 以及游戏。而这一层要依靠第三层来完成各种功能。
移植分为应用移植和系统移植。前者应用程序移植到某一个特定硬件平台。后者android 操作系统在某一特定硬件平台上运行。嵌入式是基于软硬件共同作用的一个方向。
学习linux驱动编程一定要了解linux驱动只与Linux内核有关,不管哪个Linux系统,只要使用了同样的Linux内核 ,驱动就能通用。这是嵌入式开发的一个基础阶段,同时也了解到整个Linux开发的一个 布局。
第二章
搭建Android底层开发环境,主要包括Android应用程序开发环境,Android ndk 开发环境和交叉编译环境搭建。这些都是Android移植及Linux驱动开发的基础,没有环境的搭建就没有开发。Jdk6或以上版本;eclipse3.4或以上版本;adt cdt android sdk; android ndk; 交叉编译环境;Linux内核源代码;Android源代码;用于调试开发板的串口工具。
搭建android 应用程序开发环境,安装Android sdk ;安装eclipse;安装adt;配置adt;建立avd;
下载Android ndk 在安装目录中有一个ndk-build脚本文件,该脚本文件用于编译ndk 程序。为了方便,可以将android ndk 安装目录添加到path环境变量中。修改path环境变量的值。安装交叉编译环境 x86架构的cpu采用的是指令集计算机,而arm架构的cpu是用的是精简指令集。由于这俩种架构的cpu是用不同的指令集,因此在架构开发可运行在arm架构上的程序就必须要使用价差编译器。通常交叉编译器和相关工具包含了很多可执行文件以及大量的共享几头文件等资源,这些资源的集合称为交叉编译环境。
介绍了 linux环境下的Android开发环境的配置。底层环境的开发为Android开发和内核的移植做了很多基础的工作。一切工作都必须是在环境的基础上发展起来的。
第三章
Linux与其他系统最大的区别就是开源。资深的Linux用户就是在开源软件的陪伴下长大的。Linux下的软件大多数不直接以二进制的安装包提供,而是直接提供源代码,然后再编译安装。至于源代码管理使用了Linus编写的git进行源代码管理。
注释:本书执行的linux命令都是在root用户下完成的。如果用其他用户登录必须使用root权限执行的命令在前面加sudo。这个需要用户输入密码如果密码正确就会切换到root权限来执行这些命令。在没有设置密码的情况下,使用sudo passwd root 命令设置root密码 然后使用root用户来执行本书中Linux命令。
源代码的提交与获取 创建版本库:git init版本库因版本管理软件的不同而不同,都有自己对版本哭的管理方式。Git版本库也有自己的管理软件和自己的管理方式。将文件提交到本地版本库:git commit .创建本地分支:git branch 源代码可能由多人共同完成,参与开发的人员为每一处的修改建立一个分支,这样在修改后提交不会影响主分支。Github上创建开源项目,从这下载源代码 get clone. Git 的基本用法为以后的移植于应用起了很大的作用 。
第四章
Git 的使用方法下载源代码。俩套源代码才是重点学习。Android源代码,Linux内核源代码。下载 编译和测试Android源代码,源代码中包含了很多东西多种应用程序的晕源代码,sdk各种工具的源代码以及ndk的源代码,hal的源代码。
首先Android源代码的下载环境 第一步: 创建一个用于存放下载脚本文件的目录 第二步:下载repo脚本文件。 第三步:创建用于存放Android 源代码的目录 第四步:初始化。 第五步:开始下载Android源代码。下载Android代码的俩种方法 使用repo sync命令 使用git clone命令。
编译Android源代码的每个工程都有Android。Mk文件,过程中会递归调用每一个工程目录中的Android.Mk来编译当前工程。初始化编译环境 选择目标 编译Android源代码。与Android源代码一样Linux内核源代码也是一样的方法。
Android移植主要是Linux内核的移植。Linux内核的移植主要是Linux驱动的移植。在开发和测试的过程中Linux驱动的移植 显得格外重要。其实前四章就是在为Android移植做一系列的准备工作。包括简单叙述 环境搭建 git 入门 源代码的下载和编译。这些都是最简单基本的前期的工作,要想完成后边的一些列的复杂过程 打下坚实的基础。
标签:
原文地址:http://www.cnblogs.com/junjun12/p/5426721.html