《嵌入式Linux應用程式開發標準教程(第2版)》是2020年1月人民郵電出版社出版的圖書,作者是華清遠見嵌入式培訓中心。
基本介紹
- 書名:嵌入式Linux應用程式開發標準教程(第2版)
- 作者:華清遠見嵌入式培訓中心
- ISBN:9787115194749
- 頁數:396頁
- 定價:49元
- 出版社:人民郵電出版社
- 出版時間:2020年1月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書主要分為3個部分,包括Linux基礎、搭建嵌入式Linux環境和嵌入式Linux的套用開發。Linux基礎部分從Linux基礎、基本操作命令講起,為Linux初學者能快速入門提供了保證。接著系統地講解了嵌入式Linux的環境搭建,以及嵌入式Linux的I/O與檔案系統的開發、進程控制開發、進程間通信開發、網路套用開發、基於中斷的開發、設備驅動程式的開發以及嵌入式圖形界面的開發等,並且還安排了豐富的實驗內容與課後實踐,使讀者能夠邊學邊用,更快更好地掌握所學知識。
本書可作為高等院校電子類、電氣類、控制類等專業高年級本科生、研究生學習嵌入式Linux的教材,也可供希望轉入嵌入式領域的科研和工程技術人員參考使用,還可作為嵌入式培訓班的教材和參考書。
圖書目錄
第 1章 Linux快速入門 1
1.1 嵌入式Linux基礎 1
1.1.1 Linux發展概述 2
1.1.2 Linux作為嵌入式作業系統的優勢 2
1.1.3 Linux發行版本 3
1.1.4 如何學習Linux 4
1.2 Linux安裝 4
1.2.1 基礎概念 5
1.2.2 硬體需求 6
1.2.3 安裝準備 7
1.3 Linux檔案及檔案系統 7
1.3.1 檔案類型及檔案屬性 7
1.3.2 檔案系統類型介紹 9
1.3.3 Linux結構 10
1.4 實驗內容——安裝Linux作業系統 11
1.5 本章小結 12
1.6 思考與練習 12
第 2章 Linux基礎命令 13
2.1 Linux常用命令 13
2.1.1 用戶系統相關命令 14
2.1.2 檔案相關命令 21
2.1.3 壓縮打包相關命令 32
2.1.4 檔案比較合併相關命令 34
2.1.5 網路相關命令 38
2.2 Linux啟動過程詳解 43
2.2.1 概述 43
2.2.2 核心引導階段 44
2.2.3 init階段 45
2.3 Linux系統服務 47
2.3.1 獨立運行的服務 48
2.3.2 xinetd設定的服務 48
2.3.3 系統服務的其他相關命令 49
2.4 實驗內容 50
2.4.1 在Linux下解壓常見軟體 50
2.4.2 定製Linux系統服務 51
2.5 本章小結 52
2.6 思考與練習 52
第3章 Linux下C編程基礎 53
3.1 Linux下C語言編程概述 53
3.1.1 C語言簡單回顧 53
3.1.2 Linux下C語言編程環境概述 54
3.2 常用編輯器 55
3.2.1 進入vi 55
3.2.2 初探emacs 57
3.3 gcc編譯器 60
3.3.1 gcc編譯流程解析 60
3.3.2 gcc編譯選項分析 62
3.4 gdb調試器 67
3.4.1 gdb使用流程 67
3.4.2 gdb基本命令 71
3.5 make工程管理器 75
3.5.1 makefile基本結構 75
3.5.2 makefile變數 76
3.5.3 makefile規則 79
3.5.4 make管理器的使用 80
3.6 使用autotools 80
3.6.1 autotools使用流程 81
3.6.2 使用autotools所生成的makefile 84
3.7 實驗內容 86
3.7.1 vi使用練習 86
3.7.2 用gdb調試程式的bug 87
3.7.3 編寫包含多檔案的makefile 89
3.7.4 使用autotools生成包含多檔案的makefile 91
3.8 本章小結 92
3.9 思考與練習 93
第4章 嵌入式系統基礎 94
4.1 嵌入式系統概述 94
4.1.1 嵌入式系統簡介 94
4.1.2 嵌入式系統發展歷史 95
4.1.3 嵌入式系統的特點 96
4.1.4 嵌入式系統的體系結構 96
4.1.5 幾種主流嵌入式作業系統分析 97
4.2 ARM處理器硬體開發平台 99
4.2.1 ARM處理器簡介 99
4.2.2 ARM體系結構簡介 101
4.2.3 ARM9體系結構 101
4.2.4 S3C2410處理器詳解 104
4.3 嵌入式軟體開發流程 109
4.3.1 嵌入式系統開發概述 109
4.3.2 嵌入式軟體開發概述 109
4.4 實驗內容——使用JTAG燒寫Nand Flash 114
4.5 本章小結 116
4.6 思考與練習 117
第5章 嵌入式Linux開發環境的搭建 118
5.1 嵌入式開發環境的搭建 118
5.1.1 嵌入式交叉編譯環境的搭建 118
5.1.2 超級終端和minicom配置及使用 120
5.1.3 下載映像到開發板 123
5.1.4 編譯嵌入式Linux核心 126
5.1.5 Linux核心源碼結構 129
5.1.6 製作檔案系統 130
5.2 U-Boot移植 134
5.2.1 Bootloader介紹 134
5.2.2 U-Boot概述 136
5.2.3 U-Boot源碼導讀 137
5.2.4 U-Boot移植主要步驟 142
5.3 實驗內容——創建Linux核心和檔案系統 150
5.4 本章小結 151
5.5 思考與練習 151
第6章 檔案I/O編程 152
6.1 Linux系統調用及用戶編程接口(API) 152
6.1.1 系統調用 152
6.1.2 用戶編程接口(API) 153
6.1.3 系統命令 153
6.2 Linux中檔案及檔案描述符概述 153
6.3 底層檔案I/O操作 154
6.3.1 基本檔案操作 154
6.3.2 檔案鎖 158
6.3.3 多路復用 163
6.4 嵌入式Linux串口套用編程 171
6.4.1 串口概述 171
6.4.2 串口設定詳解 172
6.4.3 串口使用詳解 181
6.5 標準I/O編程 185
6.5.1 基本操作 185
6.5.2 其他操作 189
6.6 實驗內容 191
6.6.1 檔案讀寫及上鎖 191
6.6.2 多路復用式串口操作 198
6.7 本章小結 202
6.8 思考與練習 202
第7章 進程控制開發 203
7.1 Linux進程概述 203
7.1.1 進程的基本概念 203
7.1.2 Linux下的進程結構 205
7.1.3 Linux下進程的模式和類型 205
7.1.4 Linux下的進程管理 205
7.2 Linux進程控制編程 206
7.3 Linux守護進程 217
7.3.1 守護進程概述 217
7.3.2 編寫守護進程 218
7.3.3 守護進程的出錯處理 221
7.4 實驗內容 225
7.4.1 編寫多進程程式 225
7.4.2 編寫守護進程 229
7.5 本章小結 231
7.6 思考與練習 232
第8章 進程間通信 233
8.1 Linux下進程間通信概述 233
8.2 管道 234
8.2.1 管道概述 234
8.2.2 管道系統調用 235
8.2.3 標準流管道 237
8.2.4 FIFO 239
8.3 信號 243
8.3.1 信號概述 243
8.3.2 信號傳送與捕捉 245
8.3.3 信號的處理 247
8.4 信號量 254
8.4.1 信號量概述 254
8.4.2 信號量的套用 255
8.5 共享記憶體 260
8.5.1 共享記憶體概述 260
8.5.2 共享記憶體的套用 260
8.6 訊息佇列 266
8.6.1 訊息佇列概述 266
8.6.2 訊息佇列的套用 266
8.7 實驗內容 271
8.7.1 管道通信實驗 271
8.7.2 共享記憶體實驗 275
8.8 本章小結 280
8.9 思考與練習 280
第9章 多執行緒編程 281
9.1 Linux執行緒概述 281
9.1.1 執行緒概述 281
9.1.2 執行緒機制的分類和特性 282
9.2 Linux執行緒編程 282
9.2.1 執行緒基本編程 282
9.2.2 執行緒之間的同步與互斥 286
9.2.3 執行緒屬性 293
9.3 實驗內容——“生產者消費者”實驗 297
9.4 本章小結 302
9.5 思考與練習 302
第 10章 嵌入式Linux網路編程 303
10.1 TCP/IP概述 303
10.1.1 OSI參考模型及TCP/IP參考模型 303
10.1.2 TCP/IP協定族 304
10.1.3 TCP和UDP 304
10.2 網路基礎編程 307
10.2.1 socket概述 307
10.2.2 地址及順序處理 307
10.2.3 socket基礎編程 312
10.3 網路編程 319
10.4 實驗內容——NTP協定實現 324
10.5 本章小結 330
10.6 思考與練習 330
第 11章 嵌入式Linux設備驅動開發 331
11.1 設備驅動概述 331
11.1.1 設備驅動簡介及驅動模組 331
11.1.2 設備分類 332
11.1.3 設備號 333
11.1.4 驅動層次結構 333
11.1.5 設備驅動程式與外界的接口 334
11.1.6 設備驅動程式的特點 334
11.2 字元設備驅動編程 335
11.3 GPIO驅動程式實例 343
11.3.1 GPIO工作原理 343
11.3.2 GPIO驅動程式 345
11.4 塊設備驅動編程 351
11.5 中斷編程 354
11.6 按鍵驅動程式實例 355
11.6.1 按鍵工作原理 355
11.6.2 按鍵驅動程式 356
11.6.3 按鍵驅動的測試程式 363
11.7 實驗內容——test驅動 365
11.8 本章小結 371
11.9 思考與練習 371
第 12章 Qt圖形編程基礎 372
12.1 嵌入式GUI簡介 372
12.1.1 Qt/Embedded 373
12.1.2 MiniGUI 373
12.1.3 Microwindows、Tiny X等 374
12.2 Qt/Embedded開發入門 374
12.2.1 Qt/Embedded介紹 374
12.2.2 Qt/Embedded信號和插槽機制 377
12.2.3 搭建Qt/Embedded開發環境 380
12.2.4 Qt/Embedded視窗部件 382
12.2.5 Qt/Embedded圖形界面編程 385
12.2.6 Qt/Embedded對話框設計 387
12.3 實驗內容——使用Qt編寫“Hello,World”程式 391
12.4 本章小結 396