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

嵌入式Linux基礎(chǔ)教程(第2版)

嵌入式Linux基礎(chǔ)教程(第2版)

定 價:¥89.00

作 者: (美)Christopher Hallinan 著
出版社: 人民郵電出版社
叢編項:
標 簽: LINUX

ISBN: 9787115278272 出版時間: 2012-05-01 包裝: 平裝
開本: 16開 頁數(shù): 454 字數(shù):  

內(nèi)容簡介

  《圖靈程序設(shè)計叢書:嵌入式Linux基礎(chǔ)教程(第2版)》是嵌入式Linux的經(jīng)典教程,介紹了引導加載程序、系統(tǒng)初始化、文件系統(tǒng)、閃存和內(nèi)核、應(yīng)用程序調(diào)試技巧等,還講述了構(gòu)建Linux系統(tǒng)的工作原理,用于驅(qū)動不同架構(gòu)的配置,Linux內(nèi)核源碼樹的特性,如何根據(jù)需求配制內(nèi)核運行時的行為,如何擴展系統(tǒng)功能,用于構(gòu)建完整嵌入式Linux發(fā)行版的常用構(gòu)建系統(tǒng),USB子系統(tǒng)和系統(tǒng)配置工具udev等內(nèi)容。更重要的是,《圖靈程序設(shè)計叢書:嵌入式Linux基礎(chǔ)教程(第2版)》闡述了如何修改系統(tǒng)使之滿足讀者自身的需求,確保讀者能夠從中學習一些嵌入式工程中非常有用的提示和技巧?!秷D靈程序設(shè)計叢書:嵌入式Linux基礎(chǔ)教程(第2版)》適合Linux程序員閱讀,也可作為高等院校相關(guān)專業(yè)師生的參考讀物。

作者簡介

暫缺《嵌入式Linux基礎(chǔ)教程(第2版)》作者簡介

圖書目錄

第1章 入門
1.1 為什么選擇Linux
1.2 嵌入式Linux現(xiàn)狀
1.3 開源和GPL
1.4 標準及相關(guān)組織
1.4.1 Linux標準基礎(chǔ)
1.4.2 Linux基金會
1.4.3 電信級Linux
1.4.4 移動Linux計劃:Moblin
1.4.5 服務(wù)可用性論壇
1.5 小結(jié)
第2章 綜述
2.1 嵌入與非嵌入
2.2 剖析嵌入式系統(tǒng)
2.2.1 典型的嵌入式Linux開發(fā)環(huán)境
2.2.2 啟動目標板
2.2.3 引導內(nèi)核
2.2.4 內(nèi)核初始化:概述
2.2.5 第一個用戶空間進程:init
2.3 存儲
2.3.1 閃存
2.3.2 NAND型閃存
2.3.3 閃存的用途
2.3.4 閃存文件系統(tǒng)
2.3.5 內(nèi)存空間
2.3.6 執(zhí)行上下文
2.3.7 進程虛擬內(nèi)存
2.3.8 交叉開發(fā)環(huán)境
2.4 嵌入式Linux發(fā)行版
2.4.1 商業(yè)Linux發(fā)行版
2.4.2 打造自己的Linux發(fā)行版
2.5 小結(jié)
第3章 處理器基礎(chǔ)
3.1 獨立處理器
3.1.1 IBM 970FX
3.1.2 英特爾奔騰M
3.1.3 英特爾凌動TM
3.1.4 飛思卡爾MPC7448
3.1.5 配套芯片組
3.2 集成處理器:片上系統(tǒng)
3.2.1 Power架構(gòu)
3.2.2 飛思卡爾Power架構(gòu)
3.2.3 飛思卡爾PowerQUICC I
3.2.4 飛思卡爾PowerQUICC II
3.2.5 PowerQUICC II Pro
3.2.6 飛思卡爾PowerQUICC III
3.2.7 飛思卡爾QorIQTM
3.2.8 AMCC Power架構(gòu)
3.2.9 MIPS
3.2.10 Broadcom MIPS
3.2.11 其他MIPS
3.2.12 ARM
3.2.13 德州儀器ARM
3.2.14 飛思卡爾ARM
3.2.15 其他ARM處理器
3.3 其他架構(gòu)
3.4 硬件平臺
3.4.1 CompactPCI
3.4.2 ATCA
3.5 小結(jié)
第4章 Linux內(nèi)核:不同的視角
4.1 背景知識
4.1.1 內(nèi)核版本
4.1.2 內(nèi)核源碼庫
4.1.3 使用git下載內(nèi)核代碼
4.2 Linux內(nèi)核的構(gòu)造
4.2.1 頂層源碼目錄
4.2.2 編譯內(nèi)核
4.2.3 內(nèi)核主體:vmlinux
4.2.4 內(nèi)核鏡像的組成部分
4.2.5 子目錄的布局
4.3 內(nèi)核構(gòu)建系統(tǒng)
4.3.1 .config文件
4.3.2 配置編輯器
4.3.3 Makefile目標
4.4 內(nèi)核配置
4.4.1 定制配置選項
4.4.2 內(nèi)核Makefile
4.5 內(nèi)核文檔
4.6 獲得定制的Linux內(nèi)核
4.7 小結(jié)
第5章 內(nèi)核初始化
5.1 合成內(nèi)核鏡像:Piggy及其他
5.1.1 Image對象
5.1.2 與具體架構(gòu)相關(guān)的對象
5.1.3 啟動加載程序
5.1.4 引導消息
5.2 初始化時的控制流
5.2.1 內(nèi)核入口:head.o
5.2.2 內(nèi)核啟動:main.c
5.2.3 架構(gòu)設(shè)置
5.3 內(nèi)核命令行的處理
5.4 子系統(tǒng)初始化
5.5 init線程
5.5.1 通過initcalls進行初始化
5.5.2 initcall_debug
5.5.3 最后的引導步驟
5.6 小結(jié)
第6章 用戶空間初始化
6.1 根文件系統(tǒng)
6.1.1 FHS:文件系統(tǒng)層次結(jié)構(gòu)標準
6.1.2 文件系統(tǒng)布局
6.1.3 最小化的文件系統(tǒng)
6.1.4 嵌入式根文件系統(tǒng)帶來的挑戰(zhàn)
6.1.5 試錯法
6.1.6 自動化文件系統(tǒng)構(gòu)建工具
6.2 內(nèi)核的最后一些引導步驟
6.2.1 第一個用戶空間程序
6.2.2 解決依賴關(guān)系
6.2.3 定制的初始進程
6.3 init進程
6.3.1 inittab
6.3.2 Web服務(wù)器啟動腳本示例
6.4 初始RAM磁盤
6.4.1 使用initrd進行引導
6.4.2 引導加載程序?qū)nitrd的支持
6.4.3 initrd的奧秘所在:linuxrc
6.4.4 initrd探究
6.4.5 構(gòu)造initrd鏡像
6.5 使用initramfs
6.6 關(guān)機
6.7 小結(jié)
第7章 引導加載程序
7.1 引導加載程序的作用
7.2 引導加載程序帶來的挑戰(zhàn)
7.2.1 DRAM控制器
7.2.2 閃存與RAM
7.2.3 鏡像的復雜性
7.2.4 執(zhí)行環(huán)境
7.3 通用引導加載程序:Das U-Boot
7.3.1 獲取U-Boot
7.3.2 配置U-Boot
7.3.3 U-Boot的監(jiān)控命令
7.3.4 網(wǎng)絡(luò)操作
7.3.5 存儲子系統(tǒng)
7.3.6 從磁盤引導
7.4 移植U-Boot
7.4.1 EP405的U-Boot移植
7.4.2 U-Boot Makefile中的配置目標
7.4.3 EP405的第一次構(gòu)建
7.4.4 EP405 處理器初始化
7.4.5 與具體板卡相關(guān)的初始化
7.4.6 移植總結(jié)
7.4.7 U-Boot鏡像格式
7.5 設(shè)備樹對象(扁平設(shè)備樹)
7.5.1 設(shè)備樹源碼
7.5.2 設(shè)備樹編譯器
7.5.3 使用DTB的其他內(nèi)核鏡像
7.6 其他引導加載程序
7.6.1 Lilo
7.6.2 GRUB
7.6.3 其他更多的引導加載程序
7.7 小結(jié)
第8章 設(shè)備驅(qū)動程序基礎(chǔ)
8.1 設(shè)備驅(qū)動程序的概念
8.1.1 可加載模塊
8.1.2 設(shè)備驅(qū)動程序架構(gòu)
8.1.3 最小設(shè)備驅(qū)動程序示例
8.1.4 模塊構(gòu)建的基礎(chǔ)設(shè)施
8.1.5 安裝設(shè)備驅(qū)動程序
8.1.6 加載模塊
8.1.7 模塊參數(shù)
8.2 模塊工具
8.2.1 insmod
8.2.2 lsmod
8.2.3 modprobe
8.2.4 depmod
8.2.5 rmmod
8.2.6 modinfo
8.3 驅(qū)動程序方法
8.3.1 驅(qū)動程序中的文件系統(tǒng)操作
8.3.2 設(shè)備號的分配
8.3.3 設(shè)備節(jié)點和mknod
8.4 綜合應(yīng)用
8.5 在內(nèi)核源碼樹外構(gòu)建驅(qū)動
8.6 設(shè)備驅(qū)動程序和GPL
8.7 小結(jié)
第9章 文件系統(tǒng)
9.1 Linux文件系統(tǒng)概念
9.2 ext2
9.2.1 掛載文件系統(tǒng)
9.2.2 檢查文件系統(tǒng)的完整性
9.3 ext3
9.4 ext4
9.5 ReiserFS
9.6 JFFS2
9.7 cramfs
9.8 網(wǎng)絡(luò)文件系統(tǒng)
9.9 偽文件系統(tǒng)
9.9.1 /proc文件系統(tǒng)
9.9.2 sysfs
9.10 其他文件系統(tǒng)
9.11 創(chuàng)建簡單的文件系統(tǒng)
9.12 小結(jié)
第10章 MTD子系統(tǒng)
10.1 MTD概述
10.1.1 開啟MTD服務(wù)
10.1.2 MTD基礎(chǔ)
10.1.3 在目標板上配置MTD
10.2 MTD分區(qū)
10.2.1 使用Redboot分區(qū)表進行分區(qū)
10.2.2 使用內(nèi)核命令行傳遞分區(qū)信息
10.2.3 映射驅(qū)動
10.2.4 閃存芯片驅(qū)動
10.2.5 與具體板卡相關(guān)的初始化
10.3 MTD工具
10.4 UBI文件系統(tǒng)
10.4.1 配置UBIFS
10.4.2 構(gòu)建UBIFS鏡像
10.4.3 使用UBIFS作為根文件系統(tǒng)
10.5 小結(jié)
第11章 BusyBox
11.1 BusyBox簡介
11.2 BusyBox的配置
11.3 BusyBox的操作
11.3.1 BusyBox的init
11.3.2 rcS初始化腳本示例
11.3.3 BusyBox在目標板上的安裝
11.3.4 BusyBox小應(yīng)用
11.4 小結(jié)
第12章 嵌入式開發(fā)環(huán)境
12.1 交叉開發(fā)環(huán)境
12.2 對主機系統(tǒng)的要求
12.3 為目標板提供服務(wù)
12.3.1 TFTP服務(wù)器
12.3.2 BOOTP/DHCP 服務(wù)器
12.3.3 NFS服務(wù)器
12.3.4 目標板使用NFS掛載根文件系統(tǒng)
12.3.5 U-Boot中使用NFS掛載根文件系統(tǒng)的例子
12.4 小結(jié)
第13章 開發(fā)工具
13.1 GNU調(diào)試器(GDB)
13.1.1 調(diào)試核心轉(zhuǎn)儲
13.1.2 執(zhí)行GDB
13.1.3 GDB中的調(diào)試會話
13.2 數(shù)據(jù)顯示調(diào)試器
13.3 cbrowser/cscope
13.4 追蹤和性能評測工具
13.4.1 strace
13.4.2 strace命令行選項
13.4.3 ltrace
13.4.4 ps
13.4.5 top
13.4.6 mtrace
13.4.7 dmalloc
13.4.8 內(nèi)核oops
13.5 二進制工具
13.5.1 readelf
13.5.2 使用readelf查看調(diào)試信息
13.5.3 objdump
13.5.4 objcopy
13.6 其他二進制實用程序
13.6.1 strip
13.6.2 addr2line
13.6.3 strings
13.6.4 ldd
13.6.5 nm
13.6.6 prelink
13.7 小結(jié)
第14章 內(nèi)核調(diào)試技術(shù)
14.1 內(nèi)核調(diào)試帶來的挑戰(zhàn)
14.2 使用KGDB進行內(nèi)核調(diào)試
14.2.1 KGDB的內(nèi)核配置
14.2.2 在開啟KGDB時引導目標板
14.2.3 一些有用的內(nèi)核斷點
14.2.4 KGDB與控制臺共享一個串行端口
14.2.5 調(diào)試非常早期的內(nèi)核代碼
14.2.6 主線內(nèi)核對KGDB的支持
14.3 內(nèi)核調(diào)試技術(shù)
14.3.1 gdb遠程串行協(xié)議
14.3.2 調(diào)試優(yōu)化的內(nèi)核代碼
14.3.3 GDB的用戶自定義命令
14.3.4 有用的內(nèi)核GDB宏
14.3.5 調(diào)試可加載模塊
14.3.6 printk調(diào)試
14.3.7 Magic SysReq key
14.4 硬件輔助調(diào)試
14.4.1 使用JTAG探測器對閃存進行編程
14.4.2 使用JTAG探測器進行調(diào)試
14.5 不能啟動的情況
14.5.1 早期的串行端口調(diào)試輸出
14.5.2 轉(zhuǎn)儲printk的日志緩沖區(qū)
14.5.3 使用KGDB調(diào)試內(nèi)核異常
14.6 小結(jié)
第15章 調(diào)試嵌入式Linux應(yīng)用程序
15.1 目標調(diào)試
15.2 遠程(交叉)調(diào)試
15.3 調(diào)試共享程序庫
15.4 調(diào)試多個任務(wù)
15.4.1 調(diào)試多個進程
15.4.2 調(diào)試多線程應(yīng)用程序
15.4.3 調(diào)試引導加載程序/閃存代碼
15.5 其他遠程調(diào)試選項
15.5.1 使用串行端口進行調(diào)試
15.5.2 附著到運行的進程上
15.6 小結(jié)
第16章 開源構(gòu)建系統(tǒng)
16.1 為什么使用構(gòu)建系統(tǒng)
16.2 Scratchbox
16.2.1 安裝Scratchbox
16.2.2 創(chuàng)建一個交叉編譯目標
16.3 Buildroot
16.3.1 安裝Buildroot
16.3.2 配置Buildroot
16.3.3 構(gòu)建Buildroot
16.4 OpenEmbedded
16.4.1 OpenEmbedded的組成
16.4.2 BitBake元數(shù)據(jù)
16.4.3 配方基礎(chǔ)
16.4.4 任務(wù)
16.4.5 類
16.4.6 配置元數(shù)據(jù)
16.4.7 構(gòu)建鏡像
16.5 小結(jié)
第17章 實時Linux
17.1 什么是實時
17.1.1 軟實時
17.1.2 硬實時
17.1.3 Linux調(diào)度
17.1.4 延時
17.2 內(nèi)核搶占
17.2.1 搶占的障礙
17.2.2 搶占模式
17.2.3 SMP內(nèi)核
17.2.4 搶占延時的根源
17.3 實時內(nèi)核補丁
17.3.1 實時補丁的特性
17.3.2 O(1)調(diào)度器
17.3.3 創(chuàng)建實時進程
17.4 實時內(nèi)核的性能分析
17.4.1 使用Ftrace追蹤內(nèi)核行為
17.4.2 檢測搶占被關(guān)閉的延時
17.4.3 檢測喚醒延時
17.4.4 檢測中斷被關(guān)閉的延時
17.4.5 檢測Soft Lockup
17.5 小結(jié)
第18章 通用串行總線
18.1 USB概述
18.1.1 USB的物理拓撲結(jié)構(gòu)
18.1.2 USB的邏輯拓撲結(jié)構(gòu)
18.1.3 USB版本
18.1.4 USB連接器
18.1.5 USB線纜
18.1.6 USB模式
18.2 配置USB
18.3 sysfs和USB設(shè)備命名
18.4 實用的USB工具
18.4.1 USB文件系統(tǒng)
18.4.2 使用usbview
18.4.3 USB 實用程序(lsusb)
18.5 通用USB子系統(tǒng)
18.5.1 USB大容量存儲類
18.5.2 USB HID類
18.5.3 USB CDC類驅(qū)動
18.5.4 USB網(wǎng)絡(luò)支持
18.6 USB調(diào)試
18.6.1 usbmon
18.6.2 實用USB雜記
18.7 小結(jié)
第19章 udev
19.1 什么是udev
19.2 設(shè)備發(fā)現(xiàn)
19.3 udev的默認行為
19.4 理解udev規(guī)則
19.4.1 Modalias
19.4.2 典型的udev規(guī)則配置
19.4.3 udev的初始系統(tǒng)設(shè)置
19.5 加載平臺設(shè)備驅(qū)動程序
19.6 定制udev的行為
19.7 持久的設(shè)備命名
19.8 udev和busybox配合使用
19.8.1 busybox mdev
19.8.2 配置mdev
19.9 小結(jié)
附錄A 可配置的U-Boot命令
附錄B BusyBox命令
附錄C SDRAM接口注意事項
附錄D 開源資源
附錄E 簡單的BDI-2000配置文件

本目錄推薦

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