嵌入式系統(tǒng)開發(fā):基于ARM Cortex A8系統(tǒng)
定 價(jià):49 元
叢書名:高等學(xué)校計(jì)算機(jī)專業(yè)規(guī)劃教材
- 作者:劉小洋 李勇
- 出版時(shí)間:2017/11/22
- ISBN:9787111583578
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP360.21
- 頁碼:263
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書基于ARMCortexA8系統(tǒng)介紹嵌入式開發(fā),共8章,分為三部分:第一部分(第1章和第2章)介紹嵌入式系統(tǒng)的基礎(chǔ)知識(shí),第二部分(第3~6章)介紹嵌入式系統(tǒng)開發(fā)環(huán)境、嵌入式引導(dǎo)系統(tǒng)、嵌入式操作系統(tǒng)內(nèi)核、嵌入式文件系統(tǒng),第三部分(第7章和第8章)通過嵌入式驅(qū)動(dòng)開發(fā)與嵌入式系統(tǒng)項(xiàng)目來論述嵌入式系統(tǒng)開發(fā)的方法論和開發(fā)過程。本書可作為工科類計(jì)算機(jī)、電子信息、通信工程、自動(dòng)化等相關(guān)專業(yè)學(xué)生的教材,同時(shí)可供嵌入式技術(shù)開發(fā)人員參考。
嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),其作為裝置或設(shè)備的一部分,是現(xiàn)在工業(yè)4.0架構(gòu)中的基礎(chǔ)設(shè)備。嵌入式系統(tǒng)開發(fā)是覆蓋范圍很廣的綜合性交叉學(xué)科,涉及計(jì)算機(jī)科學(xué)與技術(shù)、電子科學(xué)與技術(shù)、自動(dòng)化、通信工程、電子工程、智能科學(xué)與技術(shù)等諸多領(lǐng)域,在科技民生、智慧城市、交通運(yùn)輸、物流配送等方面有著廣泛的應(yīng)用前景,是高校工科類學(xué)生的首選科目。
全書共8章。第一部分共兩章:第1章對(duì)嵌入式系統(tǒng)進(jìn)行概述,并介紹嵌入式系統(tǒng)組成、嵌入式開源系統(tǒng)相關(guān)知識(shí)點(diǎn),給讀者一個(gè)完整的嵌入式系統(tǒng)概念;第2章重點(diǎn)介紹嵌入式Linux操作系統(tǒng)的基礎(chǔ)知識(shí)以及相關(guān)操作,為之后的嵌入式學(xué)習(xí)打下良好基礎(chǔ)。第二部分共四章:第3章為嵌入式系統(tǒng)開發(fā)環(huán)境的準(zhǔn)備與相關(guān)配套工作,其目的是使讀者理解嵌入式開發(fā)與一般開發(fā)的區(qū)別所在;第4章介紹嵌入式引導(dǎo)系統(tǒng),基于Cortex A8來講述引導(dǎo)過程的特點(diǎn)與方法,引導(dǎo)系統(tǒng)是嵌入式系統(tǒng)的核心部分;第5章介紹嵌入式操作系統(tǒng)內(nèi)核的移植與相關(guān)理論,是本書的重中之重;第6章介紹的文件系統(tǒng)是嵌入式系統(tǒng)與普通操作系統(tǒng)區(qū)別較大的地方,大家要認(rèn)真理解。第三部分共兩章,通過項(xiàng)目方式來論述嵌入式系統(tǒng)開發(fā)的方法論與開發(fā)過程。
本書特點(diǎn)
嵌入式系統(tǒng)是集電子、通信、操作系統(tǒng)等多項(xiàng)技術(shù)于一體的綜合應(yīng)用。本書在剖析嵌入式體系結(jié)構(gòu)的同時(shí),仔細(xì)梳理了嵌入式開發(fā)的相關(guān)知識(shí)點(diǎn)及內(nèi)在因素。這是作者在近10年的教學(xué)與工作中得出的相關(guān)結(jié)論與“教訓(xùn)”。
結(jié)構(gòu)清晰,知識(shí)完整
全書以嵌入式為主線,按照“從下層到上層,從具體技術(shù)到方法論”的思路進(jìn)行編寫,結(jié)構(gòu)清晰,便于讀者從宏觀上把握嵌入式系統(tǒng)工程的知識(shí)內(nèi)涵。
深入淺出,易于理解
本書內(nèi)容由淺入深,圍繞嵌入式所需要的知識(shí)點(diǎn)層層論述,同時(shí)結(jié)合具體操作,避免一切空談。
案例面向?qū)嶋H應(yīng)用,變抽象為具體
本書中所有的操作與應(yīng)用都是作者從多年的工作中總結(jié)而來的,同時(shí)把項(xiàng)目的整個(gè)過程按教學(xué)要求分解實(shí)施,力圖向讀者展現(xiàn)一幅完整的嵌入式開發(fā)畫卷。
從自然中來,到自然中去
本書的主要目的是將復(fù)雜問題用通俗易懂的語言和具體而形象的案例展現(xiàn)給讀者,使讀者能夠從中體會(huì)到嵌入式系統(tǒng)開發(fā)的整個(gè)過程。
本書的編寫得到機(jī)械工業(yè)出版社華章公司多位老師的大力支持與關(guān)懷,他們提出了諸多寶貴意見與建議,在此表示感謝。
同時(shí),感謝各高校同行的鼓勵(lì)與支持,特別是華中科技大學(xué)的羅杰老師、廣西大學(xué)的香趙真老師、湖南大學(xué)的王衛(wèi)平老師、華中科技大學(xué)文華學(xué)院信息學(xué)部的俞侃主任,還有兩位研究生付出大量的校對(duì)時(shí)間,以及對(duì)相關(guān)數(shù)據(jù)多次驗(yàn)證并對(duì)文檔進(jìn)行整理。
荊楚理工學(xué)院的李勇老師負(fù)責(zé)本教材的校對(duì)工作,并多次進(jìn)行相關(guān)內(nèi)容的調(diào)整。
教學(xué)建議
本書可作為工科類計(jì)算機(jī)、電子信息、通信工程、自動(dòng)化等相關(guān)專業(yè)學(xué)生的教材。
本書安排48學(xué)時(shí)或更多(其中32學(xué)時(shí)為授課學(xué)時(shí),16學(xué)時(shí)為實(shí)驗(yàn)學(xué)時(shí)),在結(jié)束之后可以依據(jù)實(shí)際情況安排嵌入式系統(tǒng)課程設(shè)計(jì)課程。
章節(jié) 授 課 學(xué) 時(shí) 實(shí) 驗(yàn) 學(xué) 時(shí)
第1章 2
. 第2章 4 2
第3章 4 2
第4章 5 4
第5章 5 4
第6章 4 2
第7章 4 2
第8章 4
授課教師可根據(jù)教學(xué)計(jì)劃,靈活調(diào)整授課學(xué)時(shí)。為方便教學(xué),本書提供全部課件。
由于作者水平有限,書中難免存在疏漏之處,敬請(qǐng)讀者諒解。如果讀者有問題需要與作者討論,請(qǐng)發(fā)送電子郵件到lxy535@163.com。
劉小洋
前言
第1章 嵌入式系統(tǒng)概述1
1.1 嵌入式系統(tǒng)組成1
1.1.1 硬件層2
1.1.2 中間層4
1.1.3 系統(tǒng)軟件層5
1.2 嵌入式開源系統(tǒng)6
1.2.1 開源計(jì)算項(xiàng)目6
1.2.2 開源嵌入式開發(fā)平臺(tái)6
第2章 嵌入式Linux操作系統(tǒng)8
2.1 主流的嵌入式操作系統(tǒng)8
2.1.1 VxWorks8
2.1.2 Windows Embedded8
2.1.3 嵌入式Linux9
2.1.4 嵌入式實(shí)時(shí)內(nèi)核C/OS9
2.2 嵌入式Linux操作系統(tǒng)簡介10
2.3 Linux操作系統(tǒng)實(shí)踐12
2.3.1 Linux系統(tǒng)12
2.3.2 基于VMware安裝RedHat Linux系統(tǒng)13
2.3.3 全屏幕編輯器與vi29
2.3.4 與網(wǎng)絡(luò)相關(guān)的命令32
2.3.5 軟件包的安裝與管理37
第3章 嵌入式系統(tǒng)開發(fā)環(huán)境47
3.1 Linux程序設(shè)計(jì)47
3.1.1 GNUC編譯器47
3.1.2 GCC編譯器48
3.1.3 Makefile52
3.1.4 用GDB調(diào)試程序59
3.2 Linux shell編程61
3.2.1 shell的種類和特點(diǎn)62
3.2.2 shell程序與C語言63
3.2.3 shell 腳本的編寫66
3.2.4 shell與C語言的調(diào)用66
3.3 嵌入式開發(fā)環(huán)境67
3.3.1 嵌入式Linux開發(fā)環(huán)境搭建68
3.3.2 交叉編譯70
3.3.3 交叉編譯工具的分類和說明71
3.3.4 宿主機(jī)交叉環(huán)境建立71
3.4 基于非操作系統(tǒng)的實(shí)踐72
3.4.1 S5PV210 硬件介紹72
3.4.2 啟動(dòng)方式73
3.4.3 S5PV210裸板啟動(dòng)78
3.4.4 非操作系統(tǒng)的驅(qū)動(dòng)79
第4章 嵌入式引導(dǎo)系統(tǒng)96
4.1 概述96
4.1.1 BootLoader的種類96
4.1.2 不同平臺(tái)的開源項(xiàng)目97
4.2 Linux系統(tǒng)引導(dǎo)過程與嵌入式引導(dǎo)過程的區(qū)別99
4.2.1 Linux系統(tǒng)引導(dǎo)過程99
4.2.2 嵌入式引導(dǎo)過程103
4.2.3 引導(dǎo)系統(tǒng)啟動(dòng)方式105
4.2.4 NOR Flash和NAND Flash啟動(dòng)過程的區(qū)別106
4.3 U-Boot系統(tǒng)的實(shí)踐107
4.3.1 U-Boot的組成107
4.3.2 定制S5PV210配置110
4.3.3 編譯U-Boot110
4.3.4 編譯過程分析111
第5章 嵌入式操作系統(tǒng)內(nèi)核114
5.1 概述114
5.2 嵌入式Linux內(nèi)核實(shí)踐123
5.2.1 內(nèi)核編程123
5.2.2 嵌入式Linux內(nèi)核移植實(shí)踐138
5.3 嵌入式Android內(nèi)核移植實(shí)踐152
5.4 基于Android網(wǎng)關(guān)的驅(qū)動(dòng)開發(fā)161
5.4.1 LED燈控制的Android驅(qū)動(dòng)開發(fā)161
5.4.2 步進(jìn)電機(jī)實(shí)驗(yàn)163
5.4.3 三路繼電器實(shí)驗(yàn)166
第6章 嵌入式文件系統(tǒng)168
6.1 概述168
6.1.1 文件存儲(chǔ)結(jié)構(gòu)168
6.1.2 inode示例169
6.1.3 Linux文件類型171
6.2 嵌入式根文件系統(tǒng)171
6.2.1 基于Flash的文件系統(tǒng)172
6.2.2 基于RAM的文件系統(tǒng)174
6.3 嵌入式文件系統(tǒng)實(shí)踐175
6.3.1 BusyBox 簡化嵌入式Linux文件系統(tǒng)175
6.3.2 BusyBox源碼分析175
6.3.3 基于S5PV210內(nèi)核文件系統(tǒng)移植176
第7章 嵌入式驅(qū)動(dòng)開發(fā)187
7.1 概述187
7.1.1 嵌入式Linux的內(nèi)核空間與用戶空間187
7.1.2 嵌入式Linux的設(shè)備管理188
7.1.3 嵌入式Linux的驅(qū)動(dòng)程序190
7.1.4 嵌入式Linux驅(qū)動(dòng)程序的加載方式196
7.1.5 無操作系統(tǒng)時(shí)的設(shè)備驅(qū)動(dòng)196
7.1.6 有操作系統(tǒng)時(shí)的設(shè)備驅(qū)動(dòng)198
7.1.7 內(nèi)核模塊化編程199
7.2 嵌入式驅(qū)動(dòng)開發(fā)實(shí)踐207
7.2.1 嵌入式字符設(shè)備的驅(qū)動(dòng)程序結(jié)構(gòu)207
7.2.2 設(shè)備號(hào)的申請(qǐng)和字符設(shè)備的注冊(cè)208
7.2.3 字符設(shè)備驅(qū)動(dòng)程序重要的數(shù)據(jù)結(jié)構(gòu)209
7.2.4 字符設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)211
7.3 嵌入式驅(qū)動(dòng)開發(fā)案例217
7.3.1 LED的驅(qū)動(dòng)217
7.3.2 LED驅(qū)動(dòng)程序218
7.3.3 ADC轉(zhuǎn)換驅(qū)動(dòng)223
7.4 嵌入式Qt驅(qū)動(dòng)開發(fā)案例228
7.4.1 Qt Creator簡介228
7.4.2 Qt Creator的安裝和搭建228
7.4.3 驅(qū)動(dòng)程序分析233
7.4.4 LED蜂鳴器控制驅(qū)動(dòng)案例234
7.4.5 步進(jìn)電機(jī)控制驅(qū)動(dòng)案例238
7.4.6 繼電器控制驅(qū)動(dòng)案例241
7.4.7 8×7矩陣鍵盤驅(qū)動(dòng)案例244
7.4.8 16×24點(diǎn)陣屏驅(qū)動(dòng)案例246
第8章 嵌入式綜合項(xiàng)目案例249
8.1 開源硬件pcDuino3的開發(fā)基礎(chǔ)249
8.1.1 通過VNC訪問pcDuino3桌面249
8.1.2 基于pcDuino的編程251
8.1.3 pcDuino BSP的開發(fā)252
8.2 基于S5PV210的嵌入式無線路燈控制系統(tǒng)259
8.2.1 項(xiàng)目背景259
8.2.2 方案介紹260
8.2.3 功能實(shí)現(xiàn)261
8.2.4 后臺(tái)控制系統(tǒng)262
參考文獻(xiàn)264