1 Andriod 移植基础和开发环境的搭建
目标:熟悉ARM A9硬件平台,掌握bootloader移植、Linux内核移植,根文件系统建立,为后面的Android移植打好基础。
1、ARM A9硬件平台介绍
2、安装交叉编译工具链与其他相关工具
3、移植bootloader到ARM A9硬件平台
4、移植Linux内核到ARM A9硬件平台
5、建立根文件系统
【实验】
1、熟悉ARM A9硬件平台
2、在ARM A9硬件平台上构建嵌入式Linux系统
3、开发环境的搭建
4、Uboot,Kernel,文件系统的编译和镜像等的生成
- 第1阶段--Bootloader专题
Bootloader专题
- 2 开发系统引导程序
2.1 Bootloader介绍
2.2 u-boot工程介绍
2.3 u-boot的编译使用
2.4 u-boot源码分析
2.5 u-boot移植过程
实验内容:掌握u-boot常用命令,分析修改u-boot-1.1.2源代码。
(1) u-boot常用命令
(2) 添加u-boot新命令
(3) 设置u-boot环境变量
(4) 配置编译u-boot
(5) 移植u-boot
第2阶段--Linux内核的移植和裁剪专题
Linux内核专题
- 4 Linux内核初步第一阶段讲解
4.1 Linux内核目录结构
4.2 详解Linux内核源代码
实验内容:熟悉Linux内核源代码
(1) 掌握内核结构
(2) 把握内核关键点
(3) 学会阅读分析内核
- 项目实战:Linux内核的裁剪
第3阶段--Android文件系统专题
Android的底层库和程序
- 4.1 底层库和程序的结构
4.1.1 本地实现的基本结构
4.1.2 增加本地程序和库的方法
4.2 标准C/C++库bionic
4.3 C语言工具库libcutils
4.4 init可执行程序
4.5 Shell工具
4.6 C++工具库libutils
4.6.1 libutils的基本内容
4.6.2 Binder
4.6.3 libutils中的其他内容
4.7 Android的系统进程
第4阶段--驱动专题
通过本课学习,学员可以从用户设备I/O编程角度深入了解设备驱动的原理;
通过了解设备驱动框架和具体硬件设备I/O操作,能够进行设备驱动开发;
了解linux2.6内核的设备模型及掌握udev的使用。
1. LINUX设备驱动程序开发
1.1 LINUX设备驱动基础
1.2 字符设备驱动程序实现框架与典型驱动分析
1.3 Linux-2.6设备模型与驱动编写规范
1.5 怎样把驱动加入内核中,然后能通过Make Menuconfig命令进行配置
【实验】
1、驱动开发编程环境与内核配置、编译
2、编写模块化设备驱动程序与测试
3、如何为内核程序传递参数
4、LED驱动程序编写与测试
Linux 驱动与文件系统的结合
第5阶段--Android移植全过程实战
移植Andriod到ARM A9平台
- 目标:掌握在ARM A9平台上移植Andriod的完整过程,精通移植Andriod的关键步骤。
1、Android的源代码结构与编译方法
2、支持ARM A9的Linux-3.6.5内核新特性简介
3、移植LCD double buffer驱动
4、移植LCD double buffer驱动
5、移植触摸屏驱动
6、移植Wifi驱动支持Android上网功能
8、移植电源管理驱动,支持Android电池/能源管理
9、移植Linux内核源码以支持Android系统
9.1硬件无关部分
9.2硬件相关部分(键盘、触摸屏、LCD等)
10、建立支持Android的根文件系统
11、部署Android系统到实际ARM A9平台
12、系统性能测试与评估
- 【实验】
1、移植Andriod到ARM A9平台实验平台
2、构建Andriod文件系统
3、配置网络,使用内置浏览器上网