-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Android 嵌入式編程

( 簡體 字)
作者:[美] 羅杰·葉(Roger Ye)類別:1. -> 程式設計 -> 手機程式 -> Android
譯者:
出版社:人民郵電出版社Android 嵌入式編程 3dWoo書號: 50379
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:1/1/2019
頁數:275
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115493804
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書主要介紹Android嵌入式系統編程的相關內容,通過講解裸機編輯、啟動加載程序、構建Android系統等知識點,旨在幫助讀者夯實編程知識,掌握Android嵌入式系統的開發、編譯及調試技巧。
本書包括三部分內容。第一部分重點介紹裸機編程,主要介紹底層開發和Android系統編程的基本原理,涵蓋使用U-Boot啟動Linux內核所必需的硬件接口,裸機編程環境中串口的硬件接口編程、實時時鐘、NAND閃存控制器等內容。第二部分介紹將U-Boot移植到Goldfish平臺的方法。第三部分則完成使用虛擬設備為Android設備構建定制的ROM的實現。本書適合有一定經驗的從事Android系統開發的開發人員參考,也適合想要探索Android底層開發知識的計算機專業學生閱讀。
目錄:

第 一部分 裸 機 編 程

第 1章 嵌入式系統編程簡介 3
1.1 什么是嵌入式系統 3
1.2 裸機編程 3
1.3 學習嵌入式系統編程 5
1.4 嵌入式系統的軟件層 6
1.5 工具和硬件平臺 9
1.6 虛擬硬件和真正的硬件之間的區別 9
1.7 小結 10
第 2章 Android模擬器內部 11
2.1 虛擬硬件概述 11
2.2 Android虛擬設備的配置 12
2.3 硬件接口 14
2.4 串口 15
2.5 定時器 16
2.6 小結 20
第3章 開發環境的設置 21
3.1 主機和客戶端環境 21
3.2 開發環境的設置 22
3.3 下載并安裝Android SDK 22
3.4 為ARM下載并安裝GNU工具鏈 23
3.5 集成開發環境 24
3.6 用戶的第 一個ARM程序 24
3.7 構建二進制文件 26
3.8 在Android模擬器中運行 27
3.9 示例項目的makefile 30
3.10 小結 31
第4章 鏈接器腳本和內存映射 32
4.1 內存映射 32
4.2 鏈接器 33
4.2.1 符號解析 34
4.2.2 重定位 37
4.2.3 段合并 40
4.2.4 段布局 41
4.3 鏈接器腳本 42
4.3.1 鏈接器腳本示例 43
4.4 RAM中數據的初始化 45
4.4.1 指定加載地址 47
4.4.2 將.data復制到RAM中 47
4.5 小結 49
第5章 使用C語言 50
5.1 裸機環境中的C啟動 50
5.1.1 堆棧 52
5.1.2 全局變量 53
5.1.3 只讀數據 54
5.1.4 啟動代碼 54
5.2 調用約定 61
5.2.1 從匯編語言代碼中調用C
函數 62
5.2.2 從C代碼調用匯編語言函數 64
5.3 Goldfish串口支持 64
5.3.1 檢查數據緩沖區 68
5.3.2 數據輸入和輸出 69
5.3.3 串口函數的單元測試 70
5.4 小結 72
第6章 使用C庫 73
6.1 C庫的變體 73
6.1.1 操作系統中的C庫變體 73
6.1.2 裸機環境中的C庫變體 74
6.2 Newlib C庫 75
6.3 通用啟動代碼序列 76
6.4 CS3鏈接器腳本 76
6.5 Goldfish平臺的自定義CS啟動代碼 81
6.6 系統調用實現 81
6.7 運行并調試庫 87
6.8 在QEMU ARM半主機中使用
Newlib 91
6.8.1 Newlib C中的半主機支持 91
6.8.2 半主機示例代碼 91
6.9 小結 95
第7章 異常處理和定時器 96
7.1 Goldfish中斷控制器 96
7.2 最簡單的中斷處理程序 98
7.2.1 中斷支持函數 99
7.2.2 最簡單中斷處理程序的實現 101
7.3 嵌套中斷處理程序 108
7.3.1 嵌套中斷處理程序的實現 109
7.3.2 測試嵌套中斷并探討處理器
模式轉換 118
7.4 測試系統調用/軟件中斷 126
7.5 定時器 127
7.5.1 Goldfish特有的定時器函數 131
7.5.2 U-Boot API 131
7.6 實時時鐘 132
7.6.1 定時器和RTC的單元測試 133
7.7 小結 139
第8章 Goldfish中的NAND閃存支持 140
8.1 Android文件系統 140
8.2 NAND閃存屬性 142
8.3 Goldfish平臺中的NAND閃存編程
接口 143
8.4 內存技術設備支持 144
8.5 MTD API 145
8.5.1 支持NAND閃存的
U-Boot API 156
8.5.2 Goldfish NAND閃存驅動
程序函數 156
8.6 NAND閃存編程接口測試程序 157
8.6.1 來自Linux內核的NAND
閃存信息 157
8.6.2 NAND閃存測試程序 160
8.7 小結 164

第二部分 U-Boot

第9章 U-Boot移植 167
9.1 U-Boot簡介 167
9.2 下載并編譯U-Boot 168
9.3 使用GDB調試U-Boot 171
9.4 將U-Boot移植到Goldfish平臺中 174
9.4.1 創建一個新板 174
9.4.2 針對處理器的修改 175
9.4.3 針對板的修改 176
9.4.4 設備驅動程序修改 183
9.5 小結 188
第 10章 使用U-Boot引導Goldfish
 內核 190
10.1 構建goldfish內核 190
10.2 內置工具鏈和內核源代碼 191
10.3 在模擬器中運行并調試內核 192
10.4 從NOR閃存啟動Android 194
10.4.1 創建RAMDISK映像 196
10.4.2 創建閃存映像 197
10.4.3 啟動閃存映像 198
10.4.4 閃存映像的源級調試 203
10.5 從NAND閃存啟動Android 207
10.5.1 準備system.img 207
10.5.2 從NAND閃存啟動 208
10.6 小結 214

第三部分 Android系統集成

第 11章 創建自己的AOSP和
 CyanogenMod 217
11.1 AOSP和CyanogenMod簡介 217
11.2 創建Android虛擬設備 218
11.3 AOSP Android模擬器構建 221
11.3.1 AOSP構建環境 221
11.3.2 下載AOSP源 222
11.3.3 構建AOSP Android模擬器
映像 223
11.3.4 測試AOSP映像 225
11.4 CyanogenMod Android模擬器
構建 229
11.4.1 下載CyanogenMod源 229
11.4.2 構建CyanogenMod Android
模擬器映像 230
11.4.3 測試CyanogenMod映像 233
11.5 小結 237
第 12章 定制Android并創建自己的
 Android ROM 238
12.1 在AOSP中支持新硬件 238
12.1.1 使用AOSP構建內核 245
12.1.2 使用AOSP構建U-Boot 248
12.1.3 使用U-Boot從NAND閃存
啟動Android 249
12.2 在CyanogenMod中支持新硬件 256
12.2.1 使用CyanogenMod構建
內核 258
12.2.2 構建U-Boot并啟動
CyanogenMod 260
12.3 小結 261

第四部分 附 錄

附錄A 構建本書的源代碼 265
A.1 設置構建環境 265
A.2 創建虛擬機 267
A.3 源代碼的組織 267
A.4 第 一部分的源代碼 268
A.4.1 從命令行構建并測試 268
A.4.2 在Eclipse中構建并測試 269
A.5 第二部分的源代碼 272
A.6 第三部分的源代碼 273
A.6.1 構建AOSP 274
A.6.2 構建CyanogenMod 274
附錄B 在本書中使用Repo 276
B.1 Repo的資源 276
B.2 幾分鐘內同步一個新的源樹 276
B.3 使用local manifest下載git倉庫 277
序: