Android 嵌入式編程

Android 嵌入式編程

《Android 嵌入式編程》是2019年10月人民郵電出版社出版的圖書,作者是[美]羅傑·葉(Roger Ye)。

基本介紹

  • 中文名:Android 嵌入式編程
  • 作者:[美]羅傑·葉(Roger Ye)
  • ISBN:9787115493804
  • 頁數:275頁
  • 定價:69元
  • 出版社:人民郵電出版社
  • 出版時間:2019年10月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書主要介紹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

相關詞條

熱門詞條

聯絡我們