正文

目 錄(1)

Android系統(tǒng)級(jí)深入開(kāi)發(fā):移植與調(diào)試 作者:韓超


第1章  Android系統(tǒng)移植開(kāi)發(fā)概述 1

1.1  Android系統(tǒng)架構(gòu)和生態(tài)系統(tǒng) 1

1.1.1  Android軟件系統(tǒng) 1

1.1.2  Android的生態(tài)系統(tǒng) 3

1.2  Android移植的概念和方法 4

1.3  Android移植的主要工作 5

第2章  Android源代碼和開(kāi)發(fā)環(huán)境 8

2.1  開(kāi)發(fā)環(huán)境和工具 8

2.2  Android的代碼庫(kù) 9

2.3  Android系統(tǒng)代碼和編譯 9

2.3.1  獲取Android源代碼 9

2.3.2  Android源代碼結(jié)構(gòu) 12

2.3.3  編譯Android系統(tǒng)源代碼 13

2.3.4  編譯Android結(jié)果 13

2.4  Android Kernel代碼和編譯 14

2.4.1  Goldfish內(nèi)核源代碼 15

2.4.2  MSM內(nèi)核源代碼 15

2.4.3  Omap內(nèi)核源代碼 16

2.5  仿真器的運(yùn)行環(huán)境 16

2.5.1  仿真器的運(yùn)行 16

2.5.2  使用附加工具 18

第3章  Android系統(tǒng)移植的結(jié)構(gòu)和方法 20

3.1  Android的Linux操作系統(tǒng) 20

3.1.1  標(biāo)準(zhǔn)的Linux操作系統(tǒng) 20

3.1.2  Android對(duì)Linux 內(nèi)核的使用 22

3.1.3  Linux內(nèi)核空間到用戶空間的接口 24

3.1.4  平臺(tái)數(shù)據(jù)和平臺(tái)驅(qū)動(dòng) 34

3.2  Android的硬件抽象層 35

3.2.1  硬件抽象層的地位和功能 35

3.2.2  硬件抽象層接口方式 36

3.3  Android中各個(gè)部件的移植方式 41

3.4  輔助性工作和基本調(diào)試方法 41

3.4.1  移植的輔助性工作 42

3.4.2  調(diào)試的方法 46

第4章  Android的GoldFish內(nèi)核和驅(qū)動(dòng) 56

4.1  GoldFish內(nèi)核概述 56

4.2  GoldFish體系結(jié)構(gòu)移植 58

4.3  GoldFish的Android專用驅(qū)動(dòng)和組件 59

4.3.1  wakelock和earlysuspend 59

4.3.2  staging中的驅(qū)動(dòng)程序 61

4.3.3  Ashmem驅(qū)動(dòng)程序 66

4.3.4  Alarm驅(qū)動(dòng)程序 67

4.3.5  pmem驅(qū)動(dòng)程序 67

4.3.6  ADB Garget驅(qū)動(dòng)程序 68

4.3.7  Android Paranoid網(wǎng)絡(luò) 68

4.4  GoldFish的相關(guān)設(shè)備驅(qū)動(dòng) 70

4.4.1  Framebuffer的驅(qū)動(dòng)程序 70

4.4.2  鍵盤(pán)的驅(qū)動(dòng)程序 70

4.4.3  實(shí)時(shí)時(shí)鐘的驅(qū)動(dòng)程序 71

4.4.4  TTY終端的驅(qū)動(dòng)程序 71

4.4.5  NandFlash的驅(qū)動(dòng)程序 72

4.4.6  MMC的驅(qū)動(dòng)程序 72

4.4.7  電池的驅(qū)動(dòng)程序 73

4.4.8  EAC音頻的驅(qū)動(dòng)程序 73

第5章  Android的MSM內(nèi)核和驅(qū)動(dòng) 74

5.1  MSM處理器概述 74

5.1.1  MSM概述 74

5.1.2  MSM適用于Android的Linux內(nèi)核的結(jié)構(gòu) 77

5.2  MSM體系結(jié)構(gòu)的移植 79

5.3  MSM的Android專用驅(qū)動(dòng)和組件 80

5.4  MSM的mahimahip平臺(tái)的主要設(shè)備驅(qū)動(dòng) 81

5.4.1  顯示的驅(qū)動(dòng)程序 81

5.4.2  觸摸屏的驅(qū)動(dòng)程序 82

5.4.3  按鍵和軌跡球的驅(qū)動(dòng)程序 82

5.4.4  實(shí)時(shí)時(shí)鐘的驅(qū)動(dòng)程序 83

5.4.5  攝像頭的驅(qū)動(dòng)程序 83

5.4.6  無(wú)線局域網(wǎng)的驅(qū)動(dòng)程序 83

5.4.7  藍(lán)牙的驅(qū)動(dòng)程序 84

5.4.8  DSP相關(guān)的驅(qū)動(dòng)程序 84

5.4.9  高通特有的組件相關(guān)內(nèi)容 85

第6章  Android的OMAP內(nèi)核和驅(qū)動(dòng) 87

6.1  OMAP內(nèi)核概述 87

6.1.1  OMAP概述 87

6.1.2  OMAP適用于Android的Linux內(nèi)核的結(jié)構(gòu) 91

6.2  OMAP體系結(jié)構(gòu)的移植 92

6.2.1  OMAP平臺(tái)部分的移植 92

6.2.2  OMAP處理器部分的移植 94

6.3  OMAP的Android專用驅(qū)動(dòng)和組件 96

6.4  OMAP的主要設(shè)備驅(qū)動(dòng) 97

6.4.1  顯示的驅(qū)動(dòng)程序 97

6.4.2  攝像頭和視頻輸出的驅(qū)動(dòng)程序 98

6.4.3  i2c總線驅(qū)動(dòng)程序 98

6.4.4  鍵盤(pán)的驅(qū)動(dòng)程序 99

6.4.5  觸摸屏的驅(qū)動(dòng)程序 99

6.4.6  實(shí)時(shí)時(shí)鐘的驅(qū)動(dòng)程序 99

6.4.7  音頻的驅(qū)動(dòng)程序 99

6.4.8  藍(lán)牙的驅(qū)動(dòng)程序 100

6.4.9  以太網(wǎng)的驅(qū)動(dòng)程序 100

6.4.10  DSP的驅(qū)動(dòng)程序 100

第7章  顯示系統(tǒng) 101

7.1  顯示系統(tǒng)結(jié)構(gòu)和移植內(nèi)容 101

7.1.1  Donut及其之前顯示系統(tǒng)的結(jié)構(gòu) 102

7.1.2  Eclair及其之后顯示系統(tǒng)的結(jié)構(gòu) 102

7.1.3  移植的內(nèi)容 103

7.2  移植和調(diào)試的要點(diǎn) 104

7.2.1  Framebuffer驅(qū)動(dòng)程序 104

7.2.2  Donut及其之前的硬件抽象層 106

7.2.3  Eclair及其之后的硬件抽象層 107

7.3  顯示部分模擬器的實(shí)現(xiàn)方式 112

7.3.1  Goldfish的framebuffer驅(qū)動(dòng)程序 112

7.3.2  默認(rèn)的Gralloc模塊的實(shí)現(xiàn) 113

7.4  MSM中的實(shí)現(xiàn) 119

7.4.1  MSM的framebuffer驅(qū)動(dòng)程序 119

7.4.2  MSM的Gralloc模塊的實(shí)現(xiàn) 120

7.5  OMAP中的實(shí)現(xiàn) 126

7.5.1  OMAP的framebuffer驅(qū)動(dòng)程序 126

7.5.2  OMAP的用戶空間的實(shí)現(xiàn) 128

第8章  用戶輸入系統(tǒng) 129

8.1  用戶輸入系統(tǒng)結(jié)構(gòu)和移植內(nèi)容 129

8.1.1  用戶輸入系統(tǒng)的結(jié)構(gòu) 129

8.1.2  移植的內(nèi)容 131

8.2  移植的要點(diǎn) 131

8.2.1  input驅(qū)動(dòng)程序 131

8.2.2  用戶空間的處理 134

8.2.3  移植需要注意的情況 139

8.3  模擬器中的實(shí)現(xiàn) 141

8.3.1  驅(qū)動(dòng)程序 141

8.3.2  用戶空間的配置文件 141

8.4  MSM中的實(shí)現(xiàn) 142

8.4.1  觸摸屏,軌跡球和按鍵驅(qū)動(dòng)程序 142

8.4.2  用戶空間的配置文件 144

8.5  OMAP中的實(shí)現(xiàn) 144

8.5.1  觸摸屏和鍵盤(pán)的驅(qū)動(dòng)程序 144

8.5.2  用戶空間的配置文件 146

8.6  虛擬按鍵的實(shí)現(xiàn) 146

第9章  傳感器系統(tǒng) 148

9.1  傳感器系統(tǒng)結(jié)構(gòu)和移植內(nèi)容 148

9.1.1  傳感器系統(tǒng)的結(jié)構(gòu) 148

9.1.2  移植的內(nèi)容 150

9.2  移植和調(diào)試的要點(diǎn) 150

9.2.1  驅(qū)動(dòng)程序 150

9.2.2  硬件抽象層的內(nèi)容 151

9.2.3  上層的情況和注意事項(xiàng) 153

9.3  模擬器中的實(shí)現(xiàn) 157

第10章  音頻系統(tǒng) 162

10.1  音頻系統(tǒng)結(jié)構(gòu)和移植內(nèi)容 162

10.1.1  音頻系統(tǒng)的結(jié)構(gòu) 162

10.1.2  移植的內(nèi)容 164

10.2  移植和調(diào)試的要點(diǎn) 164

10.2.1  Audio驅(qū)動(dòng)程序 164

10.2.2  硬件抽象層的內(nèi)容 164

10.2.3  Audio策略管理的內(nèi)容 168

10.2.4  上層的情況和注意事項(xiàng) 169

10.3  通用的Audio系統(tǒng)實(shí)現(xiàn) 170

10.3.1  用樁實(shí)現(xiàn)的Audio硬件抽象層 172

10.3.2  提供Dump功能的Audio硬件抽象層 174

10.3.3  通用的Audio硬件抽象層 177

10.4  MSM系統(tǒng)的實(shí)現(xiàn) 178

10.4.1  Audio驅(qū)動(dòng)程序 178

10.4.2  Audio硬件抽象層 180

10.5  基于OSS和ALSA的實(shí)現(xiàn)方式 183

10.5.1  OSS驅(qū)動(dòng)程序 183

10.5.2  基于OSS的硬件抽象層 184

10.5.3  ALSA驅(qū)動(dòng)程序 185

10.5.4  基于ALSA的硬件抽象層 186

第11章  視頻輸出系統(tǒng) 190

11.1  視頻輸出系統(tǒng)結(jié)構(gòu)和移植內(nèi)容 190

11.1.1  視頻輸出系統(tǒng)的結(jié)構(gòu) 191

11.1.2  移植的內(nèi)容 192

11.2  移植和調(diào)試的要點(diǎn) 192

11.2.1  驅(qū)動(dòng)程序 192

11.2.2  硬件抽象層的內(nèi)容 192

11.2.3  上層的情況和注意實(shí)現(xiàn) 195

11.3  Overlay硬件抽象層實(shí)現(xiàn)的框架 199

11.4  OMAP系統(tǒng)的實(shí)現(xiàn) 200

11.4.1  OMAP的視頻輸出部分的驅(qū)動(dòng)程序 200

11.4.2  OMAP Overlay 硬件抽象層 202


上一章目錄下一章

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