注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Android嵌入式編程

Android嵌入式編程

Android嵌入式編程

定 價:¥69.00

作 者: [美] 羅杰·葉(Roger Ye) 著,師蓉 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115493804 出版時間: 2019-01-01 包裝: 平裝
開本: 16開 頁數(shù): 275 字數(shù):  

內(nèi)容簡介

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

作者簡介

  Roger Ye是一名對嵌入式系統(tǒng)及其相關(guān)技術(shù)有著極大興趣的嵌入式系統(tǒng)程序員。他曾經(jīng)在摩托羅拉、埃莫森和英特爾擔任工程經(jīng)理。在摩托羅拉和埃莫森工作時,他參與了移動設(shè)備和電信基礎(chǔ)設(shè)施的嵌入式系統(tǒng)項目?,F(xiàn)在他是英特爾安全支持部門的工程經(jīng)理,領(lǐng)導(dǎo)著開發(fā)Android應(yīng)用程序的團隊。

圖書目錄

目 錄
第 一部分 裸 機 編 程
第 1章 嵌入式系統(tǒng)編程簡介 3
1.1 什么是嵌入式系統(tǒng) 3
1.2 裸機編程 3
1.3 學(xué)習(xí)嵌入式系統(tǒng)編程 5
1.4 嵌入式系統(tǒng)的軟件層 6
1.5 工具和硬件平臺 9
1.6 虛擬硬件和真正的硬件之間的區(qū)別 9
1.7 小結(jié) 10
第 2章 Android模擬器內(nèi)部 11
2.1 虛擬硬件概述 11
2.2 Android虛擬設(shè)備的配置 12
2.3 硬件接口 14
2.4 串口 15
2.5 定時器 16
2.6 小結(jié) 20
第3章 開發(fā)環(huán)境的設(shè)置 21
3.1 主機和客戶端環(huán)境 21
3.2 開發(fā)環(huán)境的設(shè)置 22
3.3 下載并安裝Android SDK 22
3.4 為ARM下載并安裝GNU工具鏈 23
3.5 集成開發(fā)環(huán)境 24
3.6 用戶的第 一個ARM程序 24
3.7 構(gòu)建二進制文件 26
3.8 在Android模擬器中運行 27
3.9 示例項目的makefile 30
3.10 小結(jié) 31
第4章 鏈接器腳本和內(nèi)存映射 32
4.1 內(nèi)存映射 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中數(shù)據(jù)的初始化 45
4.4.1 指定加載地址 47
4.4.2 將.data復(fù)制到RAM中 47
4.5 小結(jié) 49
第5章 使用C語言 50
5.1 裸機環(huán)境中的C啟動 50
5.1.1 堆?!?2
5.1.2 全局變量 53
5.1.3 只讀數(shù)據(jù) 54
5.1.4 啟動代碼 54
5.2 調(diào)用約定 61
5.2.1 從匯編語言代碼中調(diào)用C
函數(shù) 62
5.2.2 從C代碼調(diào)用匯編語言函數(shù) 64
5.3 Goldfish串口支持 64
5.3.1 檢查數(shù)據(jù)緩沖區(qū) 68
5.3.2 數(shù)據(jù)輸入和輸出 69
5.3.3 串口函數(shù)的單元測試 70
5.4 小結(jié) 72
第6章 使用C庫 73
6.1 C庫的變體 73
6.1.1 操作系統(tǒng)中的C庫變體 73
6.1.2 裸機環(huán)境中的C庫變體 74
6.2 Newlib C庫 75
6.3 通用啟動代碼序列 76
6.4 CS3鏈接器腳本 76
6.5 Goldfish平臺的自定義CS啟動代碼 81
6.6 系統(tǒng)調(diào)用實現(xiàn) 81
6.7 運行并調(diào)試庫 87
6.8 在QEMU ARM半主機中使用
Newlib 91
6.8.1 Newlib C中的半主機支持 91
6.8.2 半主機示例代碼 91
6.9 小結(jié) 95
第7章 異常處理和定時器 96
7.1 Goldfish中斷控制器 96
7.2 最簡單的中斷處理程序 98
7.2.1 中斷支持函數(shù) 99
7.2.2 最簡單中斷處理程序的實現(xiàn) 101
7.3 嵌套中斷處理程序 108
7.3.1 嵌套中斷處理程序的實現(xiàn) 109
7.3.2 測試嵌套中斷并探討處理器
模式轉(zhuǎn)換 118
7.4 測試系統(tǒng)調(diào)用/軟件中斷 126
7.5 定時器 127
7.5.1 Goldfish特有的定時器函數(shù) 131
7.5.2 U-Boot API 131
7.6 實時時鐘 132
7.6.1 定時器和RTC的單元測試 133
7.7 小結(jié) 139
第8章 Goldfish中的NAND閃存支持 140
8.1 Android文件系統(tǒng) 140
8.2 NAND閃存屬性 142
8.3 Goldfish平臺中的NAND閃存編程
接口 143
8.4 內(nèi)存技術(shù)設(shè)備支持 144
8.5 MTD API 145
8.5.1 支持NAND閃存的
U-Boot API 156
8.5.2 Goldfish NAND閃存驅(qū)動
程序函數(shù) 156
8.6 NAND閃存編程接口測試程序 157
8.6.1 來自Linux內(nèi)核的NAND
閃存信息 157
8.6.2 NAND閃存測試程序 160
8.7 小結(jié) 164
第二部分 U-Boot
第9章 U-Boot移植 167
9.1 U-Boot簡介 167
9.2 下載并編譯U-Boot 168
9.3 使用GDB調(diào)試U-Boot 171
9.4 將U-Boot移植到Goldfish平臺中 174
9.4.1 創(chuàng)建一個新板 174
9.4.2 針對處理器的修改 175
9.4.3 針對板的修改 176
9.4.4 設(shè)備驅(qū)動程序修改 183
9.5 小結(jié) 188
第 10章 使用U-Boot引導(dǎo)Goldfish
內(nèi)核 190
10.1 構(gòu)建goldfish內(nèi)核 190
10.2 內(nèi)置工具鏈和內(nèi)核源代碼 191
10.3 在模擬器中運行并調(diào)試內(nèi)核 192
10.4 從NOR閃存啟動Android 194
10.4.1 創(chuàng)建RAMDISK映像 196
10.4.2 創(chuàng)建閃存映像 197
10.4.3 啟動閃存映像 198
10.4.4 閃存映像的源級調(diào)試 203
10.5 從NAND閃存啟動Android 207
10.5.1 準備system.img 207
10.5.2 從NAND閃存啟動 208
10.6 小結(jié) 214
第三部分 Android系統(tǒng)集成
第 11章 創(chuàng)建自己的AOSP和
CyanogenMod 217
11.1 AOSP和CyanogenMod簡介 217
11.2 創(chuàng)建Android虛擬設(shè)備 218
11.3 AOSP Android模擬器構(gòu)建 221
11.3.1 AOSP構(gòu)建環(huán)境 221
11.3.2 下載AOSP源 222
11.3.3 構(gòu)建AOSP Android模擬器
映像 223
11.3.4 測試AOSP映像 225
11.4 CyanogenMod Android模擬器
構(gòu)建 229
11.4.1 下載CyanogenMod源 229
11.4.2 構(gòu)建CyanogenMod Android
模擬器映像 230
11.4.3 測試CyanogenMod映像 233
11.5 小結(jié) 237
第 12章 定制Android并創(chuàng)建自己的
Android ROM 238
12.1 在AOSP中支持新硬件 238
12.1.1 使用AOSP構(gòu)建內(nèi)核 245
12.1.2 使用AOSP構(gòu)建U-Boot 248
12.1.3 使用U-Boot從NAND閃存
啟動Android 249
12.2 在CyanogenMod中支持新硬件 256
12.2.1 使用CyanogenMod構(gòu)建
內(nèi)核 258
12.2.2 構(gòu)建U-Boot并啟動
CyanogenMod 260
12.3 小結(jié) 261
第四部分 附 錄
附錄A 構(gòu)建本書的源代碼 265
A.1 設(shè)置構(gòu)建環(huán)境 265
A.2 創(chuàng)建虛擬機 267
A.3 源代碼的組織 267
A.4 第 一部分的源代碼 268
A.4.1 從命令行構(gòu)建并測試 268
A.4.2 在Eclipse中構(gòu)建并測試 269
A.5 第二部分的源代碼 272
A.6 第三部分的源代碼 273
A.6.1 構(gòu)建AOSP 274
A.6.2 構(gòu)建CyanogenMod 274
附錄B 在本書中使用Repo 276
B.1 Repo的資源 276
B.2 幾分鐘內(nèi)同步一個新的源樹 276
B.3 使用local manifest下載git倉庫 277

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號