Android深度探索(卷1)HAL与驱动开发 读书笔记(第四章)
第四章 源代码的下载和编译
本章主要介绍使用Git下载两套源代码。一套是Android 源代码,另一套是Linux 内核源代码。主要介绍如何下载和编译Android源代码和Linux内核源代码。
4.1下载Android源代码的环境
第一步:创建一个存放下载脚本文件repo的目录
#mkdir ~/bin
#PATH=~/bin:$PATH
第二步:下载repo脚本文件(用于下载Android源代码)
#curl https://dl-ssl.goole.com/dl/goolesource/git-repo/repo>~/bin/repo
#chmod a+x ~/bin/repo
第三步:创建用于存放Android源代码的目录
#mkdir android_source
#cd android_source
第四部:初始化
#repo init -u https://android.goolesourse.com/platform/manifest
第五步:开始下载Android源代码:
#repo sync
android 源代码目录的解析
我们编译android 源代码:
第一步:初始化编译环境
第二步:选择目录
第三步:编译android 源代码
# make
# make -j4
Out 目录结构分析
将自己的APK 作为android 内置程序发布
用模拟器测试 system.ing文件
之后进行下载和编译Linux 内核源代码。Linux内核源代码的目录。
4.2下载和编译LInux内核源代码
下载Linux内核源代码
执行命令“# git clone https:android.googlesource.com/kernel/common.git”可以下载最新的Linux内核源代码
Linux内核源代码目录结构
P51 P52 中的表介绍了Linux内核各个目录的含义。
安装android内核的编译环境
在ubuntu Linux下编译Linux内核需要安装交叉编译器。就是在A架构的CPU上编译可在B架构CPU运行的程序。
安装交叉编译器的步骤:
第一步:准备工作
第二步:解压编译器
第三步:验证交叉编译器是否安装成功
第四步:安装libncurses5
(安装libncurses5主要为配置内核。)
配置和编译Linux内核
make clean 命令用于清除大多数由编译生成的文件,但保留配置文件。make mrproper(清除所有由编译器产生的文件+清除配置文件)和make distclean (make mrproper+删除编辑器留下的备份文件和补丁文件)这两个命令清除的更彻底。
4.3 Android移植主要是Linux内核移植,Linux内核移植主要是驱动的移植所以搭建两套开发环境.
http://www.cnblogs.com/lupengyong/
转载于:https://www.cnblogs.com/lupengyong/p/5438528.html
Android深度探索(卷1)HAL与驱动开发 读书笔记(第四章)相关推荐
- Android深度探索(卷1)HAL与驱动开发--读书笔记(第一章)
Android系统架构是由四层构成,第一层为Linux内核,主要包括Linux驱动程序以及内存管理.进程管理.电源管理的等程序.并且不同的Android的版本的驱动可能并不通用.第二层为C/C++代码 ...
- Android深度探索(卷1)HAL与驱动开发学习笔记(8)
Android深度探索(卷1)HAL与驱动开发学习笔记(8) 第八章 蜂鸣器驱动 L i n u x驱动的代码重用有很多种方法.可以采用标准C程序的方式.将要重用的代码放在其他的文件(在头文件中声 ...
- Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记
Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记 本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.A ...
- Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术
Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点,逐步跟踪代码. ...
- Android深度探索(卷1)HAL与驱动开发读后感---第四章
第4章 源代码的下载和编译 4.1 下载.编译和测试Android源代码 主要学习了:配置源代码的下载环境,Android源代码目录结构解析,下载Android源代码中的一部分,编译And ...
- Android深度探索(卷1)HAL与驱动开发第六章总结
操作系统是通过各种驱动程序赖家与硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式.设备驱动程序是操作系统最基本的组成部分之一,在Linux内核源程序中也 ...
- Android深度探索(卷1)HAL与驱动开发第五章总结
开发板是开发和学习嵌入式技术的主要硬件设备,开发板的型号和种类很多,目前流行的是基于S3C6410 ARM11架构的开发板,S3C6410是由三星公司推出的一款低功耗,高性价比的RISC处理器,它基于 ...
- ANDROID深度探索(卷1)HAL与驱动开发 第四章
配置android源代码下载环境 (1)创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放到任何目录中,在这里使用~/bin).#mkdir ~/bin #PATH=~/bin: ...
- Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)
Windows驱动开发学习笔记(四)-- 3环与0环通信(常规方式) 设备对象 创建设备对象 设置数据交互方式 创建符号链接 IRP与派遣函数 IRP的类型 其它类型的IRP 派遣函数 派遣函数注册位 ...
最新文章
- 最萌算法学习来啦,看不懂才怪!
- 正则表达式(2.实例)
- 老工程师谈电子物料:别拿一分钱不当回事!
- (转)Spring的概述
- Flutter:Slivers大家族,让滑动视图的组合变得很简单!
- paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
- 宕昌一中2021高考成绩查询,2014年陇南市普通高考分数成绩排名
- C++中将数据(或图像数据)写到txt
- beoplay耳机序列号查询_怎么鉴别 BO E8耳机真伪?【转】
- MessageBox用法大全 [转]
- 【VRP问题】基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究(Matlab代码实现)
- 如何让计算机断开网络连接网络设置,电脑怎样设置定时断网,教您怎么设置
- 设计一个以1秒频率闪烁的LED灯(亮灭各500ms)
- 2022全新Java学习路线图动力节点(五)框架之路
- 十六进制转八进制算法
- Docker-compose容器编排
- Deep Learning for Generic Object Detection: A Survey -- 目标检测综述总结
- 输出倒三角—C语言实现
- 单个人工神经元模型示意图,人体神经元模型制作
- POI2010 Beads
热门文章
- gpu编程如何一步步学习_如何学习贴片机编程
- java 指定打印机打印_java 指定打印机 进行打印
- 【渝粤教育】国家开放大学2019年春季 289法理学 参考试题
- 【渝粤教育】国家开放大学2018年秋季 0033-21T工程数学 参考试题
- 【渝粤教育】国家开放大学2018年春季 0089-22TInternet和Intranet应用 参考试题
- 【渝粤教育】国家开放大学2018年春季 0675-21T中级财务会计(2) 参考试题
- 国家开放大学2021春1073法律文书答案
- 基于CC1310的915MHz硬件设计
- 电源模块怎么选?以下6点你都知道吗?
- php iconv 无效,关于nodejs iconv的编码无效 说明