全書共5章,分別對嵌入式系統(tǒng)的組成結構和典型應用、CortexA8處理器的體系結構、指令系統(tǒng)、嵌入式系統(tǒng)的開發(fā)流程、智能家居系統(tǒng)的設計進行了詳細講解,還提供了S5PV210驅動仿真調試、Linux及Android等嵌入式操作系統(tǒng)的實驗例程。
本書內容豐富、案例實用、層次清晰、敘述詳盡,方便教學與自學,可作為高等院校電氣、電子信息類專業(yè)嵌入式系統(tǒng)課程的教材,也可作為工程技術人員進行嵌入式系統(tǒng)開發(fā)與應用的參考書。
“嵌入式系統(tǒng)”一般指非PC系統(tǒng),有計算機功能但又不稱之為計算機的設備或器材。目前,嵌入式系統(tǒng)已經(jīng)滲透到我們生活中的每個角落,如工業(yè)、 服務業(yè)、消費電子業(yè)
……
本書是針對應用型本科學生編寫的一本教材, 全書共分5章。
第1章嵌入式系統(tǒng)概論, 主要介紹了嵌入式系統(tǒng)的定義、 特點, 并詳細介紹了嵌入式系統(tǒng)的軟硬件組成、典型應用、發(fā)展趨勢,嵌入式相關開發(fā)崗位需求與崗位職責, 嵌入式系統(tǒng)的學習方法等。
第2章ARM體系結構, 介紹了常用嵌入式微處理器的類型與性能指標, 著重介紹了ARM9典型內核ARM920T和CortexA典型內核,并介紹了ARM處理器的體系結構, 包括精簡指令集和流水線技術、工作狀態(tài)及運行模式、 寄存器組織、 異常處理、 數(shù)據(jù)類型及存儲模式等。
第3章ARM指令系統(tǒng), 介紹了ARM指令特點、 ARM指令格式與條件碼、 尋址方式, 詳細介紹了ARM指令集、 Thumb指令集, 并舉例分析了ARM匯編語言和C語言程序設計及相互調用方法。
第4章嵌入式系統(tǒng)設計, 介紹了嵌入式系統(tǒng)的開發(fā)流程, 包括交叉編譯器、 開發(fā)環(huán)境的構建、 調試工具、軟件調試方法等,并詳細介紹了智能家居模塊和監(jiān)控系統(tǒng)設計。
第5章嵌入式系統(tǒng)實驗,結合ARM CortexA8嵌入式系統(tǒng)教學實驗平臺和物聯(lián)網(wǎng)實訓模塊的實驗例程,介紹了無操作系統(tǒng)的GPIO控制LED、串口通信、鍵盤輸入等S5PV210驅動仿真調試實驗,BootLoader、Linux內核移植、Linux下Qt圖形界面等Linux操作系統(tǒng)實驗,Android的編譯環(huán)境和開發(fā)環(huán)境搭建、設備驅動程序和應用程序開發(fā)。
嵌入式系統(tǒng)課程具有很強的實踐與應用性,本書編寫時通過若干典型的嵌入式產(chǎn)品舉例,力圖讓學生了解嵌入式系統(tǒng)的軟硬件組成結構、最新應用和發(fā)展趨勢,培養(yǎng)學生對嵌入式系統(tǒng)的學習興趣和探索欲。同時,通過介紹目前嵌入式硬件工程師、軟件工程師、Linux/Android系統(tǒng)開發(fā)等相關崗位職責與招聘要求,讓學生意識到不僅要掌握主流嵌入式微處理器的結構與原理,還要掌握至少一種嵌入式操作系統(tǒng)的操作,激勵學生努力學習、積極參與實踐和競賽。書中通過智能家居系統(tǒng)的設計,讓學生掌握嵌入式系統(tǒng)軟硬件開發(fā)流程并至少參與開發(fā)一個嵌入式軟件項目。CortexA8嵌入式系統(tǒng)教學實驗平臺和物聯(lián)網(wǎng)實訓模塊的實驗例程,則有助于讀者掌握無操作系統(tǒng)的S5PV210驅動仿真調試方法及在Linux/Android操作系統(tǒng)平臺下的應用程序開發(fā)。
本書參考學時48學時,建議理論教學40學時,實驗教學8學時,或者32+16學時,可以根據(jù)專業(yè)和培養(yǎng)計劃的要求適當調整,但建議保證實驗環(huán)節(jié)的時間,授課時也要引用各典型案例增進教學效果。同時操作系統(tǒng)的操作內容,可在學生的嵌入式系統(tǒng)技能訓練、電子應用軟件實習、專業(yè)綜合實訓等實踐環(huán)節(jié)中作為實習內容練習。
本書由唐永鋒主編,白秋產(chǎn)、季仁東、居勇峰、楊定禮參編;搓幑W院電子信息工程卓越班學生朱鵬、梅佳、吳召娣、顧闖等同學完成了初稿的校對工作,初稿已在11級和12級電子信息工程、電子科學與技術、自動化等專業(yè)本科和化工自動化研究領域的研究生中試用,師生普遍反映實用性強,教學效果好。本書在編寫過程中,得到了武漢創(chuàng)維特公司和北京博創(chuàng)公司提供的教學平臺、實驗例程和案例支持,在此一并表示感謝。同時向書中引用文獻的作者和科技論壇網(wǎng)站表示崇高的敬意和誠摯的感謝。感謝西安電子科技大學出版社領導和編輯的大力支持,使得本書得以出版發(fā)行。
本書內容豐富、案例實用、層次清晰、敘述詳盡,方便教學與自學,可作為高等院校電子信息工程、電子科學與技術、電氣自動化、通信工程、計算機科學與技術、機械電子、交通管理等專業(yè)嵌入式系統(tǒng)教學的教材,也可作為全國大學生電子設計競賽、全國信息技術應用水平大賽、全國計算機三級嵌入式系統(tǒng)開發(fā)技術、四級嵌入式系統(tǒng)開發(fā)工程師考試等的培訓教材以及工程技術人員進行嵌入式系統(tǒng)開發(fā)與應用的參考書。書中提供了大量實驗操作內容,在理論知識學習的同時提高學生的實踐操作能力。
由于時間倉促和編者水平有限,書中難免有不足之處,敬請讀者批評指正,不勝感謝。讀者的建議可以發(fā)送到郵箱與作者聯(lián)系,以期進一步完善。
第1章 嵌入式系統(tǒng)概論 1
1.1 嵌入式系統(tǒng)的概念 1
1.2 嵌入式系統(tǒng)的組成 3
1.2.1 硬件層 3
1.2.2 中間層 13
1.2.3 軟件層 14
1.2.4 功能層 22
1.3 嵌入式系統(tǒng)的應用 22
1.3.1 農(nóng)業(yè)水文環(huán)境監(jiān)測 23
1.3.2 智慧農(nóng)業(yè)物流 25
1.3.3 移動支付 39
1.3.4 智慧旅游導航 30
1.3.5 人機交互與多點觸控 31
1.3.6 物聯(lián)網(wǎng) 32
1.3.7 信息安全 34
1.3.8 無人駕駛汽車 35
1.3.9 生物識別 38
1.3.10 智能機器人 42
1.3.11 虛擬現(xiàn)實與增強現(xiàn)實 53
1.4 嵌入式系統(tǒng)的職業(yè)需求 59
1.5 嵌入式系統(tǒng)的學習方法 63
習題 65
第2章 ARM體系結構 67
2.1 常用嵌入式處理器芯片 67
2.1.1 ARM處理器內核版本 68
2.1.2 處理器性能指標 70
2.1.3 ARM處理器內核類型 71
2.1.4 ARM9典型內核 84
2.1.5 ARM11典型內核 88
2.1.6 CortexM典型內核 91
2.1.7 CortexA典型內核 94
2.1.8 CortexR典型內核 99
2.1.9 ARM芯片選擇原則 99
2.2 ARM處理器體系結構 101
2.2.1 精簡指令集 101
2.2.2 流水線技術 102
2.2.3 ARM處理器的工作狀態(tài) 105
2.2.4 ARM處理器的運行模式 106
2.2.5 寄存器組織 107
2.2.6 異常處理 113
2.2.7 數(shù)據(jù)類型及存儲模式 116
習題 118
第3章 ARM指令系統(tǒng) 121
3.1 ARM指令概述 121
3.1.1 ARM指令特點 121
3.1.2 ARM指令格式與條件碼 122
3.1.3 ARM指令的尋址方式 125
3.2 ARM指令集 128
3.2.1 數(shù)據(jù)處理指令 128
3.2.2 存儲器訪問指令 130
3.2.3 分支指令 133
3.2.4 協(xié)處理器指令 134
3.2.5 程序狀態(tài)寄存器訪問指令 136
3.2.6 雜項指令 137
3.3 Thumb及Thumb2指令集 138
3.3.1 Thumb指令集 139
3.3.2 Thumb2指令集 141
3.4 ARM匯編語言程序設計 142
3.4.1 ARM匯編偽指令 143
3.4.2 匯編語言程序舉例分析 148
3.5 ARM C語言程序設計 151
3.5.1 嵌入式C語言程序設計規(guī)范 151
3.5.2 C語言與匯編語言混合編程 155
習題 163
第4章 嵌入式系統(tǒng)設計 165
4.1 嵌入式系統(tǒng)開發(fā)流程 165
4.1.1 嵌入式系統(tǒng)開發(fā) 165
4.1.2 嵌入式系統(tǒng)硬件設計 166
4.1.3 嵌入式系統(tǒng)軟件設計 167
4.1.4 開發(fā)調試工具 169
4.1.5 軟件測試 173
4.2 智能家居模塊設計 177
4.2.1 智能家居系統(tǒng)發(fā)展現(xiàn)狀 178
4.2.2 環(huán)境檢測傳感器模塊設計 182
4.2.3 智能窗簾控制模塊 191
4.2.4 智能報警模塊 191
4.2.5 智能家居控制系統(tǒng)產(chǎn)品 192
習題 202
第5章 嵌入式系統(tǒng)實驗 203
5.1 CortexA8處理器硬件電路 203
5.1.1 S5PV210芯片軟硬件資源 204
5.1.2 CVTS5PV210教學平臺 204
5.2 Eclipse集成開發(fā)環(huán)境 215
5.2.1 Eclipse開發(fā)環(huán)境的安裝 217
5.2.2 Eclipse的調試方法 220
5.2.3 Eclipse調試工程過程 222
5.3 S5PV210驅動仿真調試實驗 224
5.3.1 GPIO控制LED實驗 224
5.3.2 步進電機控制實驗 232
5.3.3 串口通信實驗 236
5.4 嵌入式Linux系統(tǒng)實驗 252
5.4.1 BootLoader實驗 252
5.4.2 Linux內核移植實驗 259
5.4.3 Linux操作系統(tǒng)實驗 262
5.4.4 Linux下圖形界面Qt實驗 294
5.5 Android系統(tǒng)實驗 303
5.5.1 Android系統(tǒng)編譯環(huán)境搭建 306
5.5.2 Android系統(tǒng)開發(fā)環(huán)境搭建 308
5.5.3 Android系統(tǒng)應用程序開發(fā) 316
5.5.4 Android設備驅動程序開發(fā) 320
習題 324
習題解答 325
附錄 start.s啟動程序 328
參考文獻 331