注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術工業(yè)技術無線電電子學、電信技術嵌入式Linux系統(tǒng)與工程實踐(第2版)

嵌入式Linux系統(tǒng)與工程實踐(第2版)

嵌入式Linux系統(tǒng)與工程實踐(第2版)

定 價:¥69.00

作 者: 戴璐平 著
出版社: 電子工業(yè)出版社
叢編項: 工程設計與分析系列
標 簽: LINUX 操作系統(tǒng)/系統(tǒng)開發(fā) 計算機/網(wǎng)絡

ISBN: 9787121310539 出版時間: 2017-03-01 包裝: 平裝
開本: 16開 頁數(shù): 552 字數(shù):  

內容簡介

  本書以Linux嵌入式系統(tǒng)的基本開發(fā)技術為主線,以基于ARM架構的嵌入式處理器為嵌入式硬件平臺,全面介紹嵌入式系統(tǒng)開發(fā)過程、ARM體系結構、Linux基礎、Linux進程、Linux開發(fā)環(huán)境的建立、Linux操作系統(tǒng)移植、Bootloader的使用、Linux根文件系統(tǒng)的構建、設備驅動程序的開發(fā)、嵌入式GUI開發(fā)等嵌入式知識,最后介紹近年來較為熱門的GPS導航系統(tǒng)的設計。本書在第一版的基礎上進行改版,結合眾多讀者的返饋意見,優(yōu)化了內容結構和程序代碼,實例操作配有視頻講解。

作者簡介

  江西師范大學畢業(yè)后,一直在宜春學院任教,從講師到教授,到系副主任,堅持在教學一線,教學經(jīng)驗豐富。主持或作為骨干成員參加多項***和省部級課題,省文化科技創(chuàng)新工程項目1項,省部級中青年骨干教師。

圖書目錄

目 錄
第一篇 嵌入式系統(tǒng)開發(fā)基礎
第1章 嵌入式系統(tǒng)介紹 (1)
1.1 嵌入式系統(tǒng)的概念 (1)
1.1.1 嵌入式系統(tǒng)的定義 (1)
1.1.2 嵌入式系統(tǒng)的特點 (2)
1.2 嵌入式系統(tǒng)的組成 (2)
1.2.1 嵌入式處理器 (3)
1.2.2 外圍設備 (3)
1.2.3 嵌入式操作系統(tǒng) (3)
1.2.4 應用軟件 (3)
1.3 嵌入式處理器 (4)
1.3.1 嵌入式處理器的分類 (4)
1.3.2 嵌入式微處理器 (5)
1.3.3 嵌入式微控制器 (5)
1.3.4 嵌入式DSP處理器 (6)
1.3.5 嵌入式片上系統(tǒng) (6)
1.3.6 選擇嵌入式處理器 (7)
1.4 嵌入式操作系統(tǒng) (7)
1.4.1 操作系統(tǒng)的概念和分類 (8)
1.4.2 實時操作系統(tǒng) (8)
1.4.3 常用的嵌入式操作系統(tǒng) (10)
1.5 新型的嵌入式操作系統(tǒng) (13)
1.5.1 Android (13)
1.5.2 MontaVista (15)
1.6 嵌入式系統(tǒng)的應用 (15)
1.7 嵌入式系統(tǒng)的發(fā)展趨勢 (18)
1.7.1 嵌入式系統(tǒng)面臨的挑戰(zhàn) (18)
1.7.2 嵌入式系統(tǒng)的發(fā)展前景 (19)
1.8 本章小結 (20)
第2章 嵌入式軟件開發(fā)過程與工具 (21)
2.1 嵌入式軟件開發(fā)介紹 (21)
2.1.1 嵌入式軟件開發(fā)的特殊性 (21)
2.1.2 嵌入式軟件的分類 (22)
2.1.3 嵌入式軟件的開發(fā)流程 (22)
2.1.4 嵌入式軟件開發(fā)工具的發(fā)展趨勢 (24)
2.2 嵌入式軟件的調試技術 (25)
2.2.1 調試技術介紹 (25)
2.2.2 基于JTAG的ARM系統(tǒng)調試 (26)
2.3 嵌入式軟件測試技術 (27)
2.3.1 宿主機―目標機開發(fā)模式 (27)
2.3.2 目標監(jiān)控器 (28)
2.4 嵌入式系統(tǒng)集成開發(fā)環(huán)境 (30)
2.4.1 ADS的介紹 (30)
2.4.2 ADS建立工程的使用介紹 (32)
2.4.3 AXD調試器的使用介紹 (37)
實例2-1 ARM開發(fā)環(huán)境ADS的使用實例 (39)
2.5 本章小結 (43)
第3章 嵌入式處理器體系結構 (44)
3.1 ARM體系結構概述 (44)
3.1.1 ARM體系結構簡介 (45)
3.1.2 ARM體系結構的技術特征 (47)
3.1.3 CISC的體系結構 (48)
3.1.4 RISC的體系結構 (48)
3.1.5 RISC系統(tǒng)和CISC系統(tǒng)的比較 (50)
3.2 ARM微處理器的分類 (51)
3.2.1 ARM7微處理器 (51)
3.2.2 ARM9微處理器 (52)
3.2.3 ARM9E微處理器 (52)
3.2.4 ARM10E微處理器 (53)
3.2.5 ARM11微處理器 (54)
3.2.6 SecurCore微處理器 (54)
3.2.7 StrongARM微處理器 (54)
3.2.8 XScale微處理器 (55)
3.3 ARM微處理器的應用 (55)
3.3.1 ARM微處理器的應用選型 (55)
3.3.2 S3C2410處理器 (56)
3.4 存儲器 (57)
3.4.1 存儲器簡介 (57)
3.4.2 SDRAM操作 (59)
3.4.3 Flash (60)
3.5 ARM編程模型 (61)
3.5.1 數(shù)據(jù)類型 (61)
3.5.2 存儲器格式 (62)
3.5.3 處理器工作狀態(tài) (62)
3.5.4 處理器運行模式 (63)
3.5.5 寄存器組織 (63)
3.5.6 內部寄存器 (66)
3.6 ARM指令的尋址方式 (67)
3.6.1 立即尋址 (67)
3.6.2 寄存器尋址 (68)
3.6.3 寄存器間接尋址 (68)
3.6.4 相對尋址 (69)
3.6.5 堆棧尋址 (69)
3.6.6 塊復制尋址 (70)
3.6.7 變址尋址 (70)
3.6.8 多寄存器尋址 (71)
3.7 ARM指令集 (71)
3.7.1 ARM指令的格式 (71)
3.7.2 ARM指令分類 (72)
3.7.3 Thumb指令介紹 (78)
3.7.4 Thumb指令分類 (79)
3.7.5 ARM指令集和Thumb指令集的區(qū)別 (82)
3.8 ARM微處理器的異常 (83)
3.8.1 ARM體系結構所支持的異常類型 (84)
3.8.2 異常矢量表 (85)
3.8.3 異常優(yōu)先級 (85)
3.8.4 應用程序中的異常處理 (86)
3.8.5 各類異常的具體描述 (87)
3.9 本章小結 (91)
第二篇 Linux開發(fā)入門
第4章 Linux開發(fā)常用操作 (92)
4.1 Linux系統(tǒng)介紹 (92)
4.1.1 Linux的概況 (93)
4.1.2 Linux操作系統(tǒng)的構成 (94)
4.1.3 Linux常見的發(fā)行版本 (95)
4.1.4 Linux內核的特點 (97)
4.2 Linux命令的使用 (98)
4.3 vi編輯器的使用 (108)
4.3.1 vi編輯器的進入 (108)
4.3.2 命令模式的命令 (109)
4.3.3 末行模式的命令 (110)
實例4-1 vi編輯器使用實例 (110)
4.4 Shell編程 (112)
4.4.1 Shell基礎介紹 (112)
4.4.2 Shell程序的變量和參數(shù) (114)
4.4.3 運行Shell程序 (116)
4.4.4 Shell程序設計的流程控制 (117)
4.4.5 Shell輸入與輸出 (121)
4.4.6 bash介紹 (123)
4.5 綜合實例 (124)
實例4-2 編寫清除/var/log下的log文件綜合實例 (124)
實例4-3 編寫尋找死鏈接文件綜合實例 (127)
4.6 本章小結 (131)
第5章 Linux內核介紹 (132)
5.1 進程概述 (132)
5.1.1 進程結構 (133)
5.1.2 進程的控制操作 (134)
5.1.3 進程的屬性 (136)
5.1.4 進程的創(chuàng)建和調度 (137)
5.1.5 Linux進程命令 (139)
5.2 系統(tǒng)調用 (143)
5.2.1 系統(tǒng)調用概述 (143)
5.2.2 系統(tǒng)調用的進入 (144)
5.2.3 與進程管理相關的系統(tǒng)調用 (145)
5.3 管道 (145)
5.3.1 管道系統(tǒng)調用 (145)
5.3.2 管道的分類 (147)
實例5-1 管道通信實例 (148)
5.4 信號 (150)
5.4.1 常見的信號種類 (150)
5.4.2 系統(tǒng)調用函數(shù) (151)
5.4.3 信號的處理 (152)
5.4.4 信號與系統(tǒng)調用的關系 (152)
實例5-2 信號實例 (153)
5.5 信號量 (154)
5.5.1 信號量概述 (154)
5.5.2 相關的數(shù)據(jù)結構 (155)
5.5.3 相關的函數(shù) (157)
實例5-3 信號量實例 (158)
5.6 共享內存 (163)
5.6.1 共享內存原理 (163)
5.6.2 共享內存對象的結構 (164)
5.6.3 相關的函數(shù) (165)
實例5-4 共享內存實例 (166)
5.7 消息隊列 (171)
5.7.1 有關的數(shù)據(jù)結構 (171)
5.7.2 相關的函數(shù) (174)
實例5-5 消息隊列實例 (176)
5.8 綜合實例 (179)
實例5-6 多線程編程實例 (179)
5.9 本章小結 (180)
第6章 Linux開發(fā)環(huán)境的構建 (181)
6.1 建立Linux開發(fā)環(huán)境概述 (181)
6.1.1 Cygwin開發(fā)環(huán)境 (181)
6.1.2 VMware Workstation開發(fā)環(huán)境 (183)
6.2 交叉編譯的使用 (185)
6.2.1 GNU交叉工具鏈的設置 (185)
6.2.2 ARM GNU常用匯編語言 (188)
6.2.3 GNU交叉工具鏈的常用工具 (190)
6.2.4 交叉編譯環(huán)境 (193)
6.3 Linux下的C編程 (196)
6.3.1 Linux程序設計特點 (196)
6.3.2 Linux下C語言編碼的風格 (197)
6.3.3 Linux程序基礎 (197)
6.3.4 Linux下C編程的庫依賴 (199)
6.4 gcc的使用與開發(fā) (199)
6.4.1 gcc簡介和使用 (199)
6.4.2 gcc選項 (200)
6.4.3 gcc的錯誤類型 (203)
實例6-1 gcc編譯器環(huán)境的應用實例 (204)
6.5 gdb調試器的介紹和使用 (205)
6.5.1 gdb調試器的使用 (205)
6.5.2 在gdb中運行程序 (206)
6.5.3 暫停和恢復程序運行 (208)
6.5.4 遠程調試 (211)
實例6-2 gdb調試器環(huán)境的應用實例 (211)
6.6 GNU make和Makefile的使用 (213)
6.6.1 Makefile的基本結構 (214)
6.6.2 Makefile的變量 (215)
6.6.3 Makefile的隱含規(guī)則 (217)
6.6.4 Makefile的命令使用 (220)
6.6.5 Makefile的函數(shù)使用 (221)
6.6.6 Makefile文件的運行 (223)
6.6.7 Makefile規(guī)則書寫命令 (225)
實例6-3 Makefile的命令使用實例 (231)
6.7 autoconf和automake的使用 (233)
6.7.1 autoconf的使用 (233)
6.7.2 Makefile.a(chǎn)m的編寫 (236)
6.7.3 automake的使用 (236)
6.7.4 使用automake和autoconf產(chǎn)生Makefile (237)
6.7.5 自動生成Makefile的方法 (237)
6.8 綜合實例 (238)
實例6-4 gcc編譯器的綜合實例 (238)
實例6-5 gdb調試器的綜合實例 (241)
實例6-6 Makefile的綜合實例 (244)
6.9 本章小結 (246)
第三篇 嵌入式系統(tǒng)移植與構建
第7章 Bootloader的使用 (247)
7.1 Bootloader 概述 (248)
7.1.1 Bootloader的作用 (248)
7.1.2 Bootloader的功能 (249)
7.1.3 Bootloader的種類 (250)
7.1.4 Bootloader的工作模式 (251)
7.1.5 Bootloader的啟動方式 (251)
7.1.6 Bootloader的啟動流程 (253)
7.1.7 Bootloader與主機的通信 (253)
7.2 vivi的移植 (253)
7.2.1 vivi的常用命令和文件結構 (254)
7.2.2 vivi第一階段的分析 (255)
7.2.3 vivi第二階段的分析 (261)
7.2.4 vivi的配置與編譯 (263)
7.3 U-boot的移植 (264)
7.3.1 U-boot常用命令和源代碼目錄結構 (264)
7.3.2 U-boot支持的主要功能 (268)
7.3.3 U-boot的編譯和添加命令 (268)
7.3.4 U-boot的啟動介紹 (272)
7.3.5 U-boot的移植和使用 (273)
7.3.6 U-boot的啟動過程 (275)
7.3.7 U-boot的調試 (276)
7.4 其他常見的Bootloader (278)
7.5 綜合實例 (280)
實例7-1 vivi編譯實例 (280)
實例7-2 U-boot在S3C2410上的移植實例 (281)
實例7-3 Bootloader設計實例 (283)
7.6 本章小結 (285)
第8章 Linux內核裁剪與移植 (286)
8.1 Linux移植簡介 (286)
8.1.1 Linux可移植性發(fā)展 (287)
8.1.2 Linux的移植性 (287)
8.2 Linux內核結構 (288)
8.2.1 Linux內核組成 (288)
8.2.2 子系統(tǒng)相互間的關系 (292)
8.2.3 系統(tǒng)數(shù)據(jù)結構 (293)
8.2.4 Linux內核源代碼 (293)
8.3 Linux內核配置 (297)
實例8-1 Linux內核配置實例 (297)
8.4 Linux操作系統(tǒng)移植介紹 (300)
8.4.1 Linux系統(tǒng)移植的兩大部分 (300)
8.4.2 內核文件的修改 (302)
8.4.3 系統(tǒng)移植所必需的環(huán)境 (306)
8.5 綜合實例 (309)
實例8-2 編譯Linux內核應用實例 (309)
實例8-3 Linux內核的燒寫實例 (311)
實例8-4 使用KGDB構建Linux內核調試環(huán)境 (312)
8.6 本章小結 (321)
第9章 Linux根文件系統(tǒng)的構建 (322)
9.1 Linux文件系統(tǒng)概述 (322)
9.1.1 Linux文件系統(tǒng)的特點 (322)
9.1.2 其他常見的嵌入式文件系統(tǒng) (324)
9.1.3 Linux根文件目錄結構 (326)
9.1.4 Linux文件屬性介紹 (326)
9.2 使用BusyBox生成工具集 (327)
9.2.1 BusyBox概述 (327)
9.2.2 BusyBox進程和用戶程序啟動過程 (328)
9.2.3 編譯/安裝BusyBox (329)
實例9-1 用BusyBox建立簡單的根文件系統(tǒng) (333)
9.3 構建根文件系統(tǒng) (335)
9.3.1 根文件系統(tǒng)制作流程 (335)
實例9-2 構建根文件系統(tǒng) (339)
9.4 配置yaffs文件 (341)
9.4.1 yaffs文件系統(tǒng)設置 (342)
9.4.2 yaffs文件系統(tǒng)測試 (344)
9.5 綜合實例 (345)
實例9-3 制作/使用yaffs文件系統(tǒng)映像文件 (345)
實例9-4 制作/使用jffs2文件系統(tǒng)映像文件 (347)
9.6 本章小結 (349)
第四篇 嵌入式系統(tǒng)開發(fā)
第10章 設備驅動程序開發(fā) (350)
10.1 設備驅動程序概述 (351)
10.1.1 驅動程序的簡介 (351)
10.1.2 設備分類 (351)
10.1.3 設備號 (352)
10.1.4 設備節(jié)點 (353)
10.1.5 驅動層次結構 (353)
10.1.6 設備驅動程序的特點 (354)
10.2 設備驅動程序與文件系統(tǒng) (355)
10.2.1 設備驅動程序與文件系統(tǒng)的關系 (355)
10.2.2 設備驅動程序與操作系統(tǒng)的關系 (355)
10.2.3 Linux設備驅動程序的接口 (356)
10.2.4 設備驅動程序開發(fā)的基本函數(shù) (361)
10.2.5 Linux驅動程序的加載 (362)
10.3 設備驅動程序的使用 (366)
10.3.1 驅動程序模塊的加載 (366)
10.3.2 創(chuàng)建設備文件 (367)
10.3.3 使用設備 (367)
10.4 網(wǎng)絡設備基礎知識 (367)
10.4.1 網(wǎng)絡協(xié)議 (367)
10.4.2 網(wǎng)絡設備接口基礎 (369)
10.5 網(wǎng)絡設備驅動程序的架構 (371)
10.5.1 網(wǎng)絡設備驅動程序體系結構 (371)
10.5.2 網(wǎng)絡設備驅動程序模塊分析 (372)
10.5.3 網(wǎng)絡設備驅動程序的實現(xiàn)模式 (378)
10.5.4 網(wǎng)絡設備驅動程序的數(shù)據(jù)結構 (379)
10.6 綜合實例 (383)
實例10-1 鍵盤驅動開發(fā)實例 (383)
實例10-2 I2C總線驅動的編寫實例 (386)
實例10-3 TFT-LCD顯示驅動實例 (390)
10.7 本章小結 (395)
第11章 嵌入式常用GUI開發(fā) (396)
11.1 嵌入式系統(tǒng)中的GUI簡介 (397)
11.1.1 嵌入式GUI系統(tǒng)的介紹 (397)
11.1.2 基于嵌入式Linux的GUI系統(tǒng)底層實現(xiàn)基礎 (399)
11.1.3 嵌入式GUI系統(tǒng)的分析與比較 (399)
11.2 嵌入式系統(tǒng)下MiniGUI的實現(xiàn) (401)
11.2.1 圖形用戶界面MiniGUI簡介 (401)
11.2.2 MiniGUI的發(fā)布版本 (403)
11.2.3 MiniGUI在S3C2410處理器上的移植過程 (406)
11.3 Qt/Embedded嵌入式圖形開發(fā)基礎 (409)
11.3.1 Qt/Embedded開發(fā)環(huán)境的安裝 (409)
11.3.2 Qt/Embedded底層支持及實現(xiàn)代碼分析 (413)
11.3.3 Qt/Embedded信號和插槽機制 (414)
11.3.4 Qt/Embedded窗口部件 (417)
11.3.5 Qt/Embedded圖形界面編程 (420)
11.3.6 Qt/Embedded對話框設計 (421)
11.3.7 數(shù)據(jù)庫 (422)
實例11-1 Qt/Embedded圖形開發(fā)應用實例 (425)
11.4 Qtopia移植 (426)
11.4.1 Qtopia簡介 (426)
11.4.2 交叉編譯、安裝Qtopia (426)
實例11-2 Qtopia移植應用實例 (428)
11.5 Qt/Embedded應用開發(fā) (429)
11.5.1 嵌入式硬件開發(fā)平臺的選擇 (429)
11.5.2 Qt/Embedded常用工具的介紹 (431)
11.5.3 交叉編譯Qt/Embedded的庫 (432)
11.5.4 Qt/E程序的編譯與執(zhí)行 (433)
實例11-3 Qt/Embedded實戰(zhàn)演練 (434)
11.6 綜合實例 (438)
實例11-4 Hello,Qt/Embedded應用程序 (438)
實例11-5 基本繪圖應用程序的編寫 (441)
11.7 本章小結 (445)
第12章 嵌入式系統(tǒng)工程實例 (446)
12.1 文件系統(tǒng)的生成與燒寫 (446)
12.1.1 yaffs文件系統(tǒng)的制作與生成 (447)
12.1.2 jffs2文件系統(tǒng)的制作與生成 (451)
12.2 基于Linux的數(shù)碼相框 (454)
12.2.1 系統(tǒng)需求分析 (454)
12.2.2 系統(tǒng)總體設計 (455)
12.2.3 軟件設計實現(xiàn) (456)
12.2.4 軟硬件集成 (463)
12.3 基于Linux的MPlayer解碼播放器 (464)
12.3.1 可行性分析報告 (464)
12.3.2 系統(tǒng)總體設計 (465)
12.3.3 軟件總體設計 (466)
12.3.4 軟件詳細設計 (470)
12.3.5 軟硬件集成 (480)
12.4 基于Linux的GPS導航系統(tǒng)的開發(fā) (481)
12.4.1 嵌入式開發(fā)流程 (482)
12.4.2 GPS導航定位系統(tǒng)的系統(tǒng)定義 (484)
12.4.3 GPS導航系統(tǒng)的可行性分析報告 (489)
12.4.4 GPS導航系統(tǒng)需求分析 (490)
12.4.5 GPS導航系統(tǒng)總體設計實現(xiàn) (493)
12.4.6 GPS導航系統(tǒng)硬件設計實現(xiàn) (494)
12.4.7 GPS導航系統(tǒng)軟件概括設計 (498)
12.4.8 GPS導航系統(tǒng)軟件詳細設計 (498)
12.4.9 GPS導航系統(tǒng)數(shù)據(jù)庫的配置設計 (525)
12.4.10 GPS導航系統(tǒng)軟件實現(xiàn) (537)
12.4.11 GPS導航系統(tǒng)軟硬件集成 (538)
12.4.12 GPS導航系統(tǒng)功能性能測試 (540)
12.5 本章小結 (541)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號