Android 高级移植与驱动核心开发
ARM平台 Android 高级移植与驱动核心开发 Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到特定硬件平台下,同时将必要的驱动进行编写及开发。本课程旨在让学员成为Android的核心层开发者,让学员在这种嵌入式设备厂商中谋得核心开发人员的职位。 ◆1. Android系统体系及移植相关工具 1.1 Android操作系统体系结构介绍
Android Linux内核移植介绍
文件系统, toolbox等移植
存储驱动移植
Bootloader相应方案与移植
Android虚拟器Dalvik移植介绍
1.2 ARM处理器介绍
ARMv5TJS
ARM中断处理
ARM体系结构与ARM处理器的体系结构
IP核、芯片与开发板
ARM处理器结构 处理器模式
. 寄存器
. 流水线结构
C语言内嵌汇编格式 与编程实例
1.3 ARM指令系统
. 算术逻辑指令
. 指令对状态寄存器的影响
. 比较指令
. 分支指令
. 移位
. 指令位图
. 识别机器指令;
1.4内存访问与内存控制
. 数据总线与地址总线的使用与实例
. STR/LDR
1.5 ARM过程调用标准
. LDM/STM
. 反汇编
. APCS
. C语言函数与汇编的互相调用
【案例】 使用Android Linux patch进行Linux内核的构建
◆2. Android Linux内核移植与核心开发
2.1 ARM处理器的Android系统构建
2.2 输入输出设备驱动移植
2.3 存储设备nand flash,MMC/SD卡驱动移植
2.4 Framebuffer移植
2.5 Touchscreen移植
2.6 Open Binder IPC移植
【案例】
2.7 在ARM处理器上移植Android试验
2.8 编写Nand flash驱动
2.9 移植Framebuffer驱动
2.10 硬件相关部分(键盘、触摸屏、LCD等)
◆3. Android相关环境 库、以及Bionic系统移植
3.1 libc移植
3.2 libm移植
3.3 libdl移植
3.4 libm移植
3.5 busybox, toolbox移植
【案例】
1. 移植glibc
2. 移植busybox和toolbox
◆4. Android Dalvik移植一
4.1 JNI Call Bridge相关原理
4.2 dx, dalvitvm原理和使用
4.3 Dalvik指令格式
4.4 Dalvik执行格式dex
4.5 Java字节码格式
◆5. Android Dalvik移植二
5.1 Dalvik Library原理
5.2 dalvit libcore核心库移植
5.3 dalvit/vm/native移植
5.4 Dalvik Interpreter原理
5.5 Dalvik Mterp
◆6. ARM AT&T汇编
. AT&T汇编语法详解
. gas工具的使用
. label标签的作用
. 数据与代码的分布
◆7. 链接脚本ld-script
. 段地址的确定
. 编写ld-script
. ELF格式与libc函数库的关系
◆8. 时序电路基础
. 电平信号
. 电路图分析
. 时序图分析
. datasheet查看
. s3c2440的外围器件结构
. GPIO操作
◆9. AMBA总线标准
. AMBA总线标准
. FCLK/HCLK/PCKL频率分配与设置
. Watchdog计时操作
. UART操作
. ARM中断体系
. 异常向量表
. ARM模式切换
. ARM中断控制器
. 软中断
. Linux系统调用的实现
◆10. Nand Flash控制器
. Flash原理
. Nand控制器原理及时序分板
. k9f1208时序分析
◆11. 内存控制器
. s3c2440物理地址分布
. SDRAM原理与时序
. 内存控制器的物理连接
. 地址对齐
. SRAM访问
◆12. 内存管理单元
. MMU的原理
. ARM协处理器指令
. section模式
. small page模式
. I & D TLBs
. I & D Cache
. 哈佛结构的原理与实现
◆13. DMA 直接内存访问 的机制与使用
. DMA的状态机
. DMA的控制
◆14. 触摸屏接口与ADC接口 与实例
. ADC原理
. 触摸屏接口与控制
◆15. LCD控制器
. 图形显示原理
. LCD控制器
. LCD时序
LCD驱动相关的框架与体系
◆16. I2S音频总线
. 音频硬件原理
. I2S时序
. s3c2440上I2S的操作
音频设备的裸驱动讨论
◆17. CS8900网卡控制
. 逻辑链路层与MAC层
. CS8900原理与时序分析
后续网卡裸驱动讨论与体系结构
◆18. TCP/IP协议栈移植,与网络体系结构
. LwIP TCP/IP协议栈简介
. LwIP配置与编译
. tftp配置与编译
◆19. Bootloader原理与移植
. u-boot的配置、编译
. u-boot启动过程分析
. ARM-Linux的启动要求
. ARM-Linux kernel的ld-sript分析
. u-boot到ARM-Linux的跳转代码分析
. 使用mkimage制作启动镜像文件
◆20. ARM-Linux原理与移植
. ARM-Linux的配置、编译
. ARM-Linux启动代码分析
. ARM-Linux 地址映射的关系;
. Busybox的配置、编译
◆Android system Architecture
![]()
|








