嵌入式Linux開(kāi)發(fā)技術(shù)基礎(chǔ)
-
【作 者】主編 伍德雁
【I S B N 】978-7-5170-5514-3
【責(zé)任編輯】李炎
【適用讀者群】本專通用
【出版時(shí)間】2017-06-01
【開(kāi) 本】16開(kāi)
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁(yè) 數(shù)】196
【千字?jǐn)?shù)】303
【印 張】12.25
【定 價(jià)】¥28
【叢 書(shū)】物聯(lián)網(wǎng)工程專業(yè)系列教材
【備注信息】
簡(jiǎn)介
本書(shū)特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書(shū)
本書(shū)是嵌入式Linux開(kāi)發(fā)的基礎(chǔ)教程,介紹了嵌入式Linux的概念和相關(guān)的開(kāi)發(fā)技術(shù)。在編寫(xiě)上注重基礎(chǔ)性和可操作性,以應(yīng)用為驅(qū)動(dòng),以案例為依托,將理論知識(shí)與技能培養(yǎng)相結(jié)合。全書(shū)共分為15章,包括嵌入式系統(tǒng)和嵌入式Linux的概念、搭建開(kāi)發(fā)環(huán)境、開(kāi)發(fā)基礎(chǔ)流程、使用自定義函數(shù)、使用多文件、使用make管理項(xiàng)目、文件讀寫(xiě)、網(wǎng)絡(luò)通信、驅(qū)動(dòng)程序、控制嵌入式系統(tǒng)的硬件、QT基礎(chǔ)等內(nèi)容。
本書(shū)由從事嵌入式Linux開(kāi)發(fā)教學(xué)工作多年的教師編寫(xiě),在組織內(nèi)容時(shí)對(duì)廣度和深度都做了充分的考慮,盡量做到對(duì)嵌入式Linux開(kāi)發(fā)既有一個(gè)比較全面的介紹,又沒(méi)有太大的難度。行文風(fēng)格近似課堂教學(xué),對(duì)概念的講解深入淺出,同時(shí)具備較強(qiáng)的可操作性,可用作高等院校物聯(lián)網(wǎng)專業(yè)以及相關(guān)專業(yè)的教材,也可作為嵌入式Linux開(kāi)發(fā)初學(xué)者的入門教材。
本書(shū)是嵌入式Linux開(kāi)發(fā)的基礎(chǔ)教程,介紹了嵌入式Linux的概念和相關(guān)的開(kāi)發(fā)技術(shù)。在編寫(xiě)上注重基礎(chǔ)性和可操作性,以應(yīng)用為驅(qū)動(dòng),以案例為依托,將理論知識(shí)與技能培養(yǎng)相結(jié)合。
本書(shū)由從事嵌入式Linux開(kāi)發(fā)教學(xué)工作多年的教師編寫(xiě),在組織內(nèi)容時(shí)對(duì)廣度和深度都做了充分的考慮,盡量做到對(duì)嵌入式Linux開(kāi)發(fā)既有一個(gè)比較全面的介紹,又沒(méi)有太大的難度。
本書(shū)行文風(fēng)格近似課堂教學(xué),對(duì)概念的講解深入淺出,同時(shí)具備較強(qiáng)的可操作性,可用作高等院校物聯(lián)網(wǎng)專業(yè)以及相關(guān)專業(yè)的教材,也可作為嵌入式Linux開(kāi)發(fā)初學(xué)者的入門教材。
近年來(lái),隨著計(jì)算機(jī)技術(shù)的發(fā)展、電子制造技術(shù)的微型化以及控制理論的完善,嵌入式技術(shù)得到了快速發(fā)展,并在各行各業(yè)得到了廣泛的應(yīng)用。越來(lái)越多的學(xué)校開(kāi)設(shè)了與嵌入式系統(tǒng)相關(guān)的課程,有些學(xué)校甚至開(kāi)設(shè)了嵌入式技術(shù)專業(yè)。
編者在高等院校從事計(jì)算機(jī)類課程的教學(xué)工作十幾年,對(duì)嵌入式Linux開(kāi)發(fā)課程的教學(xué)工作也深有體會(huì)。眾所周知,IT行業(yè)是一個(gè)知識(shí)更新?lián)Q代非常快的行業(yè),編者在教學(xué)過(guò)程中也需要不斷地學(xué)習(xí)新知識(shí)與新技術(shù)。在教學(xué)和自學(xué)的過(guò)程中,編者逐漸地發(fā)現(xiàn),“螺旋式學(xué)習(xí)模型”是掌握一門課程較有效的學(xué)習(xí)方法之一。
所謂的螺旋式學(xué)習(xí)模型,是編者借用了軟件工程開(kāi)發(fā)模型中知識(shí)自定義的學(xué)習(xí)模型,是指由淺入深,逐漸迭代的學(xué)習(xí)方法。首先學(xué)習(xí)課程最基礎(chǔ)的知識(shí),對(duì)課程有了初步的概念后,再適當(dāng)增加難度和廣度,向前邁進(jìn)一步,然后如此多次反復(fù),最后對(duì)課程的掌握就能達(dá)到一個(gè)很好的高度。所以,編者每自學(xué)一個(gè)新的知識(shí),一般都會(huì)選擇從最基礎(chǔ)的學(xué)起,再逐漸深入。
每一種學(xué)習(xí)方法都需要有相應(yīng)的教材作為配套。所以,編者就想結(jié)合自己多年的教學(xué)經(jīng)驗(yàn)和心得,按照“螺旋式學(xué)習(xí)模型”的思想,編寫(xiě)一本嵌入式Linux開(kāi)發(fā)的入門教材。這就是本書(shū)編寫(xiě)的初衷。
作為入門教材,本書(shū)具有以下特點(diǎn):
1.簡(jiǎn)單。本書(shū)在組織內(nèi)容時(shí)對(duì)廣度和深度都做了充分的考慮,盡量做到讓初學(xué)者對(duì)嵌入式Linux開(kāi)發(fā)既有一個(gè)比較全面的了解,又沒(méi)有太大的難度。因此,選取了一些相對(duì)比較簡(jiǎn)單的必要的知識(shí),舍棄了燒寫(xiě)系統(tǒng)、進(jìn)程控制等一些初級(jí)階段較少用或者不用的知識(shí),并在講解驅(qū)動(dòng)程序時(shí)使用了虛擬的硬件,使得初學(xué)者既能夠理解驅(qū)動(dòng)程序的相關(guān)知識(shí),又避開(kāi)了較難的底層機(jī)器指令的操作。
2.行文風(fēng)格類似課堂講課,通俗易懂。每一個(gè)行業(yè)都有大量概念和術(shù)語(yǔ),這些概念和術(shù)語(yǔ)對(duì)于一個(gè)資深從業(yè)者而言耳熟能詳,但對(duì)于初學(xué)者來(lái)說(shuō)可能會(huì)顯得不是那么友好。針對(duì)這個(gè)問(wèn)題,本書(shū)以類似課堂講課的風(fēng)格展開(kāi),以通俗易懂的語(yǔ)言解釋相關(guān)的概念和術(shù)語(yǔ),盡量避免以概念解釋概念,以術(shù)語(yǔ)解釋術(shù)語(yǔ)。遇到一些相對(duì)比較抽象的概念和術(shù)語(yǔ),書(shū)中輔以生活中的現(xiàn)象和例子作類比,以幫助讀者理解。
3.具有較強(qiáng)的可操作性。嵌入式Linux開(kāi)發(fā)是一門實(shí)踐性很強(qiáng)的課程,邊學(xué)習(xí)邊操作才會(huì)有好的效果,對(duì)于加強(qiáng)記憶、加深理解和保持興趣都有很大的幫助。鑒于此,除了純概念章節(jié)外,每章都提供了經(jīng)典的例子以供讀者實(shí)踐。同時(shí),考慮到部分讀者為自學(xué)者,除講解例子本身外,還講解了必要的操作過(guò)程,文字不容易理解的地方還輔以直觀的插圖,以避免自學(xué)者在編輯、編譯、運(yùn)行中的某個(gè)環(huán)節(jié)被卡住而無(wú)計(jì)可施。
4.章節(jié)結(jié)構(gòu)統(tǒng)一。除第1章是純概念的章節(jié)外,其余章節(jié)基本上按照“總體概念→例子→程序解讀”的模式展開(kāi),在例子前后穿插必要的操作步驟,在程序解讀過(guò)程中穿插解釋一些必要的術(shù)語(yǔ)和概念。
本書(shū)精心編寫(xiě)了每一個(gè)例子,確保每個(gè)例子都能正確無(wú)誤地運(yùn)行。并且,從頭到尾都在向讀者灌輸一種好的編程習(xí)慣和思想。
為了方便讀者上機(jī)實(shí)驗(yàn),在沒(méi)有涉及到嵌入式系統(tǒng)的專用硬件時(shí),本書(shū)的例子直接以PC Linux為實(shí)驗(yàn)平臺(tái);只有在涉及到嵌入式系統(tǒng)的專用硬件時(shí),才把程序移植到嵌入式Linux上運(yùn)行。
本書(shū)是編者按照自定義的“螺旋式學(xué)習(xí)模型”,針對(duì)初學(xué)者和自學(xué)者的一次嘗試,適合高等院校物聯(lián)網(wǎng)相關(guān)專業(yè)、計(jì)算機(jī)相關(guān)專業(yè)的在校學(xué)生,以及其他自學(xué)者、初學(xué)者學(xué)習(xí)使用。
本書(shū)在編寫(xiě)過(guò)程中參考了作者手頭和圖書(shū)館能借到的所有相關(guān)教材,以及網(wǎng)上大量的相關(guān)資料。在此衷心感謝這些教材的編者和出版社、網(wǎng)上資料的創(chuàng)作者、轉(zhuǎn)載者以及相關(guān)的網(wǎng)站。
由于編者水平有限,加之時(shí)間倉(cāng)促,書(shū)中難免存在不妥和錯(cuò)誤之處,敬請(qǐng)廣大讀者批評(píng)指正。
第1章 認(rèn)識(shí)嵌入式系統(tǒng) 1
1.1 什么是嵌入式系統(tǒng) 1
1.2 嵌入式系統(tǒng)的發(fā)展歷史 2
1.3 嵌入式系統(tǒng)的應(yīng)用 3
1.4 常見(jiàn)的嵌入式操作系統(tǒng) 5
1.5 嵌入式Linux的優(yōu)點(diǎn) 6
1.6 本書(shū)的內(nèi)容以及結(jié)構(gòu) 7
小結(jié) 8
思考與練習(xí) 8
第2章 在虛擬機(jī)上安裝Linux 9
2.1 虛擬機(jī)軟件簡(jiǎn)介 9
2.2 下載安裝VMware Workstation Player 10
2.3 Linux發(fā)行版本簡(jiǎn)介 12
2.4 在虛擬機(jī)上安裝CentOS 6.7 14
小結(jié) 23
思考與練習(xí) 23
第3章 搭建C語(yǔ)言開(kāi)發(fā)環(huán)境 24
3.1 IDE和分步開(kāi)發(fā) 24
3.2 安裝C語(yǔ)言開(kāi)發(fā)工具集 24
3.3 優(yōu)化gedit編碼環(huán)境 29
小結(jié) 35
思考與練習(xí) 35
第4章 第一個(gè)Linux C程序Hello world! 36
4.1 準(zhǔn)備工作 36
4.2 編寫(xiě)代碼 36
4.3 編譯、鏈接程序 39
小結(jié) 43
思考與練習(xí) 43
第5章 使用自定義函數(shù) 44
5.1 在程序中使用自定義函數(shù) 44
5.2 使用多個(gè)自定義函數(shù) 48
小結(jié) 50
思考與練習(xí) 50
第6章 使用多個(gè)源文件編程 51
6.1 使用多個(gè)源文件編程 51
6.2 多源文件的項(xiàng)目編譯 55
6.3 【項(xiàng)目6.1】的另外版本 56
小結(jié) 58
思考與練習(xí) 58
第7章 認(rèn)識(shí)和使用make工具 59
7.1 認(rèn)識(shí)make工具 59
7.2 改進(jìn)版Makefile 63
7.3 Makefile的進(jìn)階用法 65
7.3.1 偽目標(biāo) 65
7.3.2 使用變量 66
小結(jié) 67
思考與練習(xí) 67
第8章 文件讀寫(xiě) 68
8.1 基于句柄的文件讀操作 68
8.2 基于句柄的文件寫(xiě)操作 71
8.3 基于流的文件讀寫(xiě)操作 73
小結(jié) 76
思考與練習(xí) 76
第9章 網(wǎng)絡(luò)通信編程 78
9.1 網(wǎng)絡(luò)通信基本原理 78
9.2 網(wǎng)絡(luò)編程基礎(chǔ) 81
9.2.1 套接字 81
9.2.2 數(shù)據(jù)存儲(chǔ)字節(jié)序 81
9.2.3 套接字?jǐn)?shù)據(jù)類型 82
9.2.4 地址格式轉(zhuǎn)換 83
9.2.5 網(wǎng)絡(luò)編程流程 83
9.3 TCP協(xié)議網(wǎng)絡(luò)編程實(shí)例 84
9.4 UDP協(xié)議網(wǎng)絡(luò)編程實(shí)例 89
小結(jié) 94
思考與練習(xí) 95
第10章 驅(qū)動(dòng)程序初步 96
10.1 驅(qū)動(dòng)程序基本概念 96
10.2 最簡(jiǎn)單的字符設(shè)備驅(qū)動(dòng)程序 98
10.3 驅(qū)動(dòng)程序進(jìn)階1 103
10.4 測(cè)試程序 106
小結(jié) 108
思考與練習(xí) 108
第11章 驅(qū)動(dòng)程序進(jìn)階2 109
11.1 具備讀寫(xiě)接口的驅(qū)動(dòng)程序 109
11.2 測(cè)試程序 113
小結(jié) 115
思考與練習(xí) 115
第12章 嵌入式Linux開(kāi)發(fā)基礎(chǔ) 116
12.1 嵌入式系統(tǒng)結(jié)構(gòu)特點(diǎn) 116
12.2 嵌入式系統(tǒng)所采用的處理器(CPU) 117
12.3 凌陽(yáng)實(shí)驗(yàn)箱簡(jiǎn)介 119
12.4 交叉編譯 120
12.5 交叉編譯工具arm-linux-gcc的
安裝和配置 122
12.6 在嵌入式Linux上運(yùn)行第1個(gè)程序
Hello world! 123
小結(jié) 126
思考與練習(xí) 126
第13章 控制板載LED 127
13.1 控制板載LED的方法和相關(guān)概念 127
13.2 爆閃式LED控制程序 129
13.3 跑馬燈LED控制程序 131
13.4 按鍵讀取程序 133
13.5 按鍵控制LED 136
小結(jié) 139
思考與練習(xí) 139
第14章 串口通信和GPIO的使用 140
14.1 串口通信基礎(chǔ) 140
14.2 串口通信程序 143
14.3 GPIO基礎(chǔ) 149
14.4 GPIO編程 150
小結(jié) 153
思考與練習(xí) 154
第15章 基于Qt的嵌入式Linux GUI程序
設(shè)計(jì)基礎(chǔ) 155
15.1 Qt相關(guān)概念 155
15.2 最簡(jiǎn)單的Qt應(yīng)用程序Hello world! 157
15.3 人工編碼的Hello world!程序 164
15.4 圖形界面控制LED 166
小結(jié) 176
思考與練習(xí) 176
附錄1 常用標(biāo)準(zhǔn)輸入輸出函數(shù) 177
附錄2 基于句柄的文件讀寫(xiě)函數(shù) 179
附錄3 基于流的文件讀寫(xiě)函數(shù) 181
附錄4 基于套接字的網(wǎng)絡(luò)通信函數(shù) 185
- C程序設(shè)計(jì)實(shí)踐教程 [劉衛(wèi)國(guó)]
- C程序設(shè)計(jì)(慕課版) [劉衛(wèi)國(guó)]
- 程序設(shè)計(jì)基礎(chǔ)實(shí)踐教程(C/C++語(yǔ)言版) [張桂芬 葛麗娜]
- C++案例項(xiàng)目精講 [主編 楊國(guó)興]
- SwiftUI完全開(kāi)發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程 [陳亞峰]
- C語(yǔ)言程序設(shè)計(jì)習(xí)題與實(shí)驗(yàn)指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語(yǔ)言程序設(shè)計(jì)(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實(shí)應(yīng)用開(kāi)發(fā)實(shí)踐 [主 編 劉龍]
- Python程序設(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語(yǔ)言程序設(shè)計(jì)實(shí)踐教程(活頁(yè)式) [主編 鄭茵 陳巍 滕泓虬]
- Linux操作系統(tǒng)基礎(chǔ) [宋焱宏 張勇]
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- Python程序設(shè)計(jì)基礎(chǔ)及實(shí)戰(zhàn) [主編 劉健]
- C語(yǔ)言程序設(shè)計(jì) [姜雪]
- Python程序設(shè)計(jì)實(shí)踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計(jì)實(shí)踐教程(第三版) [主編 劉衛(wèi)國(guó) 曹岳輝]
- C++程序設(shè)計(jì)(第三版) [主編 曹岳輝 劉衛(wèi)國(guó)]
- C語(yǔ)言程序設(shè)計(jì)項(xiàng)目化教程(活頁(yè)式) [主編 張利華 潘曉利]
- 機(jī)器人流程自動(dòng)化(RPA)實(shí)戰(zhàn)——基于UiPath [主編 金鑫]
- Python 語(yǔ)言程序設(shè)計(jì)實(shí)踐指導(dǎo) [主編 張雙獅]
- Python程序設(shè)計(jì)案例教程 [主編 毛錦庚 鐘肖英 周賢來(lái) ]
- 基于.NET Core框架的分布式系統(tǒng)架構(gòu)設(shè)計(jì) [湯佳 著]
- Python語(yǔ)言程序設(shè)計(jì)教程 [郭其標(biāo) 房宜汕]
- Python程序設(shè)計(jì) [李國(guó)燕 王新強(qiáng) 劉佳 等編著]
- Python程序設(shè)計(jì)項(xiàng)目化教程(活頁(yè)式) [主編 盧鳳偉]
- Java編程基礎(chǔ)案例式教程 [主編 陳艷華 唐春蘭]
- Python語(yǔ)言同步案例習(xí)題精解 [主編 肖朝暉]
- Unity應(yīng)用開(kāi)發(fā)與實(shí)戰(zhàn)(微課版) [主 編 程永恒]
- PHP程序設(shè)計(jì)項(xiàng)目化教程 [主 編 杜海穎]
- 生活經(jīng)管more>>
- 物聯(lián)網(wǎng)導(dǎo)論(第三版)
- 智能家居項(xiàng)目化教程
- 物聯(lián)網(wǎng)實(shí)訓(xùn)案例設(shè)計(jì)
- 無(wú)線傳感網(wǎng)絡(luò)實(shí)訓(xùn)教程
- 嵌入式Linux開(kāi)發(fā)技術(shù)基礎(chǔ)
- RFID技術(shù)與應(yīng)用實(shí)訓(xùn)教程
- 嵌入式應(yīng)用Qt_C++傳感數(shù)據(jù)采集開(kāi)發(fā)實(shí)訓(xùn)
- 物聯(lián)網(wǎng)通信技術(shù)
- 物聯(lián)網(wǎng)工程導(dǎo)論
- 物聯(lián)網(wǎng)導(dǎo)論(第二版)
- 物聯(lián)網(wǎng)應(yīng)用綜合項(xiàng)目開(kāi)發(fā)
- 物聯(lián)網(wǎng)典型應(yīng)用案例
- 物聯(lián)網(wǎng)技術(shù)應(yīng)用開(kāi)發(fā)
- 嵌入式Qt開(kāi)發(fā)項(xiàng)目教程
- 物聯(lián)網(wǎng)導(dǎo)論
- 智能物流