当前位置: 软件测试研究室 > 其他课程大纲 >

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