ARM Cortex-A8嵌入式系統開發與實踐——WinCE與Android平臺
-
【作 者】上海怡鼎信息科技有限公司 倪旭
【I S B N 】978-7-5084-8177-7
【責任編輯】宋俊娥
【適用讀者群】科技
【出版時間】2011-01-25
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】
【千字數】537
【印 張】20.75
【定 價】¥45
【叢 書】暫無分類
【備注信息】 隨書贈送一CD
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書以飛思卡爾應用處理器i.MX51為例,全面系統地講述基于新一代高性能ARM Cortex-A8內核應用處理器以及WinCE 6.0和Android 系統的軟硬件系統開發指導。具體內容包括:以i.MX51應用處理器為例介紹基于Cortex-A8內核的高性能應用處理器典型的功能模塊,開發系統的主要硬件功能模塊的結構與工作原理,典型硬件系統與典型應用;WinCE 6.0在Cortex-A8系統上的移植與開發,系統地講述Windows Embedded CE 6.0的體系結構、系統安裝、環境設置,在i.MX51開發系統下的軟件包的編譯和調試,主要功能模塊驅動程序的詳細描述與開發指導,以及典型的嵌入式系統WinCE 6.0 應用開發例程;Android 2.2在Cortex-A8系統的移植與開發,系統講述Android體系結構、開發環境與編譯,Android BSP的移植與開發(包含Bootloader、內核移植、HAL實現等),以及Android應用程序開發指導。
本書可作為工程技術人員學習最新的Cortex-A8高端嵌入式系統軟硬件開發技術的入門教材,掌握WinCE 6.0以及Android系統在高端應用處理器系統上的實戰演練,也可作為工程技術人員在實際工作中針對智能手持設備(平板電腦、智能手機)、高端嵌入式設備、汽車信息娛樂設備等系統開發的參考書。
涵蓋Android和WinCE兩大系統
最新Android系統實戰演練
詳解ARM Cortex-A8應用系統
最新最全的高端嵌入式系統學習寶典
ARM Cortex-A8是ARM公司針對高端嵌入式系統新推出的高性能內核,性能與其前代ARM9、ARM11相比有了質的飛躍,處理能力幾乎可以與X86系統媲美,而功耗卻同ARM9/ARM11系統幾乎維持在同一數量級。于是,這個市場風起云涌,各種劃時代的產品紛紛推出。Apple公司的智能手機iPhone 4、平板電腦iPAD所采用的處理器內核都是基于Cortex-A8。國際上的半導體大腕,如飛思卡爾、高通、Ti等也都紛紛推出了各自基于Cortex-A8(ARMv7)的應用處理器,如飛思卡爾的i.MX51,高通的Snapdragon 8250,Ti的OMAP3等。我們迅速進入了一個ARM叫板Intel的時代。
嵌入式平臺正是因為有了這樣一個強勁的“芯”,也催生了各種開源軟件系統在ARM體系上安營扎寨,如Ubuntu、Android、MeeGo等。這里我們來說一說Android。Android原本是Google針對智能手機推出的基于Linux內核的開源系統。由于開源,所以包含完整的中間件及豐富的上層應用程序,同時針對ARM內核做了大量的優化,執行效率非常高,再加上Google這桿大旗的號召力,不僅有Google Search、融入Web應用,還推出Android市場(Android Market)讓廣大的程序員加入到Android應用程序開發這個大市場中來,于是原本Linux陣營一盤散沙、各據山頭的局面得到了迅速的改觀。最有意思的是,Android不但在智能手機領域攻城略地,迅速成為智能手機排名前三的操作系統,在非手機領域,如平板電腦、上網本、車載信息娛樂系統,甚至是智能家電領域也得到了迅速發展。從某種程度上來說,Android成為近年來高端嵌入式領域最時髦的詞匯。
當然我們也不能忽略Microsoft。Windows Embedded CE 6.0在Cortex A8平臺上運行也是如虎添翼。(我們更期待CE 7.0的早日推出。)
正因為如此,上海怡鼎信息科技有限公司(由一群在半導體與嵌入式領域從業多年的“老”工程師,以及若干“海外回流人員”創辦成立),與浙江大學的倪旭翔教授、上海電機學院的計春雷教授一起,策劃并編篡了本書。本書的編寫也得到了ARM(中國)以及飛思卡爾半導體公司相關人員的大力支持。參加本書部分章節內容編寫的還有李文浩、周文瑞、周芃、昝婷婷、李信音、顧冬平、李賓,在此還要特別感謝中國水利水電出版社萬水分社楊慶川總經理和豆芽為本書的出版付出的努力。我們希望通過本書,讓國內的廣大嵌入式系統開發人員盡快了解和掌握高端嵌入式領域的最新最前沿技術(Cortex-A8、i.MX51、Android 2.2等),擺脫目前國內嵌入式學習與設計參考仍然普遍以ARM9系統為主的局面。
由于編者水平有限,加之時間倉促,書中疏漏之處在所難免,懇請廣大讀者批評指正,以期再版時修訂。
編 者
2010年11月
第1章 基于Cortex-A8的Freescale i.MX51
體系構架 1
1.1 i.MX51系統框圖與功能簡介 1
1.1.1 i.MX51應用處理器的應用 2
1.1.2 i.MX51應用處理器CPU的結構 2
1.1.3 i.MX51應用處理器的多媒體能力 2
1.1.4 i.MX51應用處理器的物理性能
及擴展能力 2
1.1.5 i.MX51應用處理器的特點 3
1.2 ARM Cortex-A8內核(CPU、Cache、
NEON、VFP和ETM) 4
1.3 i.MX51應用處理器中的IPU與
VPU單元 5
1.3.1 圖像處理單元IPU 5
1.3.2 視頻處理單元VPU 6
1.4 i.MX51應用處理器的圖形處理
(GPU)功能 6
1.4.1 3D 圖形處理單元(3D GPU) 7
1.4.2 2D 圖形處理單元(2D GPU) 7
1.5 i.MX51應用處理器的輸入輸出接口 8
1.6 i.MX51應用處理器的時鐘、電源與
JTAG口 9
1.7 i.MX51應用處理器的典型系統 12
1.8 參考文獻 13
第2章 基于i.MX51的系統硬件介紹 14
2.1 內容概述 14
2.2 硬件系統的總體框圖和功能組成 15
2.3 i.MX51應用處理器的啟動模式設置 17
2.4 存儲器部分(DDR2、SPI NOR、
NAND Flash) 18
2.4.1 DDR2 SDRAM 18
2.4.2 NAND Flash 21
2.4.3 SPI NOR 22
2.5 電源管理 22
2.5.1 MC13892的電源輸出 22
2.5.2 i.MX51與MC13892之間的信號
接口控制 24
2.5.3 電池充放電電路 24
2.5.4 電阻觸摸屏接口電路 26
2.6 USB接口 26
2.6.1 USB的定義 26
2.6.2 USB標準簡介 27
2.6.3 USB-OTG設計 27
2.6.4 USB-HS設計 29
2.6.5 USB擴展接口 29
2.7 DVI顯示接口 32
2.8 MMC/SD卡接口 33
2.9 UART調試串口和JTAG調試口 36
2.10 Ethernet網口 38
2.11 Audio CODEC與音頻輸入輸出 39
2.12 Camera接口 42
2.13 鍵盤功能 43
2.14 擴展接口 43
2.14.1 Bluetooth和WIFI擴展接口 43
2.14.2 3G擴展接口 44
2.15 參考文獻 45
第3章 基于Cortex-A8 i.MX51的WinCE 6.0
系統移植與開發 46
3.1 Windows Embedded CE 6.0介紹 46
3.1.1 WinCE 6.0簡介 47
3.1.2 WinCE 6.0的安裝 48
3.1.3 WinCE 6.0編譯環境 57
3.1.4 WinCE 6.0體系架構 85
3.2 WinCE 6.0軟件開發包的安裝、編譯、
下載與調試 94
3.2.1 WinCE 6.0 軟件開發包的安裝 94
3.2.2 WinCE 6.0軟件開發包的編譯 103
3.2.3 WinCE 6.0軟件開發包的鏡像下載 112
3.2.4 WinCE 6.0軟件開發包的調試 117
3.3 基于怡鼎MX51開發系統的WinCE 6.0
的Bootloader 121
3.3.1 i.MX51芯片內部Bootloader 121
3.3.2 怡鼎MX51 WINCE軟件開發包
的XLDR 130
3.3.3 怡鼎MX51 WinCE 6.0軟件開
發包的EBOOT 132
3.4 WinCE 6.0 OEM適配層 144
3.4.1 Windows CE操作系統的啟動順序 144
3.4.2 OAL的電源管理 156
3.5 WinCE 6.0驅動概述 161
3.5.1 文件系統驅動、線程驅動與
本地驅動 162
3.5.2 用戶模式驅動與內核模式驅動 164
3.5.3 加載驅動 164
3.5.4 驅動的中斷處理 165
3.5.5 驅動的電源管理 165
3.6 怡鼎MX51 WinCE 6.0 驅動詳述 166
3.6.1 音頻編解碼器驅動 166
3.6.2 顯示驅動 170
3.6.3 攝影頭驅動 176
3.6.4 eSDHC驅動 180
3.6.5 網絡驅動 182
3.6.6 電源管理芯片驅動 184
3.6.7 USB OTG驅動 192
3.7 WinCE 6.0 應用程序開發與實踐 203
3.7.1 導出并安裝SDK 203
3.7.2 使用SDK編譯Hello World 206
3.7.3 使用PB編譯VPU測試代碼 210
3.7.4 使用PB編譯OpenGL ES 2.0 3D
應用程序 211
3.7.5 多媒體 212
3.8 參考文獻 217
第4章 基于Cortex-A8的i.MX51的Android系統移植與應用程序開發 218
4.1 Android簡介 218
4.1.1 Android系統架構 218
4.1.2 Android核心組件 220
4.1.3 Android應用程序基礎 227
4.2 基于i.MX51的怡鼎Android系統
使用介紹 235
4.3 Android系統的開發環境及編譯 247
4.3.1 搭建PC開發環境 248
4.3.2 獲取Android官方代碼 248
4.3.3 應用怡鼎補丁 249
4.3.4 Android源代碼結構 249
4.3.5 源代碼編譯 252
4.4 Linux 內核及驅動程序 254
4.4.1 Linux內核簡介 254
4.4.2 Linux驅動程序簡介 256
4.5 Android BSP移植與開發 267
4.5.1 Bootloader 267
4.5.2 Android 內核移植 271
4.5.3 Android HAL移植與實現 279
4.5.4 常見問題 287
4.6 Android應用程序開發 288
4.6.1 搭建應用程序開發環境 289
4.6.2 Hello World應用程序 292
4.6.3 多媒體播放應用程序 296
4.6.4 瀏覽器應用程序 302
4.6.5 3D應用程序 307
4.7 本章小結 314
4.8 參考文獻 315
- 嵌入式系統設計師考前沖刺100題 [倪奕文 王建平 編著]
- 嵌入式系統設計師5天修煉 [倪奕文 編著]
- 嵌入式ARM技術項目化教程 [曉利 周永福 黃日勝 楊凌]
- 嵌入式Linux開發技術基礎 [主編 伍德雁]
- 嵌入式應用Qt_C++傳感數據采集開發實訓教程 [主編 劉和文 文燕 謝忠敏]
- 基于ARM Cortex-M4內核的物聯網/嵌入式系統開發教程 [主編 劉雯]
- 嵌入式網絡那些事——STM32物聯實戰 [朱升林 歐陽駿 楊晶 著]
- 嵌入式Qt開發項目教程 [主編 王浩 陳邦瓊]
- 嵌入式系統實驗教程 [ 張志勇 邢國春 李曉寧]
- 嵌入式網絡那些事:LwIP協議深度剖析與實戰演練 [朱升林]
- Windows CE(C#)嵌入式應用開發實訓教程 [王浩 編著]
- Windows CE(C#)嵌入式應用開發 [王浩 林藝春 編著]
- 16位單片機及語音嵌入式系統 [趙定遠 馬洪江 主編]
- EVC高級編程及其應用開發(Embedded Visual C++嵌入式編程) [汪兵 等編著]
- 單片機原理及基于單片機的嵌入式系統設計 [蔡方凱 主編]
- Windows CE嵌入式高級編程及其實例詳解(用C++實現) [汪兵 等編著]