Android 
 19  HAL GoldfishMSMMAP 
OpenMax 
Wi-FiGPS  Android
 Android  
 Android  Android 
 
Android /  .  2012.8 
Android  
ISBN 978-7-121-17593-0 
 
.  A  .    .    .  TN929.53 
 
 CIP 2012 157997  
 
 
 
 
 
 
 
 
 
 
  
  
          
          
          
 
         7871092 
         2012  8  1  
        3500           69.00  
 
 173           100036 
1/16                              33.75                864  
01088254888 
 zlts@phei.com.cn dbqq@phei.com.cn 
01088258888 
 
  
 3G 
 Google
 OHA 2007  11  Android 
 SDKAndroid 
 2008  9  Android 
 G1  LG  Android 
 2011 Android  iOS 
  Android  5  Android 
 Android  Android 
 Android 
 Android 
 Android  
Android  Web 
 Google  Map 
 HTML  5 Android 
Android   JavaCC++ RubyPython
 Google  Android  Simple  Android 
 
 Android 
 19  
 
 1  
 2  
 3  
 4  
 5  
 6  
 7  
 8  
 9  
 10  
 
 Linux  
 Linux  Android  Linux  
Android  
 HAL HAL  
Goldfish  stagingAshmenPmemAlarm  Android Paranoid  
MSM  MSM  
OMAP  
 
MSM  OMAP  
 
 
 
 
 
 11  
 12  
 13  
 14  
 15  
 16  
 17  
 18  
 19  
 
 
 Overlay  
OpenMax  
OpenCore  Stagefright  
 
 
Wi-Fi  
 
Alarm Lights  Battery  
 
 
 Android 
 
 Android 
 Android  
 
 
 www.topchuban.com
 
 
     
2012  5  
IV
 
 
 
 
     .................... 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
      ..................... 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
   ..................................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
    .............................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
    ................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 
VI
 
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
     ................. 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
    ............... 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 
    ....................... 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 
    ....................... 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
   ......................... 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 
   ............................. 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    ................................305
11.7    ALSA  Audio ......312 
11.7.1     ...312
11.7.2     Android  ALSA 
..................................313
11.7.3     OMAP  Android 
 ALSA .............322
   ......................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
 VII 
 
12.6.2     Android Overlay  
..........................346
     ...............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
    .........................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
    .................................415 
15.1    .....................415 
15.2    .........................417 
VIII
 
15.2.1    .................... 417
15.2.2     ................ 418
15.2.3    .................... 419
15.3    ............. 424 
    ................................. 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.so 
........................................ 449
16.5    MSM  Camera .... 454 
16.6    OMAP  Camera  ... 457 
     
.............................................. 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