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

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

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

定 價(jià):¥69.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

第1章 Android底層開發(fā)基礎(chǔ) 1
1.1  什么是驅(qū)動(dòng) 1
1.1.1  驅(qū)動(dòng)程序的魅力 1
1.1.2  電腦中的驅(qū)動(dòng) 2
1.1.3  手機(jī)中的驅(qū)動(dòng)程序 2
1.2  開源還是不開源的問(wèn)題 3
1.2.1  霧里看花的開源 3
1.2.2  從為什么選擇Java談為什么不
開源驅(qū)動(dòng)程序 3
1.2.3  對(duì)驅(qū)動(dòng)開發(fā)者來(lái)說(shuō)是一把雙刃劍 4
1.3  Android和Linux 4
1.3.1  Linux簡(jiǎn)介 5
1.3.2  Android和Linux的關(guān)系 5
1.4  簡(jiǎn)析Linux內(nèi)核 8
1.4.1  內(nèi)核的體系結(jié)構(gòu) 8
1.4.2  和Android密切相關(guān)的Linux
內(nèi)核知識(shí) 10
1.5  分析Linux內(nèi)核源代碼很有必要 14
1.5.1  源代碼目錄結(jié)構(gòu) 14
1.5.2  瀏覽源代碼的工具 16
1.5.3  為什么用匯編語(yǔ)言編寫內(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  運(yùn)行Android源代碼 42
2.3.4  實(shí)踐演練——演示編譯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  運(yùn)行模擬器 52
2.5.1  Linux環(huán)境下運(yùn)行模擬器的方法 53
2.5.2  模擬器輔助工具——adb 54
第3章 驅(qū)動(dòng)需要移植 57
3.1  驅(qū)動(dòng)開發(fā)需要做的工作 57
3.2  Android移植 59
3.2.1  移植的任務(wù) 60
3.2.2  移植的內(nèi)容 60
3.2.3  驅(qū)動(dòng)開發(fā)需要做的工作 61
3.3  Android對(duì)Linux的改造 61
3.3.1  Android對(duì)Linux內(nèi)核文件的
改動(dòng) 62
3.3.2  為Android構(gòu)建 Linux的操作
系統(tǒng) 63
3.4  內(nèi)核空間和用戶空間接口是一
個(gè)媒介 64
3.4.1  內(nèi)核空間和用戶空間的相互
作用 64
3.4.2  系統(tǒng)和硬件之間的交互 64
3.4.3  使用Relay實(shí)現(xiàn)內(nèi)核到用戶空
間的數(shù)據(jù)傳輸 66
3.5  三類驅(qū)動(dòng)程序 70
3.5.1  字符設(shè)備驅(qū)動(dòng)程序 70
3.5.2  塊設(shè)備驅(qū)動(dòng)程序 79
3.5.3  網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序 82
第4章 HAL層深入分析 84
4.1  認(rèn)識(shí)HAL層 84
4.1.1  HAL層的發(fā)展 84
4.1.2  過(guò)去和現(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 與硬件平臺(tái)的銜接 104
4.5  移植總結(jié) 116
4.5.1  移植各個(gè)Android部件的方式 116
4.5.2  移植技巧之一——不得不說(shuō)的
輔助工作 117
第5章 Goldfish下的驅(qū)動(dòng)解析 125
5.1  staging驅(qū)動(dòng) 125
5.1.1  staging驅(qū)動(dòng)概述 125
5.1.2  Binder驅(qū)動(dòng)程序 126
5.1.3  Logger驅(qū)動(dòng)程序 135
5.1.4  Lowmemorykiller組件 136
5.1.5  Timed Output驅(qū)動(dòng)程序 137
5.1.6  Timed Gpio驅(qū)動(dòng)程序 139
5.1.7  Ram Console驅(qū)動(dòng)程序 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ū)動(dòng)程序 145
5.4  Pmem驅(qū)動(dòng)程序 148
5.5  Alarm驅(qū)動(dòng)程序 149
5.5.1  Alarm簡(jiǎn)析 149
5.5.2  Alarm驅(qū)動(dòng)程序的實(shí)現(xiàn) 150
5.6  USB Gadget驅(qū)動(dòng)程序 151
5.7  Android Paranoid驅(qū)動(dòng)程序 153
5.8  Goldfish設(shè)備驅(qū)動(dòng) 154
5.8.1  FrameBuffer驅(qū)動(dòng) 155
5.8.2  鍵盤驅(qū)動(dòng) 159
5.8.3  實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)程序 160
5.8.4  TTY終端驅(qū)動(dòng)程序 161
5.8.5  NandFlash驅(qū)動(dòng)程序 162
5.8.6  MMC驅(qū)動(dòng)程序 162
5.8.7  電池驅(qū)動(dòng)程序 162
第6章 MSM內(nèi)核和驅(qū)動(dòng)解析 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)核簡(jiǎn)介 166
6.3  移植MSM 168
6.3.1  Makefile文件 168
6.3.2  驅(qū)動(dòng)和組件 170
6.3.3  設(shè)備驅(qū)動(dòng) 172
6.3.4  高通特有的組件 174
第7章 OMAP內(nèi)核和驅(qū)動(dòng)解析 177
7.1  OMAP基礎(chǔ) 177
7.1.1  OMAP簡(jiǎn)析 177
7.1.2  常見OMAP處理器產(chǎn)品 177
7.1.3  開發(fā)平臺(tái) 178
7.2  OMAP內(nèi)核 178
7.3  移植OMAP體系結(jié)構(gòu) 180
7.3.1  移植OMAP平臺(tái) 180
7.3.2  移植OMAP處理器 183
7.4  移植Android專用驅(qū)動(dòng)和組件 188
7.5  OMAP的設(shè)備驅(qū)動(dòng) 190
第8章 顯示系統(tǒng)驅(qū)動(dòng)應(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ū)動(dòng)程序 196
8.2.2  硬件抽象層 198
8.3  實(shí)現(xiàn)顯示系統(tǒng)的驅(qū)動(dòng)程序 210
8.3.1  Goldfish中的FrameBuffer驅(qū)動(dòng)
程序 210
8.3.2  使用Gralloc模塊的驅(qū)動(dòng)程序 214
8.4  MSM高通處理器中的顯示驅(qū)動(dòng)
實(shí)現(xiàn) 224
8.4.1  MSM中的FrameBuffer驅(qū)動(dòng)
程序 225
8.4.2  MSM中的Gralloc驅(qū)動(dòng)程序 227
8.5  OMAP處理器中的顯示驅(qū)動(dòng)實(shí)現(xiàn) 235
第9章 輸入系統(tǒng)驅(qū)動(dòng)應(yīng)用 239
9.1  輸入系統(tǒng)介紹 239
9.1.1  Android輸入系統(tǒng)結(jié)構(gòu)元素
介紹 239
9.1.2  移植Android輸入系統(tǒng)時(shí)的
工作 240
9.2  Input(輸入)驅(qū)動(dòng) 241
9.3  模擬器的輸入驅(qū)動(dòng) 256
9.4  MSM高通處理器中的輸入驅(qū)動(dòng)
實(shí)現(xiàn) 257
9.4.1  觸摸屏驅(qū)動(dòng) 257
9.4.2  按鍵和軌跡球驅(qū)動(dòng) 264
9.5  OMAP處理器平臺(tái)中的輸入驅(qū)
動(dòng)實(shí)現(xiàn) 266
9.5.1  觸摸屏驅(qū)動(dòng) 267
9.5.2  鍵盤驅(qū)動(dòng) 267
第10章 振動(dòng)器系統(tǒng)驅(qū)動(dòng) 269
10.1  振動(dòng)器系統(tǒng)結(jié)構(gòu) 269
10.1.1  硬件抽象層 271
10.1.2  JNI框架部分 272
10.2  開始移植 273
10.2.1  移植振動(dòng)器驅(qū)動(dòng)程序 273
10.2.2  實(shí)現(xiàn)硬件抽象層 274
10.3  在MSM平臺(tái)實(shí)現(xiàn)振動(dòng)器驅(qū)動(dòng) 275
第11章 音頻系統(tǒng)驅(qū)動(dòng) 279
11.1  音頻系統(tǒng)結(jié)構(gòu) 279
11.2  分析音頻系統(tǒng)的層次 280
11.2.1  層次說(shuō)明 280
11.2.2  Media庫(kù)中的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
硬件抽象層的實(shí)現(xiàn) 291
11.4  真正實(shí)現(xiàn)Audio硬件抽象層 298
11.5  MSM平臺(tái)實(shí)現(xiàn)Audio驅(qū)動(dòng)系統(tǒng) 298
11.5.1  實(shí)現(xiàn)Audio驅(qū)動(dòng)程序 298
11.5.2  實(shí)現(xiàn)硬件抽象層 299
11.6  OSS平臺(tái)實(shí)現(xiàn)Audio驅(qū)動(dòng)系統(tǒng) 304
11.6.1  OSS驅(qū)動(dòng)程序介紹 304
11.6.2  mixer 305
11.7  ALSA平臺(tái)實(shí)現(xiàn)Audio系統(tǒng) 312
11.7.1  注冊(cè)音頻設(shè)備和音頻驅(qū)動(dòng) 312
11.7.2  在Android中使用ALSA
聲卡 313
11.7.3  在OMAP平臺(tái)移植Android
的ALSA聲卡驅(qū)動(dòng) 322
第12章 視頻輸出系統(tǒng)驅(qū)動(dòng) 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  實(shí)現(xiàn)Overlay系統(tǒng)的硬件抽
象層 331
12.3.3  實(shí)現(xiàn)接口 3

本目錄推薦

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