出版時間:2013-9 出版社:電子工業(yè)出版社 作者:鄭萌等
Tag標(biāo)簽:無
內(nèi)容概要
本書針對特定硬件平臺從零構(gòu)建Android系統(tǒng),包括平臺移植、應(yīng)用開發(fā)、內(nèi)核開發(fā)以及驅(qū)動開發(fā)。目前企業(yè)對Android人才需求主要分布在應(yīng)用開發(fā)和底層系統(tǒng)開發(fā)兩個方面,企業(yè)最緊缺的是兼具二者的全才型系統(tǒng)工程師,和嵌入式Linux人才需求基本相似。結(jié)合這樣的人才需求特點,本書的讀者是想兼顧應(yīng)用開發(fā)和底層開發(fā)的系統(tǒng)級開發(fā)工程師。本書共12章,開篇介紹了Android底層開發(fā)和嵌入式開發(fā)之間的關(guān)系,接著介紹Android系統(tǒng)的編譯和移植,在這個基礎(chǔ)上進一步闡述了Android驅(qū)動開發(fā)的原理,最后給出了一個Android智能家居的實例。
本書是大學(xué)院校嵌入式技術(shù)專業(yè)、電子信息類其他專業(yè)的專業(yè)課程教材,也可供高等及中等職業(yè)技術(shù)院校使用。
書籍目錄
第1章 Android系統(tǒng)的編譯和移植實例 1
1.1 移植背景與目標(biāo) 1
1.2 移植涉及的主要過程 1
1.3 下載Android Linux 內(nèi)核 1
1.4 安裝交叉工具鏈 3
1.5 移植Android Linux 內(nèi)核支持EZ6410平臺 4
1.5.1 CS8900a驅(qū)動移植 4
1.5.2 鍵盤驅(qū)動編寫 4
1.5.3 液晶驅(qū)動 5
1.5.4 觸摸屏驅(qū)動 6
1.5.5 USB驅(qū)動修改 7
1.5.6 安裝Android SDK 8
1.5.7 提取Android 根文件系統(tǒng) 9
1.5.8 系統(tǒng)環(huán)境設(shè)置 11
1.6 小結(jié) 12
1.7 思考題 12
第2章 Android系統(tǒng)與嵌入式開發(fā) 13
2.1 Android與傳統(tǒng)嵌入式Linux系統(tǒng) 13
2.2 嵌入式系統(tǒng)概述 13
2.2.1 嵌入式系統(tǒng)簡介 13
2.2.2 嵌入式系統(tǒng)的特點 14
2.2.3 嵌入式系統(tǒng)的發(fā)展 15
2.3 嵌入式系統(tǒng)的組成 17
2.3.1 嵌入式系統(tǒng)的硬件組成 18
2.3.2 嵌入式系統(tǒng)的軟件組成 19
2.4 嵌入式系統(tǒng)開發(fā)概述 19
2.5 Android系統(tǒng)概述 26
2.6 Android系統(tǒng)架構(gòu) 28
2.6.1 Linux內(nèi)核(Linux Kernel) 28
2.6.2 Android核心庫(Libraries) 29
2.6.3 Android運行時環(huán)境(Android Runtime) 29
2.6.4 Android應(yīng)用程序框架(Application Framework) 29
2.6.5 Android應(yīng)用程序和小部件 30
2.7 小結(jié) 30
2.8 思考題 30
第3章 Android移植平臺工具介紹 31
3.1 開發(fā)板外觀 31
3.2 開發(fā)板硬件資源 32
3.3 功能展示 33
3.4 目標(biāo)板與主機之間的連接 35
3.5 文件傳輸 37
3.6 網(wǎng)絡(luò)文件系統(tǒng) 38
3.7 設(shè)備安裝 39
3.8 工具軟件的設(shè)置 39
3.9 U-Boot鏡像的下載與燒寫 42
3.10 內(nèi)核鏡像的下載與燒寫 48
3.11 燒寫文件系統(tǒng)鏡像 50
3.12 U-Boot啟動參數(shù)設(shè)置 51
3.13 小結(jié) 52
3.14 思考題 52
第4章 Android移植環(huán)境搭建 53
4.1 構(gòu)建Android移植交叉開發(fā)環(huán)境 53
4.1.1 嵌入式交叉編譯環(huán)境搭建 53
4.1.2 主機交叉開發(fā)環(huán)境配置 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內(nèi)核與移植 74
4.3.1 Android移植簡介 76
4.3.2 FS_S5PC100開發(fā)平臺移植環(huán)境搭建 76
4.4 U-Boot、內(nèi)核、文件系統(tǒng)編譯 78
4.4.1 U-Boot的編譯 78
4.4.2 內(nèi)核鏡像的編譯 78
4.4.3 Android文件系統(tǒng)的編譯 79
4.5 小結(jié) 81
4.6 思考題 81
第5章 Android移植與驅(qū)動 82
5.1 Android移植和驅(qū)動的關(guān)系 82
5.2 設(shè)備驅(qū)動程序 82
5.2.1 設(shè)備驅(qū)動概念 82
5.2.2 內(nèi)核驅(qū)動程序 83
5.2.3 用戶空間驅(qū)動程序 83
5.2.4 Linux設(shè)備驅(qū)動概述 83
5.3 Linux核心與Android驅(qū)動 85
5.3.1 Android專用驅(qū)動 86
5.3.2 Android使用的設(shè)備驅(qū)動 87
5.4 Android驅(qū)動的HelloWorld 92
5.5 小結(jié) 95
5.6 思考題 95
第6章 Android驅(qū)動編程 96
6.1 Android內(nèi)核內(nèi)核模塊編程 96
6.2 字符設(shè)備驅(qū)動編程 105
6.2.1 字符設(shè)備驅(qū)動編寫流程 105
6.2.2 重要數(shù)據(jù)結(jié)構(gòu) 106
6.2.3 設(shè)備驅(qū)動程序主要組成 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 驅(qū)動程序 123
6.4.1 驅(qū)動程序初始化和退出 124
6.4.2 驅(qū)動程序Open and release 函數(shù) 126
6.4.3 驅(qū)動程序ioctl函數(shù) 127
6.4.4 驅(qū)動測試程序main.c 128
6.5 小結(jié) 128
6.6 思考題 129
第7章 Android HAL實例解析 130
7.1 概述 130
7.2 HAL介紹 130
7.3 HAL內(nèi)容 131
7.3.1 知識準(zhǔn)備:HAL 主要的存儲目錄 131
7.3.2 知識準(zhǔn)備:兩種 HAL 架構(gòu)比較 131
7.4 mokoid 工程代碼下載與結(jié)構(gòu)分析 132
7.4.1 知識準(zhǔn)備:mokid項目概述 132
7.4.2 知識準(zhǔn)備:結(jié)構(gòu)分析 132
7.4.3 知識準(zhǔn)備:第一種方法 直接調(diào)用service方法的實現(xiàn)過程 135
7.4.4 知識準(zhǔn)備:第二種方法—經(jīng)過Manager調(diào)用service 140
7.4.5 FS-S5PC100實驗平臺LED燈實驗 143
7.4.6 FS-S5PC100實驗平臺Sensor實驗 144
7.5 實驗中需要注意的問題 145
7.6 小結(jié) 146
7.7 思考題 147
第8章 Android 4.0系統(tǒng)的下載與編譯 148
8.1 準(zhǔn)備Android下載與編譯環(huán)境 148
8.1.1 硬件環(huán)境 148
8.1.2 軟件環(huán)境 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內(nèi)核源碼 150
8.3 編譯Android及Goldfish內(nèi)核源碼 152
8.3.1 編譯Android源碼 152
8.3.2 編譯goldfish內(nèi)核源碼 154
8.4 Android編譯過程分析 154
8.4.1 source build/envsetup.sh 155
8.4.2 執(zhí)行l(wèi)unch full-eng 156
8.4.3 執(zhí)行make命令 156
8.5 創(chuàng)建目標(biāo)產(chǎn)品編譯項 157
8.6 編譯并運行Android 4.0系統(tǒng)模擬器 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 定制本地服務(wù) 168
8.8.2 定制Android系統(tǒng)服務(wù) 169
8.9 Android系統(tǒng)企業(yè)級定制 170
8.10 小結(jié) 172
8.11 思考題 172
第9章 Android系統(tǒng)蜂鳴器與按鍵 173
9.1 蜂鳴器驅(qū)動的實現(xiàn) 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 開發(fā)板上的蜂鳴器原理圖分析 181
9.2 蜂鳴器HAL層的實現(xiàn) 182
9.3 Android按鍵檢測程序流程 184
9.4 驅(qū)動層實現(xiàn) 185
9.4.1 HAL層實現(xiàn) 186
9.4.2 HAL使用 187
9.4.3 HAL stub實現(xiàn) 188
9.4.4 JNI層實現(xiàn) 189
9.4.5 Framework層實現(xiàn) 189
9.4.6 應(yīng)用層實現(xiàn) 190
9.5 小結(jié) 190
9.6 思考題 190
第10章 Android與傳感器設(shè)計與實現(xiàn) 191
10.1 Android Sensor實現(xiàn)原理概述 191
10.2 JNI原理 191
10.3 Android HAL 192
10.4 Sensor傳感器系統(tǒng) 193
10.4.1 Sensor Stub分析 194
10.4.2 Sensor Stub 實現(xiàn)細(xì)節(jié) 202
10.5 Logcat調(diào)試 202
10.6 一些開發(fā)環(huán)境的問題 203
10.7 小結(jié) 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協(xié)議介紹 206
11.2.2 SCCB的總線編程 207
11.3 CAMIF接口詳解 209
11.3.1 基于S5PC100的CAMIF接口介紹 209
11.3.2 S5PC100 CAMIF寄存器詳解 210
11.4 攝像頭驅(qū)動 213
11.4.1 攝像頭工作原理 213
11.4.2 驅(qū)動開發(fā)思路 214
11.5 Android Camera架構(gòu)分析 228
11.5.1 CameraService介紹 229
11.5.2 Camera-HAL介紹 229
11.5.3 CameraService與Camera-HAL的聯(lián)系 230
11.6 小結(jié) 232
11.7 思考題 232
第12章 Android下綜合項目介紹——智能家居 233
12.1 項目概述 233
12.1.1 項目背景 233
12.1.2 術(shù)語定義 234
12.1.3 系統(tǒng)描述 234
12.1.4 功能描述 235
12.1.5 項目功能圖 235
12.1.6 所涉及的系統(tǒng)與工具 235
12.2 前端數(shù)據(jù)中心(A8)總體設(shè)計 236
12.2.1 程序設(shè)計流程圖 236
12.2.2 線程定義 236
12.2.3 所用類定義 236
12.3 前端A8模塊設(shè)計 237
12.3.1 A8-Android Application層設(shè)計 237
12.3.2 A8-數(shù)據(jù)傳遞架構(gòu)模塊 245
12.3.3 傳輸協(xié)議模塊設(shè)計 257
12.4 終端M0模塊設(shè)計 259
12.4.1 終端設(shè)備方案描述 259
12.4.2 終端設(shè)備工作流程 259
12.4.3 功能模塊描述 260
12.5 系統(tǒng)測試 267
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Android系統(tǒng)移植和驅(qū)動開發(fā) PDF格式下載