Android是Google基于Linux开发的智能手机操作系统,广泛应用于3G手机、上网本等。目前处于爆发式增长阶段,HTC(宏达电 多普达)、摩托罗拉、索爱、三星等众多公司纷纷推出基于Android智能操作系统,甚至很多上网本也使用Android操作系统。目前Android是最热门的智能操作系统,凭借Linux的软件优势其应用的广泛程度已经让其他对手相形见绌。所以学习Android操作系统具有巨大的意义。
这次平台使用omap3530-Devkit8000套件开发板来进行对android深入研究和学习。
◆ Android操作系统概述
1. Android系统架构
2. Android应用设计理念
3. Android 开源知识
4. Android 参考网站与权威信息
◆ Android SDK及其开发环境搭建
1. Android SDK的版本发布
2. ADT插件的安装和更新
3. Android应用程序架构
4. 建立第一个Android项目(HelloAndroid!)
5. 通过Eclipse导入一个开源项目
6. 可视化的界面开发工具
7. 部署应用程序到Android模拟器或手机
◆ Android 源代码开发环境搭建与源码结构分析
1. 开发系统主机环境搭建
2. 安装软件包Required Packages
3. Ubuntu 9.10
4. Install javva
5. 源码结构分析Android source (kernel platform application)
6. Android build 分析
7. Android system 分析
8. Android framwork 分析
9. Android bring up
◆ Android 应用程序设计模型
1. drawable
2. layout
3. values(strings.xml、colors.xml、style.xml 、arrays.xml等)
4. R.java分析及使用
5. AndroidManifest.xml
6. Android.mk
7. Activity
8. Intent
9. Service
10. ContentProvider
◆ Android 应用程序界面(一)
1. TextView的使用
2. drawable的使用
3. 引用Drawable颜色常数及背景色
4. CharSequence数据类型与ResourceID应用
5. DisplayMetrics的使用
6. Style样式的定义
7. Button事件处理
8. setContentView的应用
9. Intent对象的使用
10. Bundle对象的实现
11. startActivityForResult方法
12. AlertDialog窗口
13. Button与TextView的交互
14. Typeface对象使用
15. Gallery对象
16. 多按钮应用
17. Menu功能菜单程序设计
18. ProgressDialog与线程应用
19. 动态产生按钮并最大化
20. 选择功能的对话框
21. Android主题(Theme)实现
22. 支持多种分辨率的屏幕
◆ Android应用程序界面(二)
1. EditText与setOnKeyListener事件
2. ImageButton的焦点及事件处理
3. Toast对象的使用
4. CheckBox的isChecked属性
5. 多选项CheckBox的应用
6. RadioGroup组与onCheckedChanged事件
7. ImageView的堆栈应用
8. Spinner与setDropDownViewResource
9. ArrayList与Widget的依赖性
10. Gallery与衍生BaseAdapter容器
11. JavaI/O的应用
12. ImageButton选择特效
13. AutoCompleteTextView与数组
14. AnalogClock与DigitalClock的原理
15. DatePicker与TimePicker应用
16. ImageView点击事件与透明度处理
17. ProgressBar与Handler的整合应用
18. GridView与ArrayAdapter设计
19. ListView的布局
20. ListActivity与Menu整合技巧
21. JavaI/O与ListActivity的结合
22. 使用decodeFile方法
23. 运用Matrix对象来缩放图文件
24. Bitmap与Matrix旋转ImageView
25. RadioButtonID
26. 对话窗口上的ICON图标
◆ Android 应用交互与手机模块控制
1. PendingIntent与AlarmManager
2. PendingIntent 与 SmsManager
3. Intent 与 Email
4. 数据存储方式
5. NotificationManager与Notification
6. Adapter对象与Cursor
7. TelephonyManager的应用
8. RunningTaskInfo的应用
9. Provider.Contact的使用
10. Provider.Calendar的使用
11. Service与Runnable整合并用
12. BroadcastReceiver与Intent
13. receiver与intent-filter
14. Android网络编程
15. HTTP请求与连接
16. WebView.loadUrl
17. Webkit 与 WebCore
18. HttpURLConnection与URLConnection和运行线程
19. Runnable混搭SurfaceView
20. Google ApI
◆ Android 系统服务
1. Activity Manager
2. Windows Manager
3. Surface Manager(surface flinger)
4. Package Manager
5. Telephony Manager
6. Content Provider
7. Resource Manager
8. AssetManager
9. View System
10. Location Manager
11. Notification Manager
12. AlarmManager
13. BatteryManager
14. HardwareManage
15. 如何添加一个新系统Service并开放API
16. 关键服务
17. 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查看
. OMAP3530的外围器件结构
. GPIO操作
9. AMBA总线标准
. AMBA总线标准
. FCLK/HCLK/PCKL频率分配与设置
. Watchdog计时操作
. UART操作
. ARM中断体系
. 异常向量表
. ARM模式切换
. ARM中断控制器
. 软中断
. Linux系统调用的实现
10. Nand Flash控制器
. Flash原理
. Nand控制器原理及时序分板
. OMAP3530 NAND Flash时序分析
11. 内存控制器
. OMAP3530物理地址分布
. 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时序
. OMAP3530上I2S的操作
音频设备的裸驱动讨论
17. DM9000网卡控制
. 逻辑链路层与MAC层
. DM9000原理与时序分析
后续网卡裸驱动讨论与体系结构
18. TCP/IP协议栈移植,与网络体系结构
. LwIP TCP/IP协议栈简介
. LwIP配置与编译
. tftp配置与编译
19. Bootloader原理与移植
. u-boot的配置、编译
. u-boot启动过程分析 [size=medium][/size]
. ARM-Linux的启动要求
. ARM-Linux kernel的ld-sript分析
. u-boot到ARM-Linux的跳转代码分析
. 使用mkimage制作启动镜像文件
20. ARM-Linux原理与移植
. ARM-Linux的配置、编译
. ARM-Linux启动代码分析
. ARM-Linux 地址映射的关系;
[color=red][/color]