|
-- 會員 / 註冊 --
|
|
|
|
Android 嵌入式編程 ( 簡體 字) |
作者:[美] 羅杰·葉(Roger Ye) | 類別:1. -> 程式設計 -> 手機程式 -> 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 |
序: |
|