本書較為全面地介紹了嵌入式操作系統(tǒng),全書共10章,分別為嵌入式Linux 操作系統(tǒng)簡介、嵌入式Linux操作系統(tǒng)的使用、Linux軟件管理、Linux用戶管理、Linux文件系統(tǒng)、Linux網(wǎng)絡(luò)配置管理、嵌入式Linux編程環(huán)境、Shell編程環(huán)境、中斷與設(shè)備管理、正則表達式,書中還提供了練習(xí)題和配套視頻。
本書可以作為高等院校嵌入式相關(guān)專業(yè)和計算機相關(guān)專業(yè)的教材,也可以作為計算機軟硬件培訓(xùn)班教材,還可以作為嵌入式研究方向的專業(yè)人才和廣大計算機愛好者的參考用書。
劉洪濤,北京華清遠見科技信息有限公司技術(shù)總監(jiān),ARM公司全球認證講師。參與編寫過幾十本專業(yè)圖書;國內(nèi)知名物聯(lián)網(wǎng)方向技術(shù)顧問;首批高校物聯(lián)網(wǎng)專業(yè)建設(shè)教學(xué)指導(dǎo)委員會專家委員會成員;豐富的嵌入式及物聯(lián)網(wǎng)系統(tǒng)軟、硬件產(chǎn)品開發(fā)經(jīng)驗;主持開發(fā)過多個大型嵌入式及物聯(lián)網(wǎng)項目,涉及工業(yè)控制、網(wǎng)絡(luò)、通訊、消費電子等眾多領(lǐng)域。
第1章 嵌入式Linux操作系統(tǒng)簡介 1
1.1 操作系統(tǒng) 2
1.1.1 操作系統(tǒng)的基本概念 2
1.1.2 操作系統(tǒng)的主要組成 4
1.2 嵌入式系統(tǒng)與通用PC系統(tǒng)的不同 5
1.3 嵌入式操作系統(tǒng) 7
1.4 嵌入式Linux基礎(chǔ) 9
1.4.1 Linux發(fā)展概述 9
1.4.2 Linux作為嵌入式操作系統(tǒng)的優(yōu)勢 11
1.4.3 Linux發(fā)行版本 12
1.5 Linux系統(tǒng)安裝 13
1.5.1 文件系統(tǒng)和硬盤分區(qū)的概念 13
1.5.2 安裝準(zhǔn)備 15
1.5.3 安裝過程 15
1.6 安裝虛擬機工具 27
1.7 配置vim編輯環(huán)境 33
思考與練習(xí) 33
第2章 Linux操作系統(tǒng)的使用 34
2.1 認識Shell 35
2.2 Shell命令的格式 36
2.2.1 命令提示符 36
2.2.2 命令格式 37
2.3 Linux命令 37
2.3.1 用戶系統(tǒng)相關(guān)命令 37
2.3.2 文件、目錄相關(guān)命令 42
2.3.3 壓縮打包相關(guān)命令 52
2.3.4 文件比較命令diff 55
2.4 Linux環(huán)境變量 57
思考與練習(xí) 59
第3章 Linux軟件管理 60
3.1 Linux系統(tǒng)的軟件管理機制 61
3.1.1 常用軟件包管理工具簡介 61
3.1.2 軟件的安裝與卸載 62
3.1.3 靜態(tài)軟件包的管理 64
3.1.4 軟件包的制作 68
3.2 APT高級軟件包管理工具 69
3.2.1 APT的運行機制 69
3.2.2 3個重要的配置文件 72
3.2.3 apt-get工具集 72
3.2.4 apt-cache工具集 79
思考與練習(xí) 83
第4章 Linux用戶管理 84
4.1 用戶的定義 85
4.1.1 用戶的屬性 85
4.1.2 用戶與組 85
4.1.3 相關(guān)的配置文件 86
4.2 管理命令 87
4.2.1 創(chuàng)建用戶 87
4.2.2 刪除用戶 88
4.2.3 修改屬性 89
4.2.4 組管理 89
4.2.5 用戶間通信 90
4.3 磁盤配額 90
4.3.1 磁盤配額的概念 90
4.3.2 相關(guān)命令 91
4.3.3 應(yīng)用實例 93
思考與練習(xí) 96
第5章 Linux文件系統(tǒng) 97
5.1 文件和目錄 98
5.1.1 Linux文件的分類 98
5.1.2 Linux目錄結(jié)構(gòu) 99
5.2 文件系統(tǒng) 100
5.3 文件系統(tǒng)體系結(jié)構(gòu) 101
5.4 使用BusyBox制作根文件系統(tǒng) 103
5.4.1 配置與編譯BusyBox 103
5.4.2 制作initrd鏡像 105
思考與練習(xí) 108
第6章 Linux網(wǎng)絡(luò)配置管理 109
6.1 網(wǎng)絡(luò)基礎(chǔ)知識介紹 110
6.1.1 IP地址 110
6.1.2 子網(wǎng)掩碼 111
6.1.3 網(wǎng)關(guān) 111
6.1.4 DNS服務(wù)器 112
6.2 Linux系統(tǒng)網(wǎng)絡(luò)配置 112
6.2.1 ifconfig命令 112
6.2.2 修改配置文件來配置IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼 114
6.2.3 配置DNS服務(wù)器 115
6.3 Linux系統(tǒng)常用網(wǎng)絡(luò)服務(wù)配置 116
6.3.1 TFTP服務(wù) 117
6.3.2 NFS服務(wù) 120
思考與練習(xí) 123
第7章 嵌入式Linux編程環(huán)境 124
7.1 Linux編輯器vi的使用 125
7.1.1 vi的工作模式 125
7.1.2 使用vi的基本流程 126
7.1.3 vi的模式按鈕說明 127
7.2 GCC編譯器 130
7.2.1 GCC編譯流程及編譯選項分析 130
7.2.2 GCC編譯選項分析 133
7.3 GDB調(diào)試器 134
7.3.1 GDB使用流程 134
7.3.2 GDB命令行參數(shù) 138
7.3.3 GDB基本命令 139
7.4 Make工程管理器 143
7.4.1 Makefile基本規(guī)則 144
7.4.2 Makefile假目標(biāo) 149
7.4.3 Makefile變量 150
思考與練習(xí) 152
第8章 Shell編程 153
8.1 認識Shell腳本 154
8.2 Shell腳本的基本語法 154
8.2.1 開頭 155
8.2.2 執(zhí)行 155
8.2.3 注釋 156
8.2.4 變量 156
8.2.5 Shell程序和語句 161
8.2.6 Shell函數(shù) 172
8.2.7 Shell腳本調(diào)用 174
8.3 Shell俄羅斯方塊游戲 174
8.3.1 方塊定義 175
8.3.2 方塊移動 178
8.3.3 隨機數(shù) 185
8.3.4 隨機方塊移動 188
8.3.5 隨機方塊降落 193
思考與練習(xí) 198
第9章 中斷及設(shè)備管理 199
9.1 中斷的概念 200
9.2 嵌入式平臺硬件中斷特點 201
9.3 Linux內(nèi)核中斷機制概述 204
9.3.1 中斷處理系統(tǒng)結(jié)構(gòu) 208
9.3.2 注冊中斷處理函數(shù) 209
9.3.3 中斷標(biāo)志flags 211
9.3.4 ISR上下文 212
9.4 設(shè)備及設(shè)備管理的功能 212
9.4.1 設(shè)備分類 212
9.4.2 設(shè)備管理 213
9.4.3 Linux字符設(shè)備 213
9.4.4 Linux塊設(shè)備 215
9.4.5 Linux網(wǎng)絡(luò)接口 216
9.4.6 Linux設(shè)備文件 216
思考與練習(xí) 218
第10章 正則表達式 219
10.1 正則表達式的起源 220
10.2 正則表達式的基本概念 220
10.3 正則表達式中常用符號的定義 221
10.3.1 普通字符 221
10.3.2 非打印字符 221
10.3.3 特殊字符 222
10.3.4 限定符 222
10.4 正則表達式常用匹配規(guī)則 223
10.4.1 基本模式匹配 223
10.4.2 字符簇 224
10.4.3 確定重復(fù)出現(xiàn) 225
10.5 正則表達式應(yīng)用部分示例 226
10.5.1 簡單表達式 226
10.5.2 字符匹配 226
10.5.3 中括號表達式 227
10.5.4 替換和分組 228
10.5.5 其他示例 229
思考與練習(xí) 230