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