本書(shū)基于A(yíng)RM Cortex-A15架構,系統介紹了嵌入式技術(shù)與智能終端軟件開(kāi)發(fā)中的技術(shù)、軟件、硬件、平臺等知識,結合實(shí)驗與案例,通過(guò)本書(shū)學(xué)習,不僅能讓讀者快速掌握嵌入式系統應用開(kāi)發(fā)技術(shù)與技巧,還能提高讀者智能終端軟件開(kāi)發(fā)實(shí)踐能力。
本書(shū)既可作為高等院校計算機類(lèi)、電子類(lèi)、電氣類(lèi)、控制類(lèi)等專(zhuān)業(yè)本科生、研究生學(xué)習嵌入式Linux的教材,也可供希望進(jìn)入嵌入式領(lǐng)域的科研或工程技術(shù)人員參考使用,還可作為嵌入式培訓教材和教輔材料。
本書(shū)以Cortex-A15處理器為載體,是面向嵌入式終端軟件開(kāi)發(fā)和學(xué)習的教程。內容涵蓋Linux操作系統介紹、安裝和基本使用、嵌入式終端開(kāi)發(fā)平臺、ARM裸機編程、驅動(dòng)開(kāi)發(fā),以及嵌入式Linux的應用編程、嵌入式Android應用編程。本書(shū)由淺入深、結構合理、圖文并茂,可操作性強,讀者可跟著(zhù)一步步進(jìn)行操作和學(xué)習,非常適合嵌入式Linux開(kāi)發(fā)初級工程師及準備往嵌入式Linux方向發(fā)展的電子工程師和單片機工程師使用,也可作為高校非計算機專(zhuān)業(yè)高年級學(xué)生學(xué)習嵌入式Linux的參考教材。
溫武,畢業(yè)于華中科技大學(xué)通信與信息系統專(zhuān)業(yè),工學(xué)碩士,高級實(shí)驗師,現為廣州大學(xué)計算機科學(xué)與教育軟件學(xué)院實(shí)驗室副主任,黨支部書(shū)記。1998年始在廣州大學(xué)工作,主要從事網(wǎng)絡(luò )工程技術(shù)、電子信息技術(shù)和信息系統與數據庫技術(shù)方面的研究。他已主持教研、科研項目7項,發(fā)表論文二十多篇,擁有軟件著(zhù)作權1項??娢哪?,華南理工大學(xué)廣州學(xué)院電子信息工程學(xué)院自動(dòng)化實(shí)驗師,研究方向為嵌入式技術(shù),主持和參與多項省部級教學(xué)科研項目,個(gè)人擁有授權發(fā)明專(zhuān)利兩項,實(shí)用新型專(zhuān)利50多項。指導學(xué)生參加各類(lèi)省部級科技競賽獲得100多項不同等級獎項。張汛淶,廣州大學(xué)計算機科學(xué)與教育軟件學(xué)院副教授,研究方向是計算機系統結構和嵌入式系統,有多年的計算機組成與結構、嵌入式系統與接口等課程的理論和實(shí)踐教學(xué)經(jīng)驗,指導學(xué)生多次在創(chuàng )新比賽中獲獎。
目 錄
第1章 嵌入式系統基礎 1
1.1 嵌入式系統概述 1
1.1.1 什么是嵌入式系統 1
1.1.2 嵌入式系統的組成 1
1.1.3 嵌入式系統與PC系統的區別 3
1.1.4 嵌入式系統的特點(diǎn) 3
1.1.5 嵌入式系統的發(fā)展趨勢 4
1.1.6 嵌入式系統的應用領(lǐng)域 5
1.2 嵌入式處理器 8
1.3 嵌入式操作系統 10
1.3.1 何謂嵌入式操作系統 10
1.3.2 嵌入式操作系統的特點(diǎn) 10
1.3.3 嵌入式操作系統的種類(lèi) 11
1.4 嵌入式系統開(kāi)發(fā)過(guò)程 13
第2章 嵌入式ARM處理器 15
2.1 ARM公司簡(jiǎn)介 15
2.2 ARM體系結構發(fā)展 15
2.3 ARM Cortex系列微處理器 16
2.3.1 Cortex-A8系列處理器 17
2.3.2 Cortex-A9系列處理器 18
2.3.3 Cortex-A15系列處理器 19
2.3.4 Cortex-A53系列處理器 21
2.4 主流Cortex-A系列處理器對比 23
第3章 嵌入式開(kāi)發(fā)平臺 24
3.1 嵌入式軟件開(kāi)發(fā)平臺 24
3.1.1 安裝VMware Workstation軟件 24
3.1.2 配置虛擬主機硬件 26
3.1.3 安裝Ubuntu 33
3.1.4 安裝VMware Tools 37
3.1.5 安裝文本編輯器Vim 38
3.1.6 安裝g++ 39
3.1.7 安裝Android開(kāi)發(fā)工具及依賴(lài)庫 39
3.1.8 安裝TFTP服務(wù) 41
3.1.9 安裝NFS服務(wù) 41
3.2 基于Exynos5260嵌入式硬件平臺 42
3.2.1 Exynos5260嵌入式硬件平臺簡(jiǎn)介 42
3.2.2 Exynos5260嵌入式硬件平臺資源配置 43
3.2.3 實(shí)驗開(kāi)發(fā)平臺調試 45
3.2.4 Exynos5260開(kāi)發(fā)平臺設置 45
3.2.5 系統鏡像燒寫(xiě) 48
第4章 Linux應用開(kāi)發(fā)基礎 51
4.1 Linux基礎命令 51
4.2 Linux下C語(yǔ)言編程環(huán)境 60
4.2.1 Linux下C語(yǔ)言編程環(huán)境概述 60
4.2.2 Vi編輯器 61
4.2.3 GNU GCC的使用 62
4.2.4 GDB調試器的使用 65
4.3 GNU Make命令和Makefile文件 68
4.4 Linux 的Shell編程 72
4.4.1 Shell簡(jiǎn)介 72
4.4.2 Shell變量與環(huán)境變量 72
4.4.3 Shell常用命令 78
4.4.4 Shell函數 82
第5章 嵌入式Linux應用編程 86
5.1 第一個(gè)Linux應用程序輸出“hello world!” 86
5.2 文件I/O操作 87
5.2.1 Linux文件結構 87
5.2.2 系統調用與庫函數 88
5.2.3 文件I/O基本操作 89
5.3 進(jìn)程 95
5.3.1 Linux進(jìn)程概述 95
5.3.2 Linux進(jìn)程控制 98
5.3.3 進(jìn)程間通信 104
5.4 多線(xiàn)程通信 118
5.4.1 線(xiàn)程簡(jiǎn)介 118
5.4.2 Linux線(xiàn)程控制 119
5.5 Linux網(wǎng)絡(luò )編程 131
5.5.1 TCP/IP簡(jiǎn)介 131
5.5.2 socket通信基本概念 132
5.5.3 網(wǎng)絡(luò )編程相關(guān)函數說(shuō)明 133
5.5.4 網(wǎng)絡(luò )編程程序設計 136
第6章 嵌入式系統開(kāi)發(fā) 147
6.1 交叉編譯簡(jiǎn)介 147
6.2 交叉編譯器 147
6.3 交叉編譯器的安裝 148
6.4 U-Boot編譯 150
6.5 U-Boot移植 150
6.6 編譯內核 155
6.7 內核移植 156
6.8 Android 4.4.2移植 159
第7章 Linux設備驅動(dòng)開(kāi)發(fā) 162
7.1 Linux驅動(dòng)程序的基本知識 162
7.2 Linux device driver的概念 163
7.3 Linux內核模塊helloworld 163
7.4 驅動(dòng)程序中編寫(xiě)ioctl函數供應用程序調用 164
7.5 嵌入式Linux下LED驅動(dòng)程序設計 166
7.6 嵌入式Linux下的按鍵中斷實(shí)驗 174
7.7 嵌入式Linux的A/D轉換實(shí)驗 184
第8章 Qt編程基礎 190
8.1 Qt概述 190
8.1.1 GUI的作用 190
8.1.2 Qt的主要特點(diǎn) 191
8.2 Qt的安裝 191
8.3 使用Designer創(chuàng )建“helloworld”Qt窗口 194
8.4 交叉編譯Qt Embedded庫 197
8.4.1 配置編譯選項 197
8.4.2 編譯和安裝 198
8.4.3 Qt Embedded應用程序編譯 198
8.5 開(kāi)發(fā)平臺設置Qt Embedded環(huán)境 199
第9章 Android應用開(kāi)發(fā) 201
9.1 開(kāi)發(fā)準備 201
9.1.1 下載JDK 201
9.1.2 下載Eclipse 201
9.1.3 下載ADT 202
9.1.4 下載Android SDK 202
9.1.5 下載Android NDK 202
9.2 安裝程序 202
9.2.1 安裝JDK 202
9.2.2 安裝Eclipse 205
9.2.3 安裝Android SDK 205
9.2.4 解壓Android NDK與配置環(huán)境變量 211
9.2.5 配置ADT 215
9.2.6 配置SDK 217
9.2.7 配置NDK 218
9.3 測試模擬器 218
9.4 Android應用開(kāi)發(fā)準備 221
9.5 Android應用開(kāi)發(fā) 223
9.5.1 實(shí)驗1:LED燈控制程序設計 223
9.5.2 實(shí)驗2:ADC模塊實(shí)驗 230
9.5.3 實(shí)驗3:LCD實(shí)驗 236
第10章 Android多媒體視頻播放器 241
10.1 相關(guān)知識 241
10.2 開(kāi)發(fā)過(guò)程 242
第11章 Android遠程控制(智能家居項目) 247
11.1 智能家居概念 247
11.2 背景 247
11.3 發(fā)展趨勢 247
11.4 智能家居項目 248
11.5 智能家居項目服務(wù)端代碼編寫(xiě) 250
11.6 智能家居項目客戶(hù)端代碼編寫(xiě) 257
參考文獻 263