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