注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)Linux嵌入式Linux基礎教程

嵌入式Linux基礎教程

嵌入式Linux基礎教程

定 價:¥59.00

作 者: (美)哈利南 著,華清遠見嵌入式培訓中心 譯
出版社: 人民郵電出版社
叢編項:
標 簽: LINUX

購買這本書可以去


ISBN: 9787115215222 出版時間: 2009-11-01 包裝: 平裝
開本: 16開 頁數(shù): 341 字數(shù):  

內容簡介

  《嵌入式Linux基礎教程》是嵌入式Linux的經典教程,介紹了引導裝入程序、系統(tǒng)初始化、文件系統(tǒng)、閃存和內核、應用程序調試技巧等,還講述了構建Linux系統(tǒng)的工作原理,用于驅動不同體系結構的配置,Linux內核源碼樹的特性,如何根據(jù)需求配制內核運行時的行為,如何擴展系統(tǒng)功能等內容。更重要的是,《嵌入式Linux基礎教程》闡述了如何修改系統(tǒng)使之滿足讀者自己的需求,使讀者能從中學習一些嵌入式工程中非常有用的提示和技巧?!肚度胧絃inux基礎教程》適合Linux程序員閱讀,也可作為高等院校相關專業(yè)師生的參考讀物。

作者簡介

  Christopher Hallinan,著名嵌入式Linux技術專家。Monta Vistata件公司現(xiàn)場應用工程師,曾任3Com公司工程總監(jiān)。他有25年以上網絡和通信產品的軟硬件開發(fā)經驗,曾擔任Linux咨詢師,提供定制Linux主板接口、設備驅動程序和引導裝入程序等方面的解決方案。譯者簡介:華清遠見嵌入式培訓中心(http://www.farsight.com.cn)是享有盛譽的嵌入式高端培訓企業(yè),目前已成為ARM、Altera、Atmel、Microsoft、Symbian等全球知名嵌入式企業(yè)授權培訓中心。每年為Samsung、NEC、Philips、Motorola等世界500強企業(yè)提供嵌入式技術企業(yè)培訓服務,同時也致力于推廣與普及嵌入式技術。數(shù)萬名技術人員由此受益。

圖書目錄

第1章 引言 1
1.1 為什么使用Linux 1
1.2 嵌入式Linux現(xiàn)狀 2
1.3 開源和GPL 2
1.4 標準和相關機構 3
1.4.1 LSB 3
1.4.2 OSDL 3
1.5 小結 4
參考資源 4
第2章 嵌入式初體驗 5
2.1 需要嵌入式系統(tǒng)嗎 5
2.2 嵌入式系統(tǒng)剖析 6
2.2.1 典型嵌入式Linux系統(tǒng)設置 7
2.2.2 啟動目標板 8
2.2.3 啟動內核 9
2.2.4 內核初始化概述 10
2.2.5 第一個用戶空間進程:init 11
2.3 存儲的思考 12
2.3.1 閃存 12
2.3.2 NAND閃存 13
2.3.3 閃存的用途 14
2.3.4 閃存文件系統(tǒng) 14
2.3.5 存儲器空間 15
2.3.6 運行上下文 16
2.3.7 進程中的虛擬內存 17
2.3.8 交叉開發(fā)環(huán)境 19
2.4 嵌入式Linux的發(fā)行版 20
2.4.1 Linux商業(yè)發(fā)行版 21
2.4.2 Linux自定義發(fā)行版 21
2.5 小結 21
參考資源 22
第3章 處理器基礎 23
3.1 單機處理器 23
3.1.1 IBM 970FX 24
3.1.2 Intel Pentium M 24
3.1.3 Freescale MPC7448 25
3.1.4 配套芯片組 25
3.2 集成化處理器:片上系統(tǒng) 27
3.2.1 PowerPC 27
3.2.2 AMCC PowerPC 27
3.2.3 Freescale PowerPC 30
3.2.4 MIPS 33
3.2.5 Broadcom MIPS 33
3.2.6 AMD MIPS 34
3.2.7 其他類型的MIPS 35
3.2.8 ARM 35
3.2.9 TI ARM 35
3.2.10 Freescale ARM 37
3.2.11 Intel ARM XScale 37
3.2.12 其他ARM 38
3.2.13 其他體系結構 38
3.3 硬件平臺 38
3.3.1 CompactPCI 38
3.3.2 ATCA 39
3.4 小結 39
參考資源 40
第4章 Linux內核——不同視角 41
4.1 背景知識 41
4.1.1 內核的版本 42
4.1.2 內核源碼庫 43
4.2 Linux內核構造 44
4.2.1 頂層資源目錄 44
4.2.2 編譯內核 45
4.2.3 嚴格意義上的內核:vmlinux 46
4.2.4 內核映像組件 47
4.2.5 子目錄結構 50
4.3 內核構建系統(tǒng) 50
4.3.1 .config文件 51
4.3.2 配置編輯器 52
4.3.3 makefile的目標 55
4.3.4 內核配置 58
4.3.5 自定義配置選項 59
4.3.6 內核makefile 62
4.3.7 內核文檔 62
4.4 獲取Linux內核 63
4.5 小結 64
參考資源 64
第5章 內核初始化 65
5.1 合成內核映像:piggy及其他 65
5.1.1 Image目標文件 67
5.1.2 體系結構相關的目標文件 68
5.1.3 第二階段引導裝入程序 69
5.1.4 引導信息 69
5.2 初始化控制流 72
5.2.1 內核入口點:head.o 73
5.2.2 內核啟動:main.c 74
5.2.3 體系結構設置 75
5.3 內核命令行處理 75
5.4 子系統(tǒng)初始化 80
5.5 init線程 82
5.5.1 通過initcall初始化 83
5.5.2 引導的最后步驟 84
5.6 小結 85
參考資源 85
第6章 系統(tǒng)初始化 86
6.1 根文件系統(tǒng) 86
6.1.1 FHS 87
6.1.2 文件系統(tǒng)布局 87
6.1.3 最小文件系統(tǒng) 88
6.1.4 根文件系統(tǒng)帶來的挑戰(zhàn) 89
6.1.5 試錯法 90
6.1.6 自動化文件系統(tǒng)構建工具 90
6.2 內核的最后引導過程 90
6.2.1 用戶空間下第一個程序 91
6.2.2 解決依賴 92
6.2.3 定制初始化進程 92
6.3 init進程 92
6.3.1 inittab 95
6.3.2 Web服務器啟動腳本示例 96
6.4 初始RAM磁盤 97
6.4.1 初始RAM磁盤的目的 98
6.4.2 使用initrd引導 98
6.4.3 引導裝入程序對于initrd的支持 98
6.4.4 initrd的奧妙所在:linuxrc文件 100
6.4.5 initrd探究 100
6.4.6 構建initrd映像文件 101
6.5 使用initramfs 102
6.6 關機 103
6.7 小結 103
參考資源 104
第7章 引導裝入程序 105
7.1 引導裝入程序的作用 105
7.2 引導裝入程序的挑戰(zhàn) 106
7.2.1 DRAM控制器 106
7.2.2 閃存與RAM 106
7.2.3 映像的復雜性 107
7.2.4 執(zhí)行上下文 108
7.3 通用的引導裝入程序:Das U-Boot 109
7.3.1 執(zhí)行上下文 109
7.3.2 U-Boot命令集 111
7.3.3 網絡操作 111
7.3.4 存儲子系統(tǒng) 113
7.3.5 從磁盤啟動:U-Boot 113
7.4 移植U-Boot 114
7.4.1 為EP405開發(fā)板移植U-Boot 114
7.4.2 U-Boot的makefile配置目標 115
7.4.3 EP405處理器初始化 116
7.4.4 特定開發(fā)板的初始化 117
7.4.5 移植概要 120
7.4.6 U-Boot映像格式 120
7.5 其他引導裝入程序 122
7.5.1 Lilo 122
7.5.2 GRUB 123
7.5.3 其他引導裝入程序 124
7.6 小結 124
參考資源 124
第8章 設備驅動程序基礎 126
8.1 設備驅動程序基本概念 126
8.1.1 可加載模塊 127
8.1.2 設備驅動程序的體系結構 127
8.1.3 最小設備驅動程序示例 128
8.1.4 模塊構建的基礎設施 129
8.1.5 安裝設備驅動程序 131
8.1.6 加載設備驅動程序模塊 132
8.2 模塊實用程序 133
8.2.1 insmod 133
8.2.2 模塊參數(shù) 133
8.2.3 lsmod 134
8.2.4 modprobe 135
8.2.5 depmod 136
8.2.6 rmmod 136
8.2.7 modinfo 137
8.3 驅動程序方法 137
8.3.1 驅動程序文件系統(tǒng)操作 138
8.3.2 設備節(jié)點與mknod 140
8.4 匯總 141
8.5 設備驅動程序與GPL 143
8.6 小結 143
參考資源 144
第9章 文件系統(tǒng) 145
9.1 Linux文件系統(tǒng)的概念 146
9.2 ext2文件系統(tǒng) 147
9.2.1 掛載文件系統(tǒng) 148
9.2.2 文件系統(tǒng)完整性檢查 149
9.3 ext3文件系統(tǒng) 150
9.4 ReiserFS文件系統(tǒng) 152
9.5 JFFS2文件系統(tǒng) 153
9.6 cramfs文件系統(tǒng) 155
9.7 NFS文件系統(tǒng) 156
9.8 偽文件系統(tǒng) 160
9.8.1 proc文件系統(tǒng) 160
9.8.2 sysfs文件系統(tǒng) 162
9.9 其他文件系統(tǒng) 164
9.10 構建簡單的文件系統(tǒng) 165
9.11 小結 166
參考資源 166
第10章 MTD子系統(tǒng) 168
10.1 啟用MTD服務 168
10.2 MTD基礎知識 170
10.3 MTD分區(qū) 172
10.3.1 Redboot分區(qū)表 173
10.3.2 內核命令行分區(qū) 176
10.3.3 映射驅動程序 177
10.3.4 閃存芯片驅動程序 178
10.3.5 特定開發(fā)板的初始化 179
10.4 MTD實用程序 180
10.5 小結 184
參考資源 184
第11章 BusyBox 186
11.1 BusyBox簡介 186
11.2 BusyBox配置 187
11.3 BusyBox操作 189
11.3.1 BusyBox之init 191
11.3.2 rcS初始化腳本示例 193
11.3.3 在目標平臺安裝BusyBox 193
11.3.4 BusyBox命令 195
11.4 小結 196
參考資源 196
第12章 嵌入式開發(fā)環(huán)境 197
12.1 交叉開發(fā)環(huán)境 197
12.2 主機系統(tǒng)需求 200
12.3 為目標板提供服務 201
12.3.1 TFTP服務器 201
12.3.2 BOOTP/DHCP服務器 202
12.3.3 NFS服務器 204
12.3.4 使用NFS為目標板掛載根文件系統(tǒng) 205
12.3.5 U-Boot NFS根掛載示例 206
12.4 小結 208
參考資源 208
第13章 開發(fā)工具 209
13.1 GDB 209
13.1.1 調試核心轉儲 210
13.1.2 調用GDB 211
13.1.3 GDB調試會話 213
13.2 DDD 214
13.3 cbrowser/cscope 216
13.4 追蹤和程序分析工具 217
13.4.1 strace 217
13.4.2 strace的變體 220
13.4.3 ltrace 221
13.4.4 ps 222
13.4.5 top 224
13.4.6 mtrace 225
13.4.7 dmalloc 226
13.4.8 內核oops 228
13.5 二進制實用程序 230
13.5.1 readelf 230
13.5.2 使用readelf檢查調試信息 232
13.5.3 objdump 233
13.5.4 objcopy 234
13.6 其他二進制實用程序 234
13.6.1 strip 234
13.6.2 addr2line 235
13.6.3 strings 235
13.6.4 ldd 235
13.6.5 nm 236
13.6.6 prelink 236
13.7 小結 237
參考資源 237
第14章 內核調試技術 238
14.1 內核調試的難點 238
14.2 使用KGDB調試內核 239
14.2.1 KGDB內核配置 240
14.2.2 支持KGDB的內核啟動 241
14.2.3 有用的內核斷點 243
14.3 Linux內核的調試 244
14.3.1 gdb遠程串口協(xié)議 244
14.3.2 調試優(yōu)化后的內核代碼 247
14.3.3 gdb用戶定義命令 251
14.3.4 有用的內核gdb宏 252
14.3.5 調試可加載模塊 258
14.3.6 printk調試 262
14.3.7 Magic SysReq鍵 263
14.4 硬件輔助調試 263
14.4.1 使用JTAG探測器對閃存編程 265
14.4.2 用JTAG探測器進行調試 266
14.5 無法啟動時 268
14.5.1 早期串口調試輸出 269
14.5.2 轉儲printk日志緩沖區(qū) 270
14.5.3 KGDB捕捉崩潰 271
14.6 小結 272
參考資源 272
第15章 調試嵌入式Linux應用程序 274
15.1 目標機調試 274
15.2 遠程(交叉)調試 274
15.3 使用共享庫進行調試 278
15.4 多任務調試 282
15.4.1 多進程的調試 282
15.4.2 多線程應用程序的調試 284
15.4.3 引導裝入程序/閃存代碼的調試 286
15.5 遠程調試的附加選項 287
15.5.1 串行端口調試 287
15.5.2 綁定到正在運行的進程 287
15.6 小結 288
參考資源 288
第16章 移植Linux 289
16.1 Linux源代碼的組織 289
16.2 為開發(fā)板定制Linux 291
16.2.1 前提和假設 291
16.2.2 定制內核初始化 292
16.2.3 靜態(tài)內核命令行 294
16.3 平臺初始化 295
16.3.1 早期變量訪問 298
16.3.2 開發(fā)板信息結構 299
16.3.3 機器相關的調用 301
16.4 匯總 302
16.5 小結 304
參考資源 304
第17章 Linux與實時 305
17.1 什么是實時 305
17.1.1 軟實時 305
17.1.2 硬實時 306
17.1.3 Linux 調度 306
17.1.4 中斷延遲 306
17.2 內核搶占 307
17.2.1 搶占的缺陷 307
17.2.2 搶占模型 308
17.2.3 SMP內核 309
17.2.4 搶占延遲源 310
17.3 實時內核補丁 310
17.3.1 實時的特性 311
17.3.2 O(1)調度器 313
17.3.3 創(chuàng)建實時進程 313
17.3.4 臨界區(qū)管理 314
17.4 調試實時內核 314
17.4.1 軟鎖檢測 314
17.4.2 搶占調試 315
17.4.3 調試喚醒時間 315
17.4.4 喚醒延遲歷史 315
17.4.5 中斷響應時間 316
17.4.6 中斷響應歷史 316
17.4.7 延遲跟蹤 317
17.4.8 調試死鎖環(huán)境 318
17.4.9 鎖模式的運行時控制權 319
17.5 小結 319
參考資源 319
附錄A 可配置的U-Boot命令 320
附錄B BusyBox命令 322
附錄C SDRAM接口的注意事項 328
附錄D 開源項目資源 334
附錄E BDI-2000配置文件示例 336

本目錄推薦

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