TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
嵌入式Linux基礎教程(第2版)(簡體書)
滿額折

嵌入式Linux基礎教程(第2版)(簡體書)

商品資訊

人民幣定價:89 元
定價
:NT$ 534 元
優惠價
87465
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
目次

商品簡介

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

目次

第1章 入門
1.1 為什么選擇Linux
1.2 嵌入式Linux現狀
1.3 開源和GPL
1.4 標準及相關組織
1.4.1 Linux標準基礎
1.4.2 Linux基金會
1.4.3 電信級Linux
1.4.4 移動Linux計劃:Moblin
1.4.5 服務可用性論壇
1.5 小結

第2章 綜述
2.1 嵌入與非嵌入
2.2 剖析嵌入式系統
2.2.1 典型的嵌入式Linux開發環境
2.2.2 啟動目標板
2.2.3 引導內核
2.2.4 內核初始化:概述
2.2.5 第一個用戶空間進程:init
2.3 存儲
2.3.1 閃存
2.3.2 NAND型閃存
2.3.3 閃存的用途
2.3.4 閃存文件系統
2.3.5 內存空間
2.3.6 執行上下文
2.3.7 進程虛擬內存
2.3.8 交叉開發環境
2.4 嵌入式Linux發行版
2.4.1 商業Linux發行版
2.4.2 打造自己的Linux發行版
2.5 小結

第3章 處理器基礎
3.1 獨立處理器
3.1.1 IBM 970FX
3.1.2 英特爾奔騰M
3.1.3 英特爾凌動TM
3.1.4 飛思卡爾MPC7448
3.1.5 配套芯片組
3.2 集成處理器:片上系統
3.2.1 Power架構
3.2.2 飛思卡爾Power架構
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架構
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 其他架構
3.4 硬件平臺
3.4.1 CompactPCI
3.4.2 ATCA
3.5 小結

第4章 Linux內核:不同的視角
4.1 背景知識
4.1.1 內核版本
4.1.2 內核源碼庫
4.1.3 使用git下載內核代碼
4.2 Linux內核的構造
4.2.1 頂層源碼目錄
4.2.2 編譯內核
4.2.3 內核主體:vmlinux
4.2.4 內核鏡像的組成部分
4.2.5 子目錄的布局
4.3 內核構建系統
4.3.1 .config文件
4.3.2 配置編輯器
4.3.3 Makefile目標
4.4 內核配置
4.4.1 定制配置選項
4.4.2 內核Makefile
4.5 內核文檔
4.6 獲得定制的Linux內核
4.7 小結

第5章 內核初始化
5.1 合成內核鏡像:Piggy及其他
5.1.1 Image對象
5.1.2 與具體架構相關的對象
5.1.3 啟動加載程序
5.1.4 引導消息
5.2 初始化時的控制流
5.2.1 內核入口:head.o
5.2.2 內核啟動:main.c
5.2.3 架構設置
5.3 內核命令行的處理
5.4 子系統初始化
5.5 init線程
5.5.1 通過initcalls進行初始化
5.5.2 initcall_debug
5.5.3 最後的引導步驟
5.6 小結

第6章 用戶空間初始化
6.1 根文件系統
6.1.1 FHS:文件系統層次結構標準
6.1.2 文件系統布局
6.1.3 最小化的文件系統
6.1.4 嵌入式根文件系統帶來的挑戰
6.1.5 試錯法
6.1.6 自動化文件系統構建工具
6.2 內核的最後一些引導步驟
6.2.1 第一個用戶空間程序
6.2.2 解決依賴關系
6.2.3 定制的初始進程
6.3 init進程
6.3.1 inittab
6.3.2 Web服務器啟動腳本示例
6.4 初始RAM磁盤
6.4.1 使用initrd進行引導
6.4.2 引導加載程序對initrd的支持
6.4.3 initrd的奧秘所在:linuxrc
6.4.4 initrd探究
6.4.5 構造initrd鏡像
6.5 使用initramfs
6.6 關機
6.7 小結

第7章 引導加載程序
7.1 引導加載程序的作用
7.2 引導加載程序帶來的挑戰
7.2.1 DRAM控制器
7.2.2 閃存與RAM
7.2.3 鏡像的復雜性
7.2.4 執行環境
7.3 通用引導加載程序:Das U-Boot
7.3.1 獲取U-Boot
7.3.2 配置U-Boot
7.3.3 U-Boot的監控命令
7.3.4 網絡操作
7.3.5 存儲子系統
7.3.6 從磁盤引導
7.4 移植U-Boot
7.4.1 EP405的U-Boot移植
7.4.2 U-Boot Makefile中的配置目標
7.4.3 EP405的第一次構建
7.4.4 EP405 處理器初始化
7.4.5 與具體板卡相關的初始化
7.4.6 移植總結
7.4.7 U-Boot鏡像格式
7.5 設備樹對象(扁平設備樹)
7.5.1 設備樹源碼
7.5.2 設備樹編譯器
7.5.3 使用DTB的其他內核鏡像
7.6 其他引導加載程序
7.6.1 Lilo
7.6.2 GRUB
7.6.3 其他更多的引導加載程序
7.7 小結

第8章 設備驅動程序基礎
8.1 設備驅動程序的概念
8.1.1 可加載模塊
8.1.2 設備驅動程序架構
8.1.3 最小設備驅動程序示例
8.1.4 模塊構建的基礎設施
8.1.5 安裝設備驅動程序
8.1.6 加載模塊
8.1.7 模塊參數
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 驅動程序方法
8.3.1 驅動程序中的文件系統操作
8.3.2 設備號的分配
8.3.3 設備節點和mknod
8.4 綜合應用
8.5 在內核源碼樹外構建驅動
8.6 設備驅動程序和GPL
8.7 小結

第9章 文件系統
9.1 Linux文件系統概念
9.2 ext2
9.2.1 掛載文件系統
9.2.2 檢查文件系統的完整性
9.3 ext3
9.4 ext4
9.5 ReiserFS
9.6 JFFS2
9.7 cramfs
9.8 網絡文件系統
9.9 偽文件系統
9.9.1 /proc文件系統
9.9.2 sysfs
9.10 其他文件系統
9.11 創建簡單的文件系統
9.12 小結

第10章 MTD子系統
10.1 MTD概述
10.1.1 開啟MTD服務
10.1.2 MTD基礎
10.1.3 在目標板上配置MTD
10.2 MTD分區
10.2.1 使用Redboot分區表進行分區
10.2.2 使用內核命令行傳遞分區信息
10.2.3 映射驅動
10.2.4 閃存芯片驅動
10.2.5 與具體板卡相關的初始化
10.3 MTD工具
10.4 UBI文件系統
10.4.1 配置UBIFS
10.4.2 構建UBIFS鏡像
10.4.3 使用UBIFS作為根文件系統
10.5 小結

第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小應用
11.4 小結

第12章 嵌入式開發環境
12.1 交叉開發環境
12.2 對主機系統的要求
12.3 為目標板提供服務
12.3.1 TFTP服務器
12.3.2 BOOTP/DHCP 服務器
12.3.3 NFS服務器
12.3.4 目標板使用NFS掛載根文件系統
12.3.5 U-Boot中使用NFS掛載根文件系統的例子
12.4 小結

第13章 開發工具
13.1 GNU調試器(GDB)
13.1.1 調試核心轉儲
13.1.2 執行GDB
13.1.3 GDB中的調試會話
13.2 數據顯示調試器
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 內核oops
13.5 二進制工具
13.5.1 readelf
13.5.2 使用readelf查看調試信息
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 小結

第14章 內核調試技術
14.1 內核調試帶來的挑戰
14.2 使用KGDB進行內核調試
14.2.1 KGDB的內核配置
14.2.2 在開啟KGDB時引導目標板
14.2.3 一些有用的內核斷點
14.2.4 KGDB與控制臺共享一個串行端口
14.2.5 調試非常早期的內核代碼
14.2.6 主線內核對KGDB的支持
14.3 內核調試技術
14.3.1 gdb遠程串行協議
14.3.2 調試優化的內核代碼
14.3.3 GDB的用戶自定義命令
14.3.4 有用的內核GDB宏
14.3.5 調試可加載模塊
14.3.6 printk調試
14.3.7 Magic SysReq key
14.4 硬件輔助調試
14.4.1 使用JTAG探測器對閃存進行編程
14.4.2 使用JTAG探測器進行調試
14.5 不能啟動的情況
14.5.1 早期的串行端口調試輸出
14.5.2 轉儲printk的日志緩沖區
14.5.3 使用KGDB調試內核異常
14.6 小結

第15章 調試嵌入式Linux應用程序
15.1 目標調試
15.2 遠程(交叉)調試
15.3 調試共享程序庫
15.4 調試多個任務
15.4.1 調試多個進程
15.4.2 調試多線程應用程序
15.4.3 調試引導加載程序/閃存代碼
15.5 其他遠程調試選項
15.5.1 使用串行端口進行調試
15.5.2 附著到運行的進程上
15.6 小結

第16章 開源構建系統
16.1 為什么使用構建系統
16.2 Scratchbox
16.2.1 安裝Scratchbox
16.2.2 創建一個交叉編譯目標
16.3 Buildroot
16.3.1 安裝Buildroot
16.3.2 配置Buildroot
16.3.3 構建Buildroot
16.4 OpenEmbedded
16.4.1 OpenEmbedded的組成
16.4.2 BitBake元數據
16.4.3 配方基礎
16.4.4 任務
16.4.5 類
16.4.6 配置元數據
16.4.7 構建鏡像
16.5 小結

第17章 實時Linux
17.1 什么是實時
17.1.1 軟實時
17.1.2 硬實時
17.1.3 Linux調度
17.1.4 延時
17.2 內核搶占
17.2.1 搶占的障礙
17.2.2 搶占模式
17.2.3 SMP內核
17.2.4 搶占延時的根源
17.3 實時內核補丁
17.3.1 實時補丁的特性
17.3.2 O(1)調度器
17.3.3 創建實時進程
17.4 實時內核的性能分析
17.4.1 使用Ftrace追蹤內核行為
17.4.2 檢測搶占被關閉的延時
17.4.3 檢測喚醒延時
17.4.4 檢測中斷被關閉的延時
17.4.5 檢測Soft Lockup
17.5 小結

第18章 通用串行總線
18.1 USB概述
18.1.1 USB的物理拓撲結構
18.1.2 USB的邏輯拓撲結構
18.1.3 USB版本
18.1.4 USB連接器
18.1.5 USB線纜
18.1.6 USB模式
18.2 配置USB
18.3 sysfs和USB設備命名
18.4 實用的USB工具
18.4.1 USB文件系統
18.4.2 使用usbview
18.4.3 USB 實用程序(lsusb)
18.5 通用USB子系統
18.5.1 USB大容量存儲類
18.5.2 USB HID類
18.5.3 USB CDC類驅動
18.5.4 USB網絡支持
18.6 USB調試
18.6.1 usbmon
18.6.2 實用USB雜記
18.7 小結

第19章 udev
19.1 什么是udev
19.2 設備發現
19.3 udev的默認行為
19.4 理解udev規則
19.4.1 Modalias
19.4.2 典型的udev規則配置
19.4.3 udev的初始系統設置
19.5 加載平臺設備驅動程序
19.6 定制udev的行為
19.7 持久的設備命名
19.8 udev和busybox配合使用
19.8.1 busybox mdev
19.8.2 配置mdev
19.9 小結

附錄A 可配置的U-Boot命令
附錄B BusyBox命令
附錄C SDRAM接口注意事項
附錄D 開源資源
附錄E 簡單的BDI-2000配置文件

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區