嵌入式Linux開發技術
《嵌入式Linux開發技術》,廖建尚 著,出版社: 電子工業出版社。
電子工業出版社成立於1982年10月,是工業和信息化部直屬的科技與教育出版社,每年出版新書2400餘種,音像和電子出版物400餘種,期刊8種,出版物內容涵蓋了信息科技的各個專業分支以及工業技術、經濟管理、大眾生活、少兒科普[1]等領域,綜合出版能力位居全國出版行業前列[2]。
目錄
內容簡介
本書以案例的形式,詳細介紹嵌入式Linux開發技術,由淺入深地分析嵌入式系統、嵌入式Linux開發環境、嵌入式Linux應用開發技術和嵌入式Linux驅動開發技術,邊學習理論知識邊開發,將理論學習和工程實踐結合起來,每個案例均附上完整的開發代碼和配套PPT,可以在源代碼的基礎可以進行快速二次開發。
作者介紹
廖建尚,教授,博士。長期從事模式識別、物聯網系統研究。主持廣東省自然基金等省級以上項目8項;發表論文20多篇,其中SCI和EI收錄10多篇,出版教材著作10多部,授權專利10多項,授權軟件著作10多項。
目錄
第1章 嵌入式系統概述 (1)
1.1 嵌入式系統的定義、特點與組成 (1)
1.1.1 嵌入式系統的定義 (1)
1.1.2 嵌入式系統的特點 (1)
1.1.3 嵌入式系統的組成 (2)
1.2 嵌入式操作系統 (3)
1.3 Linux操作系統 (3)
1.3.1 Linux簡介 (3)
1.3.2 Linux的發行版本 (4)
1.4 嵌入式技術的應用 (4)
1.5 開發實踐:認知嵌入式系統 (5)
1.5.1 嵌入式系統硬件認知 (5)
1.5.2 嵌入式系統運行測試 (8)
1.6 小結 (9)
1.7 思考與拓展 (9)
第2章 嵌入式Linux開發環境 (11)
2.1 Linux的安裝與基本命令 (11)
2.1.1 Linux的安裝與配置 (11)
2.1.2 Linux的軟件包管理機制 (15)
2.1.3 Linux的Shell與基本命令 (17)
2.1.4 Linux的編輯器 (20)
2.1.5 Shell腳本 (22)
2.1.6 開發實踐:Linux的安裝與vim編輯器的使用 (28)
2.1.7 小結 (30)
2.1.8 思考與拓展 (30)
2.2 常用的嵌入式開發工具 (30)
2.2.1 嵌入式Linux的開發模式 (30)
2.2.2 遠程控制工具 (31)
2.2.3 串口通信工具 (32)
2.2.4 文件傳輸工具 (33)
2.2.5 源代碼管理工具 (34)
2.2.6 開發實踐:嵌入式開發工具的使用 (36)
2.2.7 小結 (38)
2.2.8 思考與拓展 (38)
2.3 Linux的編譯環境 (38)
2.3.1 Linux程序的開發環境 (38)
2.3.2 Linux編譯器的安裝與使用 (39)
2.3.3 Linux的動態庫與靜態庫 (41)
2.3.4 Linux調試器的安裝與使用 (42)
2.3.5 Makefile文件的編寫 (44)
2.3.6 開發實踐:Linux的編譯環境 (46)
2.3.7 小結 (49)
2.3.8 思考與拓展 (49)
第3章 嵌入式Linux系統的移植 (51)
3.1 BootLoader的移植與應用 (51)
3.1.1 BootLoader簡介 (51)
3.1.2 U-Boot的移植 (53)
3.1.3 U-Boot的使用 (55)
3.1.4 開發實踐:U-Boot的編譯 (58)
3.1.5 小結 (60)
3.1.6 思考與拓展 (60)
3.2 Linux的內核與配置 (60)
3.2.1 Linux的體系結構與內核 (60)
3.2.2 Linux內核分析 (62)
3.2.3 Linux內核的配置 (71)
3.2.4 Linux內核調試技術 (76)
3.2.5 開發實踐:編譯與測試 (78)
3.2.6 小結 (83)
3.2.7 思考與拓展 (84)
3.3 Linux的文件系統與移植 (84)
3.3.1 Linux文件系統 (84)
3.3.2 Linux的根文件系統 (86)
3.3.3 使用BusyBox製作根文件系統 (88)
3.3.4 Ubuntu嵌入式系統移植 (89)
3.3.5 開發實踐:Ubuntu根文件系統的製作 (92)
3.3.6 小結 (93)
3.3.7 思考與拓展 (94)
第4章 Linux應用開發技術 (95)
4.1 Linux文件與多任務編程 (95)
4.1.1 Linux文件編程 (95)
4.1.2 Linux進程編程 (105)
4.1.3 進程間通信技術 (107)
4.1.4 Linux線程編程 (120)
4.1.5 開發實踐:Linux系統應用編程 (127)
4.1.6 小結 (134)
4.1.7 思考與拓展 (135)
4.2 Linux網絡編程 (135)
4.2.1 網絡編程基礎 (135)
4.2.2 UDP網絡編程 (139)
4.2.3 TCP網絡編程 (143)
4.2.4 開發實踐:Linux網絡編程 (149)
4.2.5 小結 (159)
4.2.6 思考與拓展 (159)
4.3 Linux數據庫開發 (159)
4.3.1 嵌入式數據庫 (159)
4.3.2 SQLite3數據庫的操作 (160)
4.3.3 SQLite3數據庫的編程 (163)
4.3.4 開發實踐:Linux數據庫編程 (168)
4.3.5 小結 (170)
4.3.6 思考與拓展 (170)
4.4 嵌入式Web服務器應用 (170)
4.4.1 嵌入式Web服務器 (170)
4.4.2 Boa服務器的移植與測試 (171)
4.4.3 CGI開發技術 (172)
4.4.4 開發實踐:嵌入式Web服務器應用 (174)
4.4.5 小結 (178)
4.4.6 思考與拓展 (178)
第5章 Linux驅動程序開發技術 (179)
5.1 Linux驅動程序開發基礎 (179)
5.1.1 Linux驅動程序的概念 (179)
5.1.2 Linux驅動程序的開發 (184)
5.1.3 GPIO驅動程序的開發 (192)
5.1.4 總線設備驅動程序 (196)
5.1.5 基於設備樹的驅動程序設計 (199)
5.1.6 開發實踐:LED驅動程序的開發 (203)
5.1.7 小結 (209)
5.1.8 思考與拓展 (209)
5.2 字符設備驅動程序的開發 (209)
5.2.1 按鍵驅動程序的開發 (209)
5.2.2 ADC驅動程序的開發 (217)
5.2.3 PWM驅動程序的開發 (220)
5.2.4 開發實踐:按鍵、ADC、PWM驅動程序的開發與測試 (225)
5.2.5 小結 (242)
5.2.6 思考與拓展 (242)
5.3 總線設備驅動程序的開發 (242)
5.3.1 I2C總線概述 (242)
5.3.2 I2C總線驅動程序的開發 (244)
5.3.3 I2C總線驅動程序接口函數 (247)
5.3.4 開發實踐:I2C總線驅動程序的開發 (250)
5.3.5 小結 (259)
5.3.6 思考與拓展 (259)
5.4 塊設備驅動程序的開發 (259)
5.4.1 Linux塊設備 (260)
5.4.2 Linux塊設備驅動程序的開發 (261)
5.4.3 RamDisk塊設備驅動程序的分析 (275)
5.4.4 開發實踐:RamDisk塊設備驅動程序 (276)
5.4.5 小結 (281)
5.4.6 思考與拓展 (281)
5.5 網絡設備驅動程序的開發 (281)
5.5.1 Linux網絡設備概述 (281)
5.5.2 網絡設備驅動程序的開發 (282)
5.5.3 虛擬網絡設備驅動程序的開發 (292)
5.5.4 開發實踐:虛擬網絡設備驅動程序的開發與測試 (292)
5.5.5 小結 (296)
5.5.6 思考與拓展 (296)
參考文獻 (297)
參考文獻
- ↑ 100部科普經典名著,豆瓣,2018-04-26
- ↑ 關於我們,電子工業出版社