嵌入式Linux開發(fā)技術(shù)基礎

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