注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合Android底層開發(fā)技術(shù)實戰(zhàn)詳解:內(nèi)核、移植和驅(qū)動

Android底層開發(fā)技術(shù)實戰(zhàn)詳解:內(nèi)核、移植和驅(qū)動

Android底層開發(fā)技術(shù)實戰(zhàn)詳解:內(nèi)核、移植和驅(qū)動

定 價:¥69.00

作 者: 王振麗
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 移動開發(fā)

ISBN: 9787121175930 出版時間: 2012-08-01 包裝: 平裝
開本: 16開 頁數(shù): 530 字?jǐn)?shù):  

內(nèi)容簡介

  本書從底層原理開始講起,結(jié)合真實的案例向讀者詳細(xì)介紹了Android內(nèi)核、移植和驅(qū)動開發(fā)的整個流程。全書分為19章,依次講解驅(qū)動移植的必要性,何為HAL層深入分析,Goldfish、MSM、MAP內(nèi)核和驅(qū)動解析,顯示系統(tǒng)、輸入系統(tǒng)、振動器系統(tǒng)、音頻系統(tǒng)、視頻輸出系統(tǒng)的驅(qū)動,OpenMax多媒體、多媒體插件框架,傳感器、照相機、Wi-Fi、藍(lán)牙、GPS和電話系統(tǒng)等。在每一章中,重點介紹了與Android驅(qū)動開發(fā)相關(guān)的底層知識,并對Android源代碼進(jìn)行了剖析。

作者簡介

暫缺《Android底層開發(fā)技術(shù)實戰(zhàn)詳解:內(nèi)核、移植和驅(qū)動》作者簡介

圖書目錄

第1章 Android底層開發(fā)基礎(chǔ) 1
1.1  什么是驅(qū)動 1
1.1.1  驅(qū)動程序的魅力 1
1.1.2  電腦中的驅(qū)動 2
1.1.3  手機中的驅(qū)動程序 2
1.2  開源還是不開源的問題 3
1.2.1  霧里看花的開源 3
1.2.2  從為什么選擇Java談為什么不
開源驅(qū)動程序 3
1.2.3  對驅(qū)動開發(fā)者來說是一把雙刃劍 4
1.3  Android和Linux 4
1.3.1  Linux簡介 5
1.3.2  Android和Linux的關(guān)系 5
1.4  簡析Linux內(nèi)核 8
1.4.1  內(nèi)核的體系結(jié)構(gòu) 8
1.4.2  和Android密切相關(guān)的Linux
內(nèi)核知識 10
1.5  分析Linux內(nèi)核源代碼很有必要 14
1.5.1  源代碼目錄結(jié)構(gòu) 14
1.5.2  瀏覽源代碼的工具 16
1.5.3  為什么用匯編語言編寫內(nèi)核
代碼 17
1.5.4  Linux內(nèi)核的顯著特性 18
1.5.5  學(xué)習(xí)Linux內(nèi)核的方法 26
第2章 分析Android源代碼 31
2.1  搭建Linux開發(fā)環(huán)境和工具 31
2.1.1  搭建Linux開發(fā)環(huán)境 31
2.1.2  設(shè)置環(huán)境變量 32
2.1.3  安裝編譯工具 32
2.2  獲取Android源代碼 33
2.3  分析并編譯Android源代碼 35
2.3.1  Android源代碼的結(jié)構(gòu) 35
2.3.2  編譯Android源代碼 40
2.3.3  運行Android源代碼 42
2.3.4  實踐演練——演示編譯Android
程序的兩種方法 43
2.4  編譯Android Kernel 47
2.4.1  獲取Goldfish內(nèi)核代碼 47
2.4.2  獲取MSM內(nèi)核代碼 50
2.4.3  獲取OMAP內(nèi)核代碼 50
2.4.4  編譯Android的Linux內(nèi)核 50
2.5  運行模擬器 52
2.5.1  Linux環(huán)境下運行模擬器的方法 53
2.5.2  模擬器輔助工具——adb 54
第3章 驅(qū)動需要移植 57
3.1  驅(qū)動開發(fā)需要做的工作 57
3.2  Android移植 59
3.2.1  移植的任務(wù) 60
3.2.2  移植的內(nèi)容 60
3.2.3  驅(qū)動開發(fā)需要做的工作 61
3.3  Android對Linux的改造 61
3.3.1  Android對Linux內(nèi)核文件的
改動 62
3.3.2  為Android構(gòu)建 Linux的操作
系統(tǒng) 63
3.4  內(nèi)核空間和用戶空間接口是一
個媒介 64
3.4.1  內(nèi)核空間和用戶空間的相互
作用 64
3.4.2  系統(tǒng)和硬件之間的交互 64
3.4.3  使用Relay實現(xiàn)內(nèi)核到用戶空
間的數(shù)據(jù)傳輸 66
3.5  三類驅(qū)動程序 70
3.5.1  字符設(shè)備驅(qū)動程序 70
3.5.2  塊設(shè)備驅(qū)動程序 79
3.5.3  網(wǎng)絡(luò)設(shè)備驅(qū)動程序 82
第4章 HAL層深入分析 84
4.1  認(rèn)識HAL層 84
4.1.1  HAL層的發(fā)展 84
4.1.2  過去和現(xiàn)在的區(qū)別 86
4.2  分析HAL層源代碼 86
4.2.1  分析HAL moudle 86
4.2.2  分析mokoid工程 89
4.3  總結(jié)HAL層的使用方法 98
4.4  傳感器在HAL層的表現(xiàn) 101
4.4.1  HAL層的Sensor代碼 102
4.4.2  總結(jié)Sensor編程的流程 104
4.4.3  分析Sensor源代碼看Android
API 與硬件平臺的銜接 104
4.5  移植總結(jié) 116
4.5.1  移植各個Android部件的方式 116
4.5.2  移植技巧之一——不得不說的
輔助工作 117
第5章 Goldfish下的驅(qū)動解析 125
5.1  staging驅(qū)動 125
5.1.1  staging驅(qū)動概述 125
5.1.2  Binder驅(qū)動程序 126
5.1.3  Logger驅(qū)動程序 135
5.1.4  Lowmemorykiller組件 136
5.1.5  Timed Output驅(qū)動程序 137
5.1.6  Timed Gpio驅(qū)動程序 139
5.1.7  Ram Console驅(qū)動程序 139
5.2  wakelock和early_suspend 140
5.2.1  wakelock和early_suspend的
原理 140
5.2.2  Android休眠 141
5.2.3  Android喚醒 144
5.3  Ashmem驅(qū)動程序 145
5.4  Pmem驅(qū)動程序 148
5.5  Alarm驅(qū)動程序 149
5.5.1  Alarm簡析 149
5.5.2  Alarm驅(qū)動程序的實現(xiàn) 150
5.6  USB Gadget驅(qū)動程序 151
5.7  Android Paranoid驅(qū)動程序 153
5.8  Goldfish設(shè)備驅(qū)動 154
5.8.1  FrameBuffer驅(qū)動 155
5.8.2  鍵盤驅(qū)動 159
5.8.3  實時時鐘驅(qū)動程序 160
5.8.4  TTY終端驅(qū)動程序 161
5.8.5  NandFlash驅(qū)動程序 162
5.8.6  MMC驅(qū)動程序 162
5.8.7  電池驅(qū)動程序 162
第6章 MSM內(nèi)核和驅(qū)動解析 164
6.1  MSM基礎(chǔ) 164
6.1.1  常見MSM處理器產(chǎn)品 164
6.1.2  Snapdragon內(nèi)核介紹 165
6.2  移植MSM內(nèi)核簡介 166
6.3  移植MSM 168
6.3.1  Makefile文件 168
6.3.2  驅(qū)動和組件 170
6.3.3  設(shè)備驅(qū)動 172
6.3.4  高通特有的組件 174
第7章 OMAP內(nèi)核和驅(qū)動解析 177
7.1  OMAP基礎(chǔ) 177
7.1.1  OMAP簡析 177
7.1.2  常見OMAP處理器產(chǎn)品 177
7.1.3  開發(fā)平臺 178
7.2  OMAP內(nèi)核 178
7.3  移植OMAP體系結(jié)構(gòu) 180
7.3.1  移植OMAP平臺 180
7.3.2  移植OMAP處理器 183
7.4  移植Android專用驅(qū)動和組件 188
7.5  OMAP的設(shè)備驅(qū)動 190
第8章 顯示系統(tǒng)驅(qū)動應(yīng)用 195
8.1  顯示系統(tǒng)介紹 195
8.1.1  Android的版本 195
8.1.2  不同版本的顯示系統(tǒng) 195
8.2  移植和調(diào)試前的準(zhǔn)備 196
8.2.1  FrameBuffer驅(qū)動程序 196
8.2.2  硬件抽象層 198
8.3  實現(xiàn)顯示系統(tǒng)的驅(qū)動程序 210
8.3.1  Goldfish中的FrameBuffer驅(qū)動
程序 210
8.3.2  使用Gralloc模塊的驅(qū)動程序 214
8.4  MSM高通處理器中的顯示驅(qū)動
實現(xiàn) 224
8.4.1  MSM中的FrameBuffer驅(qū)動
程序 225
8.4.2  MSM中的Gralloc驅(qū)動程序 227
8.5  OMAP處理器中的顯示驅(qū)動實現(xiàn) 235
第9章 輸入系統(tǒng)驅(qū)動應(yīng)用 239
9.1  輸入系統(tǒng)介紹 239
9.1.1  Android輸入系統(tǒng)結(jié)構(gòu)元素
介紹 239
9.1.2  移植Android輸入系統(tǒng)時的
工作 240
9.2  Input(輸入)驅(qū)動 241
9.3  模擬器的輸入驅(qū)動 256
9.4  MSM高通處理器中的輸入驅(qū)動
實現(xiàn) 257
9.4.1  觸摸屏驅(qū)動 257
9.4.2  按鍵和軌跡球驅(qū)動 264
9.5  OMAP處理器平臺中的輸入驅(qū)
動實現(xiàn) 266
9.5.1  觸摸屏驅(qū)動 267
9.5.2  鍵盤驅(qū)動 267
第10章 振動器系統(tǒng)驅(qū)動 269
10.1  振動器系統(tǒng)結(jié)構(gòu) 269
10.1.1  硬件抽象層 271
10.1.2  JNI框架部分 272
10.2  開始移植 273
10.2.1  移植振動器驅(qū)動程序 273
10.2.2  實現(xiàn)硬件抽象層 274
10.3  在MSM平臺實現(xiàn)振動器驅(qū)動 275
第11章 音頻系統(tǒng)驅(qū)動 279
11.1  音頻系統(tǒng)結(jié)構(gòu) 279
11.2  分析音頻系統(tǒng)的層次 280
11.2.1  層次說明 280
11.2.2  Media庫中的Audio框架 281
11.2.3  本地代碼 284
11.2.4  JNI代碼 288
11.2.5  Java代碼 289
11.3  移植Audio系統(tǒng)的必備技術(shù) 289
11.3.1  移植Audio系統(tǒng)所要做的
工作 289
11.3.2  分析硬件抽象層 290
11.3.3  分析AudioFlinger中的Audio
硬件抽象層的實現(xiàn) 291
11.4  真正實現(xiàn)Audio硬件抽象層 298
11.5  MSM平臺實現(xiàn)Audio驅(qū)動系統(tǒng) 298
11.5.1  實現(xiàn)Audio驅(qū)動程序 298
11.5.2  實現(xiàn)硬件抽象層 299
11.6  OSS平臺實現(xiàn)Audio驅(qū)動系統(tǒng) 304
11.6.1  OSS驅(qū)動程序介紹 304
11.6.2  mixer 305
11.7  ALSA平臺實現(xiàn)Audio系統(tǒng) 312
11.7.1  注冊音頻設(shè)備和音頻驅(qū)動 312
11.7.2  在Android中使用ALSA
聲卡 313
11.7.3  在OMAP平臺移植Android
的ALSA聲卡驅(qū)動 322
第12章 視頻輸出系統(tǒng)驅(qū)動 326
12.1  視頻輸出系統(tǒng)結(jié)構(gòu) 326
12.2  需要移植的部分 328
12.3  分析硬件抽象層 328
12.3.1  Overlay系統(tǒng)硬件抽象層的
接口 328
12.3.2  實現(xiàn)Overlay系統(tǒng)的硬件抽
象層 331
12.3.3  實現(xiàn)接口 3

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號