注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)嵌入式Linux系統(tǒng)開發(fā)全程解析

嵌入式Linux系統(tǒng)開發(fā)全程解析

嵌入式Linux系統(tǒng)開發(fā)全程解析

定 價:¥59.00

作 者: 韓超 等著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 單片機與嵌入式 計算機與互聯(lián)網(wǎng)

ISBN: 9787121228889 出版時間: 2014-04-01 包裝: 平裝
開本: 16開 頁數(shù): 436 字?jǐn)?shù):  

內(nèi)容簡介

  本書是一本全面介紹嵌入式Linux開發(fā)的專著,書中涵蓋了程序生成工具、調(diào)試工具、引導(dǎo)加載器、Linux系統(tǒng)結(jié)構(gòu)、Linux內(nèi)核、驅(qū)動程序、用戶空間編程、用戶空間中間件等方面的內(nèi)容。本書內(nèi)容前后照應(yīng)、貼近實踐,且有較強的延伸型,有利于讀者建立嵌入式Linux開發(fā)系統(tǒng)化的知識結(jié)構(gòu)和技術(shù)理念。

作者簡介

  韓 超中國大陸地區(qū)Linux和移動設(shè)備領(lǐng)域的資深工程師、架構(gòu)師。長期從事一線開發(fā)工作,兼具開發(fā)實踐經(jīng)驗和完備的教育思維模式。韓超是中國大陸地區(qū)較早開發(fā)Android系統(tǒng)的人員,曾從事系統(tǒng)框架、芯片移植適配和移動產(chǎn)品等開發(fā)領(lǐng)域;也曾經(jīng)引領(lǐng)各種技術(shù)人員進(jìn)入Android領(lǐng)域,并組織參與技術(shù)交流。曾出版《Android系統(tǒng)原理及開發(fā)要點詳解》、《Android系統(tǒng)級深入開發(fā)――移植與調(diào)試》、《Android經(jīng)典應(yīng)用程序開發(fā)》、《Android核心原理與系統(tǒng)級應(yīng)用高效開發(fā)》等作品。多本Android圖書版權(quán)輸出。

圖書目錄

目 錄
第1章 Linux的開發(fā)環(huán)境 1
1.1 開發(fā)環(huán)境概述 1
1.2 串口終端工具 2
1.3 TFTP 6
1.4 NFS 7
1.5 SAMBA共享 8
1.6 Linux系統(tǒng)的軟件發(fā)布協(xié)議 9
第2章 程序生成和GCC 11
2.1 程序生成工具概述 11
2.1.1 GUN的GCC工具 11
2.1.2 ELF文件格式 14
2.2 GCC工具的使用 16
2.2.1 示例工程 16
2.2.2 編譯、匯編和連接 18
2.2.3 預(yù)處理和匯編 20
2.2.4 歸檔工具(ar)和靜態(tài)庫 20
2.2.5 動態(tài)庫 22
2.2.6 ELF格式文件信息讀?。╮eadelf) 22
2.2.7 符號信息工具(nm) 25
2.2.8 字符串工具(strings) 26
2.2.9 去除符號(strip) 27
2.2.10 目標(biāo)文件復(fù)制(objcopy) 28
2.2.11 目標(biāo)文件信息(objdump) 28
第3章 工程管理和make機制 33
3.1 make工具 33
3.2 Makefile的基本原則 34
3.2.1 Makefile的變量 34
3.2.2 Makefile的條件執(zhí)行 36
3.2.3 Makefile中的函數(shù) 36
3.3 Makefile使用示例 39
3.3.1 簡單的Makefile 39
3.3.2 依賴關(guān)系實例 39
3.3.3 隱含規(guī)則的編譯實例 41
3.3.4 指定依賴的編譯實例 44
3.4 自動生成Makefile 46
3.4.1 autoconf工具介紹 46
3.4.2 automake工具介紹 46
3.4.3 其他工具 47
3.4.4 自動生成Makefile的流程 47
第4章 調(diào)試和GDB 49
4.1 嵌入式系統(tǒng)的調(diào)試技術(shù) 49
4.1.1 調(diào)試技術(shù) 49
4.1.2 硬件調(diào)試 50
4.1.3 代碼調(diào)試 51
4.2 Linux的基本信息 51
4.3 GDB調(diào)試和遠(yuǎn)程調(diào)試 52
4.4 GDB的安裝與使用 57
4.4.1 使用gdbstub實現(xiàn)調(diào)試用戶
程序 57
4.4.2 GDB和GDB Server的編譯 59
4.5 使用gdbserver調(diào)試 61
第5章 Linux系統(tǒng)的結(jié)構(gòu) 65
5.1 Linux操作系統(tǒng)基本概念 65
5.1.1 Linux的進(jìn)程信息 65
5.1.2 Linux的文件系統(tǒng)和文件
信息 70
5.1.3 文件的另外三位屬性 71
5.2 Linux系統(tǒng)的組成和構(gòu)建 72
5.2.1 Linux系統(tǒng)的組成 72
5.2.2 嵌入式Linux的構(gòu)建 73
5.3 Linux系統(tǒng)的啟動流程 74
第6章 BootLoader及其構(gòu)建 76
6.1 嵌入式Linux的BootLoader 76
6.1.1 BootLoader的開發(fā)要點 76
6.1.2 BootLoader的結(jié)構(gòu) 78
6.2 U-Boot的使用 80
6.2.1 U-Boot概述 80
6.2.2 U-Boot的結(jié)構(gòu) 81
6.2.3 U-Boot的生成 83
6.2.4 U-Boot的啟動流程 84
6.3 U-Boot的命令 86
6.3.1 U-Boot命令概述 86
6.3.2 增加命令 88
6.4 U-Boot的移植 91
6.4.1 U-Boot的移植概述 92
6.4.2 U-Boot的擴展 92
6.4.3 板級支持 94
第7章 Linux內(nèi)核及其構(gòu)建 97
7.1 Linux內(nèi)核概述 97
7.1.1 Linux內(nèi)核結(jié)構(gòu) 97
7.1.2 Linux源文件結(jié)構(gòu) 98
7.2 嵌入式Linux的配置和編譯 99
7.2.1 Linux內(nèi)核配置結(jié)構(gòu) 99
7.2.2 Linux內(nèi)核的配置 99
7.2.3 Linux內(nèi)核的生成 107
7.3 Linux內(nèi)核的啟動過程 108
7.4 特定系統(tǒng)的Linux的構(gòu)建 114
7.4.1 Linux內(nèi)核的移植 114
7.4.2 ARM處理器上運行的Linux
系統(tǒng) 115
7.4.3 S3C6410 Linux內(nèi)核的構(gòu)建 117
7.4.4 S3C6410 Linux內(nèi)核的移植
內(nèi)容 118
第8章 文件系統(tǒng)及其構(gòu)建 123
8.1 Linux文件系統(tǒng)特性 123
8.2 Linux文件系統(tǒng)的結(jié)構(gòu) 125
8.2.1 文件系統(tǒng)的主要接口 125
8.2.2 文件系統(tǒng)的實現(xiàn) 130
8.2.3 默認(rèn)的公共實現(xiàn) 134
8.3 幾種Linux使用的文件系統(tǒng) 136
8.3.1 EXT 2/3(擴展文件系統(tǒng)2/3) 136
8.3.2 NFS(網(wǎng)絡(luò)文件系統(tǒng)) 136
8.3.3 ROMFS(只讀文件系統(tǒng)) 137
8.3.4 CRAMFS(壓縮ROM文件
系統(tǒng)) 137
8.3.5 JFFS2(日志Flash文件
系統(tǒng)) 138
8.3.6 YAFFS(另一種Flash文件
系統(tǒng)) 138
8.3.7 UBIFS(非排序塊映像文件
系統(tǒng)) 139
8.4 Linux文件系統(tǒng)的構(gòu)建 140
8.4.1 根文件系統(tǒng)的結(jié)構(gòu) 140
8.4.2 制作根文件系統(tǒng)映像 141
8.4.3 內(nèi)核啟動中根文件系統(tǒng)的
參數(shù) 142
第9章 Linux用戶空間的核心 143
9.1 嵌入式系統(tǒng)中的操作系統(tǒng)和系統(tǒng)關(guān)系 143
9.2 C語言庫 144
9.3 Shell工具Busybox 147
9.3.1 Busybox配置和編譯 148
9.3.2 Busybox的源代碼結(jié)構(gòu) 150
第10章 Linux用戶空間的編程 152
10.1 Linux用戶空間編程概述 152
10.2 文件的相關(guān)內(nèi)容 154
10.2.1 文件的打開、關(guān)閉和
讀寫等 155
10.2.2 文件的控制、映射和
查詢等 157
10.2.3 文件的其他操作 158
10.3 進(jìn)程相關(guān)的內(nèi)容 159
10.3.1 fork和exec 159
10.3.2 管道 161
10.3.3 System V IPC 162
10.3.4 POSIX IPC 165
10.4 信號相關(guān)的內(nèi)容 166
10.5 pthread線程 168
10.5.1 線程的基本使用 169
10.5.2 線程的屬性 171
10.5.3 線程互斥量 172
10.5.4 線程條件量 173
10.5.5 線程取消 175
10.6 dlopen機制 176
10.6.1 dlopen的結(jié)構(gòu)和意義 176
10.6.2 在C語言中使用dlopen 178
10.6.3 在C++中使用dlopen 180
第11章 Linux用戶空間的中間件 185
11.1 基于嵌入式Linux的系統(tǒng)與中間件 185
11.2 網(wǎng)絡(luò)協(xié)議相關(guān) 186
11.2.1 Linux套接字編程的基礎(chǔ) 186
11.2.2 TCP和UDP協(xié)議的流程 189
11.2.3 TCP編程實例 189
11.2.4 UDP編程實例 193
11.2.5 深入網(wǎng)絡(luò)編程 196
11.2.6 用作IPC的UNIX Socket 198
11.3 GUI應(yīng)用開發(fā) 201
11.3.1 Qt系統(tǒng) 203
11.3.2 MiniGUI應(yīng)用程序 209
11.3.3 MicroWindows(Nano-X Window) 216
11.4 數(shù)據(jù)庫 217
11.4.1 關(guān)于嵌入式數(shù)據(jù)庫 217
11.4.2 SQLite 218
第12章 Linux驅(qū)動基礎(chǔ) 228
12.1 Linux驅(qū)動概述 228
12.1.1 驅(qū)動的理念和結(jié)構(gòu) 228
12.1.2 驅(qū)動程序?qū)τ脩艨臻g的
接口 230
12.2 設(shè)備文件和相關(guān)文件系統(tǒng) 230
12.2.1 設(shè)備文件 230
12.2.2 sys文件系統(tǒng) 231
12.2.3 proc文件系統(tǒng) 233
第13章 Linux的內(nèi)核編程 237
13.1 Linux內(nèi)核編程概述 237
13.2 內(nèi)核模塊的編寫 237
13.2.1 Linux內(nèi)核中的模塊 237
13.2.2 內(nèi)核模塊的編譯結(jié)構(gòu) 239
13.3 內(nèi)核編程接口 241
13.3.1 Linux編程風(fēng)格 241
13.3.2 Linux編程主要接口 242
第14章 Linux的驅(qū)動核心架構(gòu) 248
14.1 用戶空間的接口 248
14.1.1 用戶空間的驅(qū)動調(diào)用接口 248
14.1.2 系統(tǒng)調(diào)用 248
14.1.3 驅(qū)動的主要調(diào)用函數(shù) 249
14.2 字符設(shè)備和塊設(shè)備的框架 250
14.2.1 文件操作file_operations 250
14.2.2 字符設(shè)備的基本框架 251
14.2.3 塊設(shè)備的框架 252
14.2.4 字符設(shè)備和塊設(shè)備的默認(rèn)
file_operations實現(xiàn) 254
14.3 網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)設(shè)備的框架 258
14.3.1 網(wǎng)絡(luò)系統(tǒng)的核心 259
14.3.2 網(wǎng)絡(luò)協(xié)議的實現(xiàn) 261
14.3.3 網(wǎng)絡(luò)設(shè)備的框架 263
14.4 proc文件系統(tǒng)的框架 264
14.4.1 proc文件系統(tǒng)的編程接口 264
14.4.2 proc文件系統(tǒng)的實現(xiàn) 266
14.5 sys文件系統(tǒng)的框架 266
14.5.1 sys文件系統(tǒng)的編程接口 266
14.5.2 sys文件系統(tǒng)的實現(xiàn) 267
第15章 Linux驅(qū)動的要點 269
15.1 驅(qū)動程序的核心實現(xiàn) 269
15.2 設(shè)備、驅(qū)動和資源 273
15.3 中斷的處理 276
15.4 中斷的下半部 277
15.4.1 軟中斷 277
15.4.2 軟中斷之tasklet 278
15.4.3 軟中斷之定時器 279
15.5 競態(tài)處理 280
15.5.1 自旋鎖 280
15.5.2 信號量 280
15.6 阻塞處理 281
15.7 異步操作 282
第16章 幾個典型的簡單驅(qū)動 283
16.1 設(shè)備驅(qū)動概述 283
16.2 內(nèi)存設(shè)備驅(qū)動 284
16.2.1 內(nèi)存設(shè)備驅(qū)動的公共內(nèi)容 284
16.2.2 空設(shè)備 286
16.2.3 零設(shè)備 287
16.2.4 滿設(shè)備 288
16.3 內(nèi)存塊設(shè)備驅(qū)動 288
16.4 回環(huán)塊設(shè)備驅(qū)動 291
16.5 回環(huán)網(wǎng)絡(luò)設(shè)備驅(qū)動 294
第17章 幾個典型的驅(qū)動框架和相應(yīng)
的驅(qū)動 296
17.1 Misc驅(qū)動框架 296
17.2 幀緩沖驅(qū)動框架和具體驅(qū)動 297
17.2.1 幀緩沖驅(qū)動框架 297
17.2.2 虛擬幀緩沖驅(qū)動 300
17.2.3 針對硬件實現(xiàn)的幀緩沖
驅(qū)動 302
17.3 輸入-事件驅(qū)動框架 305
17.3.1 輸入-事件驅(qū)動框架概述 305
17.3.2 針對硬件的事件驅(qū)動 307
17.4 GPIO驅(qū)動框架和具體驅(qū)動 310
17.4.1 GPIO驅(qū)動框架 310
17.4.2 GPIO具體硬件的驅(qū)動 312
17.5 Power Supply驅(qū)動框架和具體驅(qū)動 312
17.5.1 Power Supply驅(qū)動框架 312
17.5.2 Power Supply驅(qū)動 313
17.6 TTY驅(qū)動框架和驅(qū)動 314
17.6.1 TTY驅(qū)動框架 314
17.6.2 偽TTY驅(qū)動 316
17.6.3 串口TTY和虛擬TTY 316
第18章 MTD系統(tǒng)和驅(qū)動 318
18.1 MTD概述 318
18.2 MTD的核心 319
18.2.1 MTD的接口部分 320
18.2.2 MTD的核心實現(xiàn)部分 322
18.3 MTD的設(shè)備層 322
18.3.1 MTD字符設(shè)備 322
18.3.2 MTD塊設(shè)備 323
18.4 CFI硬件實現(xiàn)層 324
18.4.1 公用部分 324
18.4.2 ROM的MTD實現(xiàn) 325
18.4.3 RAM的MTD實現(xiàn) 325
18.4.4 Nor Flash的MTD實現(xiàn) 326
18.5 Nand Flash的硬件實現(xiàn)層 326
18.5.1 公用部分 326
18.5.2 GPIO的Nand Flash實現(xiàn) 327
18.5.3 處理器芯片上的Nand Flash
實現(xiàn) 330
第19章 USB系統(tǒng)和驅(qū)動 331
19.1 USB概述 331
19.1.1 USB規(guī)范 331
19.1.2 USB的軟件系統(tǒng) 333
19.2 Linux的USB主機端支持 334
19.2.1 USB主機端的軟件結(jié)構(gòu) 334
19.2.2 USB主機端的核心部分 335
19.2.3 USB驅(qū)動的實現(xiàn) 337
19.2.4 HCI的實現(xiàn) 339
19.3 Linux的USB設(shè)備端支持 340
19.3.1 USB設(shè)備端的軟件結(jié)構(gòu) 340
19.3.2 Gadget的核心部分 340
19.3.3 Gadget驅(qū)動 342
19.3.4 UDC驅(qū)動的實現(xiàn) 345
第20章 SPI總線和驅(qū)動 348
20.1 SPI概述 348
20.2 SPI總線驅(qū)動的框架 349
20.3 簡單字符設(shè)備spidev 353
20.4 SPI主控制器的實現(xiàn) 355
20.4.1 GPIO實現(xiàn)的SPI主控制器 355
20.4.2 S3C64xx的SPI主控制器 356
20.5 SPI從設(shè)備的驅(qū)動 358
第21章 I2C總線和驅(qū)動 361
21.1 I2C概述 361
21.1.1 基本概念 361
21.1.2 SMBus 362
21.2 I2C總線驅(qū)動的框架 362
21.2.1 I2C核心框架 362
21.2.2 I2C總線接口 367
21.2.3 I2C設(shè)備和驅(qū)動 368
21.3 具體的I2C主控制器 370
21.4 I2C從設(shè)備的驅(qū)動 372
第22章 PCI總線和驅(qū)動 375
22.1 PCI概述 375
22.1.1 PCI的基本結(jié)構(gòu) 375
22.1.2 PCI的總線信號 377
22.1.3 PCI的總線操作 378
22.1.4 PCI的總線配置 379
22.1.5 PCI的發(fā)展和衍生標(biāo)準(zhǔn) 381
22.2 PCI總線的驅(qū)動框架 381
22.3 PCI設(shè)備的驅(qū)動 384
22.3.1 PCI的樁實現(xiàn) 384
22.3.2 網(wǎng)卡的PCI實現(xiàn) 385
第23章 音頻系統(tǒng)和驅(qū)動 389
23.1 音頻系統(tǒng)概述 389
23.2 OSS架構(gòu) 389
23.2.1 OSS系統(tǒng)的結(jié)構(gòu) 390
23.2.2 OSS系統(tǒng)的核心 391
23.2.3 OSS系統(tǒng)的實現(xiàn) 392
23.3 ALSA架構(gòu) 393
23.3.1 ALSA系統(tǒng)的結(jié)構(gòu) 393
23.3.2 ALSA系統(tǒng)的核心 395
23.3.3 ALSA系統(tǒng)芯片層 395
23.3.4 ALSA的用戶空間 400
第24章 視頻系統(tǒng)和驅(qū)動 403
24.1 視頻系統(tǒng)概述 403
24.2 Video for Linux系統(tǒng) 403
24.2.1 基本結(jié)構(gòu) 404
24.2.2 Video for Linux的核心
結(jié)構(gòu) 405
24.2.3 Video for Linux的其他
方面 410
24.2.4 Video for Linux驅(qū)動的
接口 413
24.2.5 Video for Linux驅(qū)動的實
現(xiàn)層 417

本目錄推薦

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