Android底層開發技術實戰詳解——核心、移植和驅動

來源:互聯網
上載者:User

《Android底層開發技術實戰詳解——核心、移植和驅動》
基本資料
作者: 王振麗
叢書名: Android移動開發技術叢書
出版社:電子工業出版社
ISBN:9787121175930
上架時間:2012-8-13
出版日期:2012 年8月
開本:16開
頁碼:540
版次:1-1
所屬分類: 電腦 > 軟體與程式設計 > 移動開發 > Android

 
 

更多關於 》》》《Android底層開發技術實戰詳解——核心、移植和驅動》
內容簡介
書籍
電腦書籍
  《android底層開發技術實戰詳解——核心、移植和驅動》從底層原理開始講起,結合真實的案例向讀者詳細介紹了android核心、移植和驅動開發的整個流程。全書分為19章,依次講解驅動移植的必要性,何為hal層深入分析,goldfish、msm、map核心和驅動解析,顯示系統、輸入系統、震動器系統、音頻系統、視頻輸出系統的驅動,openmax多媒體、多媒體外掛程式架構,感應器、照相機、wi-fi、藍芽、gps和電話系統等。在每一章中,重點介紹了與android驅動開發相關的底層知識,並對android源碼進行了剖析。
  《android底層開發技術實戰詳解——核心、移植和驅動》適合android研發人員及android愛好者學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。
目錄
《android底層開發技術實戰詳解——核心、移植和驅動》
第1章 android底層開發基礎 1
1.1 什麼是驅動 1
1.1.1 驅動程式的魅力 1
1.1.2 電腦中的驅動 2
1.1.3 手機中的驅動程式 2
1.2 開源還是不開源的問題 3
1.2.1 霧裡看花的開源 3
1.2.2 從為什麼選擇java談為什麼不開源驅動程式 3
1.2.3 對驅動開發人員來說是一把雙刃劍 4
1.3 android和linux 4
1.3.1 linux簡介 5
1.3.2 android和linux的關係 5
1.4 簡析linux核心 8
1.4.1 核心的體繫結構 8
1.4.2 和android密切相關的linux核心知識 10
1.5 分析linux核心原始碼很有必要 14
1.5.1 原始碼目錄結構 14
1.5.2 瀏覽原始碼的工具 16
1.5.3 為什麼用組合語言編寫核心代碼 17
1.5.4 linux核心的顯著特性 18
1.5.5 學習linux核心的方法 26
第2章 分析android原始碼 31
2.1 搭建linux開發環境和工具 31
2.1.1 搭建linux開發環境 31
2.1.2 設定環境變數 32
2.1.3 安裝編譯工具 32
2.2 擷取android原始碼 33
2.3 分析並編譯android原始碼 35
2.3.1 android原始碼的結構 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核心代碼 47
2.4.2 擷取msm核心代碼 50
2.4.3 擷取omap核心代碼 50
2.4.4 編譯android的linux核心 50
2.5 運行模擬器 52
2.5.1 linux環境下運行模擬器的方法 53
2.5.2 模擬器協助工具輔助——adb 54
第3章 驅動需要移植 57
3.1 驅動開發需要做的工作 57
3.2 android移植 59
3.2.1 移植的任務 60
3.2.2 移植的內容 60
3.2.3 驅動開發的任務 61
3.3 android對linux的改造 61
3.3.1 android對linux核心檔案的改動 62
3.3.2 為android構建 linux的作業系統 63
3.4 核心空間和使用者空間介面是一個媒介 64
3.4.1 核心空間和使用者空間的相互作用 64
3.4.2 系統和硬體之間的互動 64
3.4.3 使用relay實現核心到使用者空間的資料轉送 66
3.5 三類驅動程式 70
3.5.1 字元裝置驅動程式 70
3.5.2 塊裝置驅動程式 79
3.5.3 網路裝置驅動程式 82
第4章 hal層深入分析 84
4.1 認識hal層 84
4.1.1 hal層的發展 84
4.1.2 過去和現在的區別 86
4.2 分析hal層原始碼 86
4.2.1 分析hal moudle 86
4.2.2 分析mokoid工程 89
4.3 總結hal層的使用方法 98
4.4 感應器在hal層的表現 101
4.4.1 hal層的sensor代碼 102
4.4.2 總結sensor編程的流程 104
4.4.3 分析sensor原始碼看android api 與硬體平台的銜接 104
4.5 移植總結 116
4.5.1 移植各個android組件的方式 116
4.5.2 移植技巧之一——不得不說的輔助工作 117
第5章 goldfish下的驅動解析 125
5.1 staging驅動 125
5.1.1 staging驅動概述 125
5.1.2 binder驅動程式 126
5.1.3 logger驅動程式 135
5.1.4 lowmemorykiller組件 136
5.1.5 timed output驅動程式 137
5.1.6 timed gpio驅動程式 139
5.1.7 ram console驅動程式 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驅動程式 145
5.4 pmem驅動程式 148
5.5 alarm驅動程式 149
5.5.1 alarm簡析 149
5.5.2 alarm驅動程式的實現 150
5.6 usb gadget驅動程式 151
5.7 android paranoid驅動程式 153
5.8 goldfish裝置驅動 154
5.8.1 framebuffer驅動 155
5.8.2 鍵盤驅動 159
5.8.3 系統時鐘驅動程式 160
5.8.4 tty終端驅動程式 161
5.8.5 nandflash驅動程式 162
5.8.6 mmc驅動程式 162
5.8.7 電池驅動程式 162
第6章 msm核心和驅動解析 164
6.1 msm基礎 164
6.1.1 常見msm處理器產品 164
6.1.2 snapdragon核心介紹 165
6.2 移植msm核心簡介 166
6.3 移植msm 168
6.3.1 makefile檔案 168
6.3.2 驅動和組件 170
6.3.3 裝置驅動 172
6.3.4 高通特有的組件 174
第7章 omap核心和驅動解析 177
7.1 omap基礎 177
7.1.1 omap簡析 177
7.1.2 常見omap處理器產品 177
7.1.3 開發平台 178
7.2 omap核心 178
7.3 移植omap體繫結構 180
7.3.1 移植omap平台 180
7.3.2 移植omap處理器 183
7.4 移植android專用驅動和組件 188
7.5 omap的裝置驅動 190
第8章 顯示系統驅動應用 195
8.1 顯示系統介紹 195
8.1.1 android的版本 195
8.1.2 不同版本的顯示系統 195
8.2 移植和調試前的準備 196
8.2.1 framebuffer驅動程式 196
8.2.2 硬體抽象層 198
8.3 實現顯示系統的驅動程式 210
8.3.1 goldfish中的framebuffer驅動程式 210
8.3.2 使用gralloc模組的驅動程式 214
8.4 msm高通處理器中的顯示驅動實現 224
8.4.1 msm中的framebuffer驅動程式 225
8.4.2 msm中的gralloc驅動程式 227
8.5 omap處理器中的顯示驅動實現 235
第9章 輸入系統驅動應用 239
9.1 輸入系統介紹 239
9.1.1 android輸入系統結構元素介紹 239
9.1.2 移植android輸入系統時的工作 240
9.2 input(輸入)驅動 241
9.3 模擬器的輸入驅動 256
9.4 msm高通處理器中的輸入驅動實現 257
9.4.1 觸控螢幕驅動 257
9.4.2 按鍵和軌跡球驅動 264
9.5 omap處理器平台中的輸入驅動實現 266
9.5.1 觸控螢幕驅動 267
9.5.2 鍵盤驅動 267
第10章 震動器系統驅動 269
10.1 震動器系統結構 269
10.1.1 硬體抽象層 271
10.1.2 jni架構部分 272
10.2 開始移植 273
10.2.1 移植震動器驅動程式 273
10.2.2 實現硬體抽象層 274
10.3 在msm平台實現震動器驅動 275
第11章 音頻系統驅動 279
11.1 音頻系統結構 279
11.2 分析音頻系統的層次 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系統的必備技術 289
11.3.1 移植audio系統所要做的工作 289
11.3.2 分析硬體抽象層 290
11.3.3 分析audioflinger中的audio硬體抽象層的實現 291
11.4 真正實現audio硬體抽象層 298
11.5 msm平台實現audio驅動系統 298
11.5.1 實現audio驅動程式 298
11.5.2 實現硬體抽象層 299
11.6 oss平台實現audio驅動系統 304
11.6.1 oss驅動程式介紹 304
11.6.2 mixer 305
11.7 alsa平台實現audio系統 312
11.7.1 註冊音訊裝置和音頻驅動 312
11.7.2 在android中使用alsa音效卡 313
11.7.3 在omap平台移植android的alsa音效卡驅動 322
第12章 視頻輸出系統驅動 326
12.1 視頻輸出系統結構 326
12.2 需要移植的部分 328
12.3 分析硬體抽象層 328
12.3.1 overlay系統硬體抽象層的介面 328
12.3.2 實現overlay系統的硬體抽象層 331
12.3.3 實現介面 332
12.4 實現overlay硬體抽象層 333
12.5 在omap平台實現overlay系統 335
12.5.1 實現輸出視頻驅動程式 335
12.5.2 實現overlay硬體抽象層 337
12.6 系統層調用overlay hal的架構 342
12.6.1 調用overlay hal的架構的流程 342
12.6.2 s3c6410 android overlay的測試代碼 346
第13章 openmax多媒體架構 349
13.1 openmax基本階層 349
13.2 分析openmax架構構成 350
13.2.1 openmax總體階層 350
13.2.2 openmax il層的結構 351
13.2.3 android中的openmax 354
13.3 實現openmax il層介面 354
13.3.1 openmax il層的介面 354
13.3.2 在openmax il層中需要做什麼 361
13.3.3 研究android中的openmax適配層 361
13.4 在omap平台實現openmax il 363
13.4.1 實現檔案 364
13.4.2 分析ti openmax il的核心 365
13.4.3 實現ti openmax il組件執行個體 368
第14章 多媒體外掛程式架構 373
14.1 android多媒體外掛程式 373
14.2 需要移植的內容 374
14.3 opencore引擎 375
14.3.1 opencore階層 375
14.3.2 opencore代碼結構 376
14.3.3 opencore編譯結構 377
14.3.4 opencore oscl 381
14.3.5 實現opencore中的openmax部分 383
14.3.6 opencore的擴充 398
14.4 stagefright引擎 404
14.4.1 stagefright代碼結構 404
14.4.2 stagefright實現openmax介面 405
14.4.3 video buffer傳輸串流程 409
第15章 感應器系統 415
15.1 感應器系統的結構 415
15.2 需要移植的內容 417
15.2.1 移植驅動程式 417
15.2.2 移植硬體抽象層 418
15.2.3 實現上層部分 419
15.3 在模擬器中實現感應器 424
第16章 照相機系統 430
16.1 camera系統的結構 430
16.2 需要移植的內容 433
16.3 移植和調試 433
16.3.1 v4l2驅動程式 433
16.3.2 硬體抽象層 441
16.4 實現camera系統的硬體抽象層 446
16.4.1 java程式部分 446
16.4.2 camera的java本地調用部分 447
16.4.3 camera的本地庫libui.so 448
16.4.4 camera服務libcameraservice.so449
16.5 msm平台實現camera系統 454
16.6 omap平台實現camera系統 457
第17章 wi-fi系統、藍芽系統和gps系統 459
17.1 wi-fi系統 459
17.1.1 wi-fi系統的結構 459
17.1.2 需要移植的內容 461
17.1.3 移植和調試 461
17.1.4 omap平台實現wi-fi 469
17.1.5 配置wi-fi的流程 471
17.1.6 具體演練——在android下實現ethernet 473
17.2 藍芽系統 475
17.2.1 藍芽系統的結構 475
17.2.2 需要移植的內容 477
17.2.3 具體移植 478
17.2.4 msm平台的藍牙堆疊 480
17.3 定位系統 482
17.3.1 定位系統的結構 483
17.3.2 需要移植的內容 484
17.3.3 移植和調試 484
第18章 電話系統 498
18.1 電話系統基礎 498
18.1.1 電話系統簡介 498
18.1.2 電話系統結構 500
18.2 需要移植的內容 501
18.3 移植和調試 502
18.3.1 驅動程式 502
18.3.2 ril介面 504
18.4 電話系統實現流程分析 507
18.4.1 初始啟動流程 507
18.4.2 request流程 509
18.4.3 response流程 512
第19章 其他系統 514
19.1 alarm警報器系統 514
19.1.1 alarm系統的結構 514
19.1.2 需要移植的內容 515
19.1.3 移植和調試 516
19.1.4 模擬器環境的具體實現 518
19.1.5 msm平台實現alarm 518
19.2 lights光系統 519
19.2.1 lights光系統的結構 520
19.2.2 需要移植的內容 521
19.2.3 移植和調試 521
19.2.4 msm平台實現光系統 523
19.3 battery電池系統 524
19.3.1 battery系統的結構 524
19.3.2 需要移植的內容 526
19.3.3 移植和調試 526
19.3.4 在模擬器中實現電池系統 529

本圖書資訊來源於:中國互動出版網

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.