第1章 Android係統的編譯和移植實例 1
1.1 移植背景與目標 1
1.2 移植涉及的主要過程 1
1.3 下載Android Linux 內核 1
1.4 安裝交叉工具鏈 3
1.5 移植Android Linux 內核支持EZ6410平颱 4
1.5.1 CS8900a驅動移植 4
1.5.2 鍵盤驅動編寫 4
1.5.3 液晶驅動 5
1.5.4 觸摸屏驅動 6
1.5.5 USB驅動修改 7
1.5.6 安裝Android SDK 8
1.5.7 提取Android 根文件係統 9
1.5.8 係統環境設置 11
1.6 小結 12
1.7 思考題 12
第2章 Android係統與嵌入式開發 13
2.1 Android與傳統嵌入式Linux係統 13
2.2 嵌入式係統概述 13
2.2.1 嵌入式係統簡介 13
2.2.2 嵌入式係統的特點 14
2.2.3 嵌入式係統的發展 15
2.3 嵌入式係統的組成 17
2.3.1 嵌入式係統的硬件組成 18
2.3.2 嵌入式係統的軟件組成 19
2.4 嵌入式係統開發概述 19
2.5 Android係統概述 26
2.6 Android係統架構 28
2.6.1 Linux內核(Linux Kernel) 28
2.6.2 Android核心庫(Libraries) 29
2.6.3 Android運行時環境(Android Runtime) 29
2.6.4 Android應用程序框架(Application Framework) 29
2.6.5 Android應用程序和小部件 30
2.7 小結 30
2.8 思考題 30
第3章 Android移植平颱工具介紹 31
3.1 開發闆外觀 31
3.2 開發闆硬件資源 32
3.3 功能展示 33
3.4 目標闆與主機之間的連接 35
3.5 文件傳輸 37
3.6 網絡文件係統 38
3.7 設備安裝 39
3.8 工具軟件的設置 39
3.9 U-Boot鏡像的下載與燒寫 42
3.10 內核鏡像的下載與燒寫 48
3.11 燒寫文件係統鏡像 50
3.12 U-Boot啓動參數設置 51
3.13 小結 52
3.14 思考題 52
第4章 Android移植環境搭建 53
4.1 構建Android移植交叉開發環境 53
4.1.1 嵌入式交叉編譯環境搭建 53
4.1.2 主機交叉開發環境配置 55
4.2 Bootloader 59
4.2.1 Bootloader的種類 60
4.2.2 U-Boot編譯與使用 61
4.2.3 U-Boot移植 73
4.3 Android內核與移植 74
4.3.1 Android移植簡介 76
4.3.2 FS_S5PC100開發平颱移植環境搭建 76
4.4 U-Boot、內核、文件係統編譯 78
4.4.1 U-Boot的編譯 78
4.4.2 內核鏡像的編譯 78
4.4.3 Android文件係統的編譯 79
4.5 小結 81
4.6 思考題 81
第5章 Android移植與驅動 82
5.1 Android移植和驅動的關係 82
5.2 設備驅動程序 82
5.2.1 設備驅動概念 82
5.2.2 內核驅動程序 83
5.2.3 用戶空間驅動程序 83
5.2.4 Linux設備驅動概述 83
5.3 Linux核心與Android驅動 85
5.3.1 Android專用驅動 86
5.3.2 Android使用的設備驅動 87
5.4 Android驅動的HelloWorld 92
5.5 小結 95
5.6 思考題 95
第6章 Android驅動編程 96
6.1 Android內核內核模塊編程 96
6.2 字符設備驅動編程 105
6.2.1 字符設備驅動編寫流程 105
6.2.2 重要數據結構 106
6.2.3 設備驅動程序主要組成 107
6.3 LCD控製器 114
6.3.1 LCD控製器介紹 114
6.3.2 S5PC100 LCD控製器介紹 114
6.3.3 S5PC100 LCD控製器操作 116
6.3.4 LCD控製器寄存器 117
6.4 驅動程序 123
6.4.1 驅動程序初始化和退齣 124
6.4.2 驅動程序Open and release 函數 126
6.4.3 驅動程序ioctl函數 127
6.4.4 驅動測試程序main.c 128
6.5 小結 128
6.6 思考題 129
第7章 Android HAL實例解析 130
7.1 概述 130
7.2 HAL介紹 130
7.3 HAL內容 131
7.3.1 知識準備:HAL 主要的存儲目錄 131
7.3.2 知識準備:兩種 HAL 架構比較 131
7.4 mokoid 工程代碼下載與結構分析 132
7.4.1 知識準備:mokid項目概述 132
7.4.2 知識準備:結構分析 132
7.4.3 知識準備:第一種方法 直接調用service方法的實現過程 135
7.4.4 知識準備:第二種方法—經過Manager調用service 140
7.4.5 FS-S5PC100實驗平颱LED燈實驗 143
7.4.6 FS-S5PC100實驗平颱Sensor實驗 144
7.5 實驗中需要注意的問題 145
7.6 小結 146
7.7 思考題 147
第8章 Android 4.0係統的下載與編譯 148
8.1 準備Android下載與編譯環境 148
8.1.1 硬件環境 148
8.1.2 軟件環境 148
8.2 下載Android 4.0及Goldfish源碼 149
8.2.1 下載並初始化repo工具 149
8.2.2 下載Android源碼 150
8.2.3 其他源碼下載源 150
8.2.4 下載模擬器Goldfish內核源碼 150
8.3 編譯Android及Goldfish內核源碼 152
8.3.1 編譯Android源碼 152
8.3.2 編譯goldfish內核源碼 154
8.4 Android編譯過程分析 154
8.4.1 source build/envsetup.sh 155
8.4.2 執行lunch full-eng 156
8.4.3 執行make命令 156
8.5 創建目標産品編譯項 157
8.6 編譯並運行Android 4.0係統模擬器 158
8.6.1 編譯Android模擬器 158
8.6.2 Android啓動流程 161
8.7 定製手機模擬器ROM 162
8.7.1 定製手機開機界麵 162
8.7.2 定製Android啓動字樣 165
8.7.3 定製Android動畫 166
8.8 為Android啓動加速 168
8.8.1 定製本地服務 168
8.8.2 定製Android係統服務 169
8.9 Android係統企業級定製 170
8.10 小結 172
8.11 思考題 172
第9章 Android係統蜂鳴器與按鍵 173
9.1 蜂鳴器驅動的實現 173
9.1.1 PWM定時器概述 173
9.1.2 PWM定時器特點 174
9.1.3 PWM定時器的寄存器 175
9.1.4 PWM定時器操作示例 180
9.1.5 蜂鳴器的種類和工作原理 181
9.1.6 開發闆上的蜂鳴器原理圖分析 181
9.2 蜂鳴器HAL層的實現 182
9.3 Android按鍵檢測程序流程 184
9.4 驅動層實現 185
9.4.1 HAL層實現 186
9.4.2 HAL使用 187
9.4.3 HAL stub實現 188
9.4.4 JNI層實現 189
9.4.5 Framework層實現 189
9.4.6 應用層實現 190
9.5 小結 190
9.6 思考題 190
第10章 Android與傳感器設計與實現 191
10.1 Android Sensor實現原理概述 191
10.2 JNI原理 191
10.3 Android HAL 192
10.4 Sensor傳感器係統 193
10.4.1 Sensor Stub分析 194
10.4.2 Sensor Stub 實現細節 202
10.5 Logcat調試 202
10.6 一些開發環境的問題 203
10.7 小結 203
10.8 思考題 203
第11章 Android與攝像頭 204
11.1 OV9650介紹 204
11.1.1 芯片功能描述 204
11.1.2 OV9650寄存器詳解 205
11.2 SCCB總綫 206
11.2.1 SCCB協議介紹 206
11.2.2 SCCB的總綫編程 207
11.3 CAMIF接口詳解 209
11.3.1 基於S5PC100的CAMIF接口介紹 209
11.3.2 S5PC100 CAMIF寄存器詳解 210
11.4 攝像頭驅動 213
11.4.1 攝像頭工作原理 213
11.4.2 驅動開發思路 214
11.5 Android Camera架構分析 228
11.5.1 CameraService介紹 229
11.5.2 Camera-HAL介紹 229
11.5.3 CameraService與Camera-HAL的聯係 230
11.6 小結 232
11.7 思考題 232
第12章 Android下綜閤項目介紹——智能傢居 233
12.1 項目概述 233
12.1.1 項目背景 233
12.1.2 術語定義 234
12.1.3 係統描述 234
12.1.4 功能描述 235
12.1.5 項目功能圖 235
12.1.6 所涉及的係統與工具 235
12.2 前端數據中心(A8)總體設計 236
12.2.1 程序設計流程圖 236
12.2.2 綫程定義 236
12.2.3 所用類定義 236
12.3 前端A8模塊設計 237
12.3.1 A8-Android Application層設計 237
12.3.2 A8-數據傳遞架構模塊 245
12.3.3 傳輸協議模塊設計 257
12.4 終端M0模塊設計 259
12.4.1 終端設備方案描述 259
12.4.2 終端設備工作流程 259
12.4.3 功能模塊描述 260
12.5 係統測試 267
· · · · · · (
收起)