Android底層驅動分析和移植

Android底層驅動分析和移植

《Android底層驅動分析和移植》是2015年清華大學出版社出版的圖書,作者是高金昌、張明星。

基本介紹

  • 中文名:Android底層驅動分析和移植
  • 作者:高金昌、張明星
  • 出版社:清華大學出版社
  • ISBN:9787302397458
內容簡介,圖書目錄,

內容簡介

本書內容分為 3篇,共 22章,循序漸進地講解了 Android底層系統中的典型驅動方面的知識。本書從獲取源碼和源碼結構分析講起,依次講解了基礎知識篇、Android專有驅動篇和典型驅動移植篇 3部分的基本知識。在講解每一個驅動時,從 Android系統的架構開始講起,從核心分析到具體的驅動實現,再從 JNI層架構分析到 Java套用層的接口運用,最後到典型驅動系統移植和開發,徹底剖析了每一個典型驅動系統的完整實現流程。本書幾乎涵蓋了所有 Android底層驅動的內容,講解方法通俗易懂,內容翔實,不但適合套用高手的學習,也特別有利於初學者學習和消化。
  本書適合作為 Android驅動開發者、Linux開發人員、Android底層學習人員、Android愛好者、Android源碼分析人員、Android套用開發人員的學習用書,也可以作為相關培訓學校和大專院校相關專業的教學用書。

圖書目錄

第 1篇 基礎知識篇
第 1章 Android底層開發基礎 ....................... 2
1.1 Android系統介紹 ...................................... 2
1.2 Android系統架構介紹 .............................. 2
1.3 獲取 Android源碼 ..................................... 5
1.5 編譯源碼 .................................................. 20
第 2章 Android驅動開發基礎 ..................... 28
2.1 驅動程式基礎 .......................................... 28
2.2 Linux開發基礎 ........................................ 30
2.3 Linux核心結構 ........................................ 35
2.4 分析 Linux核心源碼 ............................... 40
2.5 學習 Linux核心的方法 ........................... 50
2.6 Linux中的 3類驅動程式 ........................ 54
2.7 Android系統移植基礎 ............................ 65
2.8 核心空間和用戶空間之間的接口 .......... 67
2.9 編寫 JNI方法 .......................................... 72
第 3章主流核心系統解析............................ 76
3.1 Goldfish核心和驅動解析 ....................... 76
3.2 MSM核心和驅動架構 ............................ 85
第 2篇 Android專有驅動篇
第 4章分析硬體抽象層 ............................... 98
4.1 HAL基礎 ................................................. 98
4.2 分析 HAL module架構 ......................... 101
4.3 分析檔案 hardware.c .............................. 103
4.4 分析硬體抽象層的載入過程 ................ 106
4.5 分析硬體訪問服務 ................................ 109
4.6 分析 Mokoid實例 .................................. 111
4.7 HAL和系統移植 ................................... 120
4.8 開發自己的 HAL驅動程式 .................. 126
第 5章 Binder通信驅動詳解 ...................... 130
5.1分析 Binder驅動程式 ........................... 130
5.2 Binder封裝庫驅動 ................................ 153
5.3 初始化 Java層 Binder框架 .................. 160
5.4 實體對象 binder_node的驅動 .............. 163
5.5 本地對象 BBinder驅動 ......................... 167
5.6 引用對象 binder_ref驅動 ...................... 177
5.7 代理對象 BpBinder驅動 ....................... 180
第 6章 Logger驅動架構詳解 .................... 185
6.1 分析 Logger驅動程式 ........................... 185
6.2 日誌庫 Liblog驅動 ................................ 201
6.3 日誌寫入接口驅動 ................................ 206
第 7章 Ashmem驅動詳解......................... 217
7.1 分析 Ashmem驅動程式 ........................ 217
7.2 C++訪問接口層 ..................................... 231
7.3 實現 Java訪問的接口層 ....................... 243
7.4 實戰演練——讀取核心空間的數據 ..... 247
第 8章 搭建測試環境 ................................. 250
8.1 搭建 S3C6410開發環境 ....................... 250
8.2 其他開發環境介紹 ................................ 257
8.3 測試驅動的方法 .................................... 259
第 9章 低記憶體管理驅動 ............................. 266
9.1 OOM機制 .............................................. 266
9.2 Android系統的 Low Memory Killer 架構機制 ....... 273
9.3 Low Memory Killer驅動詳解 ............... 274
9.4 實戰演練——從記憶體池獲取對象 ......... 280
9.5 實戰演練——使用用戶程式讀取核心空間的數據 ....... 282
第 3篇 典型驅動移植篇
第 10章 電源管理驅動 .............................. 286
10.1 Power Management架構基礎 ............. 286
10.2 分析 Framework層 .............................. 287
10.3 JNI層架構分析 ................................... 309
10.4 Kernel(核心)層架構分析................ 311
10.5 wakelock和 early_suspend .................. 319
10.6 Battery電池系統架構和管理 .............. 323
10.7 JobScheduler節能調度機制 ................ 331
第 11章 PMEM記憶體驅動架構 ................... 339
11.1 PMEM初步 ......................................... 339
11.2 PMEM驅動架構.................................. 341
11.3 用戶空間接口 ...................................... 367
11.4 實戰演練——將 PMEM加入到核心中 ............ 370
11.5 實戰演練——將 PMEM加入到核心中 ............. 372
11.6 實戰演練—— PMEM在 Camera中的套用 ...... 373
11.7 實戰演練—— PMEM的移植與測試 ... 375
第 12章調試機制驅動 Ram Console ........ 378
12.1 Ram Console介紹 ................................ 378
12.2 實現 Ram Console................................ 378
第 13章 USB Gadget驅動 ........................ 389
13.1 分析 Linux核心的 USB驅動程式 ..... 389
13.2 USB Gadget驅動架構詳解 ................. 401
13.3 實戰演練—— USB驅動例程分析 ...... 437
13.4 實戰演練 .............................................. 450
第 14章 Time Device驅動 ........................ 453
14.1 Timed Output驅動架構 ....................... 453
實戰演練——實現設備的讀寫操作..........460
14.2 Timed Gpio驅動架構 .......................... 461
第 15章 警報器系統驅動 Alarm ................. 467
15.1 Alarm系統基礎 ................................... 467
15.2 RTC驅動程式架構 .............................. 468
15.3 Alarm驅動架構 ................................... 469
15.4 JNI層詳解 ........................................... 491
15.5 Java層詳解 .......................................... 493
15.6 模擬器環境的具體實現 ...................... 503
15.7 實戰演練 .............................................. 504
第 16章 振動器驅動架構和移植 ................ 512
16.1 振動器系統架構 .................................. 512
16.2 硬體抽象層架構 .................................. 513
16.3 JNI層架構 ........................................... 514
16.4 Java層架構 .......................................... 515
16.5 實戰演練——移植振動器系統 ........... 519
16.6 實戰演練——在 MSM平台實現振動器驅動 ........... 520
16.7 實戰演練——在 MTK平台實現振動器驅動 ............ 523
16.8 實戰演練——移植振動器驅動 ........... 526
第 17章 輸入系統驅動 ............................... 527
17.1 輸入系統架構分析 .............................. 527
17.2 移植輸入系統驅動的方法 .................. 528
17.3 Input(輸入)系統驅動詳解 .............. 529
17.4 硬體抽象層詳解 .................................. 551
17.5 實戰演練 .............................................. 561
第 18章 LCD顯示驅動.............................. 573
18.1 LCD系統介紹 ..................................... 573
18.2 FrameBuffer核心層詳解 ..................... 573
18.3 硬體抽象層詳解 .................................. 600
18.4 Goldfish中的 FrameBuffer驅動程式詳解 ........... 607
18.5 使用 Gralloc模組的驅動程式 ............ 610
18.6 MSM高通處理器中的顯示驅動 ........ 620
18.7 MSM中的 Gralloc驅動程式詳解 ...... 623
18.8 OMAP處理器中的顯示驅動實現 ...... 630
18.9 實戰演練 .............................................. 633
第 19章 音頻系統驅動 .............................. 664
19.1 音頻系統架構基礎 .............................. 664
19.2 音頻系統層次詳解 .............................. 668
19.3 移植 Audio系統 .................................. 672
19.4 實戰演練——在 MSM平台實現 Audio驅動 .......... 680
19.5 實戰演練——在 OSS平台實現 Audio驅動 ............. 684
19.6 實戰演練——在 ALSA平台實現 Audio系統 ........... 692
第 20章 Overlay系統驅動詳解 .................. 710
20.1 視頻輸出系統結構 .............................. 710
20.2 移植 Overlay系統 ............................... 711
20.3 硬體抽象層詳解 .................................. 711
20.4 實現 Overlay硬體抽象層 ................... 715
20.5 實戰演練——在 OMAP平台實現 Overlay系統 ......... 717
20.6 實戰演練——在系統層調用 Overlay HAL .................... 724
第 21章 照相機驅動 .................................. 729
21.1 Camera系統的結構 ............................. 729
21.2 移植 Camera系統 ................................ 737
21.3 實戰演練——在 MSM平台實現 Camera驅動 .......... 747
21.4 實戰演練——在 OMAP平台實現 Camera驅動 ......... 750
21.5 Android實現 S5PV210 FIMC 驅動 ............. 751
第 22章 藍牙系統驅動 .............................. 764
22.1 Android系統中的藍牙模組 ................ 764
22.3 低功耗藍牙協定棧詳解 ...................... 767
22.4 Android中的 BlueDroid ...................... 769
22.5 Android藍牙模組的運作流程 ............ 783

相關詞條

熱門詞條

聯絡我們