《嵌入式Linux系統開發及套用教程》是2017年清華大學出版社出版的圖書,作者是金偉正。
基本介紹
- 書名:嵌入式Linux系統開發及套用教程
- ISBN:9787302476085
- 定價:45元
- 出版社:清華大學出版社
- 出版時間:2017
基本信息
內容簡介
目錄
第1章緒論
1.1嵌入式系統概述
1.1.1嵌入式系統的歷史
1.1.2嵌入式系統的特點
1.1.3嵌入式處理器
1.1.4嵌入式系統的發展趨勢
1.2嵌入式系統開發
1.2.1需求分析及概要設計
1.2.2嵌入式系統中的硬體及軟體
1.2.3嵌入式系統開發的一般過程
1.3嵌入式作業系統
1.3.1嵌入式作業系統的分類
1.3.2嵌入式作業系統的特點
1.3.3典型的嵌入式作業系統
1.3.4嵌入式作業系統的選擇
1.4本章小結
1.5思考題
第2章Linux基礎知識
2.1認識Linux作業系統
2.1.1Linux簡明歷史
2.1.2Linux系統的特點和組成
2.1.3Linux的開發過程
2.2基本操作命令
2.2.1字元界面簡介
2.2.2常用命令簡介
2.3Linux檔案與目錄系統
2.3.1Linux檔案系統類型介紹
2.3.2Linux目錄系統
2.4shell簡介
2.5網路服務簡介
2.5.1Linux支持的網路協定
2.5.2Linux的網路服務
2.6本章小結
2.7思考題
第3章Linux編程環境
3.1Linux編程環境介紹
3.1.1開發工具環境
3.1.2基於文本模式的開發平台
3.1.3集成開發平台Eclipse+CDT
3.1.4文檔幫助環境
3.2常用編輯器
3.2.1VIM編輯器
3.2.2Emacs編輯器
3.3gcc編譯器的使用
3.3.1gcc的主要選項
3.3.2GNU C擴展簡介
3.4GNU make管理項目
3.4.1make簡介
3.4.2編寫Makefile檔案的規則
3.5GDB調試
3.5.1GDB命令介紹
3.5.2GDB調試例程
3.5.3基於GDB的圖形界面調試工具
3.6本章小結
3.7思考題
第4章Linux外殼程式編程
4.1創建和運行外殼程式
4.1.1創建外殼程式
4.1.2運行外殼程式
4.2使用外殼變數
4.2.1給變數賦值
4.2.2讀取變數的值
4.2.3位置變數和其他系統變數
4.2.4引號的作用
4.3數值運算命令
4.4條件表達式
4.4.1if表達式
4.4.2case表達式
4.5循環語句
4.5.1for語句
4.5.2while語句
4.5.3until語句
4.5.4repeat語句
4.6shift命令
4.7select語句
4.8函式
4.9shell套用舉例
4.10本章小結
4.11思考題
第5章構建嵌入式Linux開發平台
5.1GNU跨平台開發工具鏈
5.1.1基礎知識
5.1.2GNU跨平台開發工具鏈的建立過程
5.2嵌入式Linux核心
5.3嵌入式Linux根檔案系統
5.4Bootloader簡介
5.5本章小結
5.6思考題
第6章ARM調試環境
6.1ARM調試工具簡介
6.1.1JTAG仿真器
6.1.2MultiICE Server
6.2ADS軟體調試工具
6.2.1使用Metrowork CodeWarrior for ARM Developer Suite
6.2.2使用RealView Debugger
6.2.3使用AXD Debugger
6.3本章小結
6.4思考題
第7章嵌入式Bootloader技術
7.1Bootloader的基本概念
7.1.1Bootloader的安裝點和啟動過程
7.1.2Bootloader的模式
7.1.3Bootloader與主機之間的通信方式
7.2Bootloader典型結構框架
7.2.1Bootloader總體流程
7.2.2Bootloader的stage1
7.2.3Bootloader的stage2
7.3典型Bootloader分析和移植
7.3.1Blob
7.3.2UBoot
7.4其他Bootloader簡介
7.4.1Redboot
7.4.2ARMBoot
7.4.3PPCBoot
7.5本章小結
7.6思考題
第8章Linux核心配置
8.1核心概述
8.2嵌入式Linux核心代碼結構
8.3核心開發的特點
8.3.1沒有libc庫
8.3.2GNU C
8.3.3沒有記憶體保護機制
8.3.4不要輕易在核心中使用浮點數
8.3.5容積小而固定的棧
8.3.6同步和並發
8.3.7可移植性的重要性
8.4嵌入式Linux核心的配置
8.4.1Makefile
8.4.2配置檔案
8.4.3Linux核心配置選項
8.5配置舉例
8.6本章小結
8.7思考題
第9章ARMLinux核心分析和移植
9.1ARM微處理器
9.1.1RISC體系結構
9.1.2ARM微處理器的類型
9.1.3ARM微處理器的暫存器結構
9.1.4ARM微處理器的指令結構
9.2ARMLinux記憶體管理
9.2.1記憶體管理單元(MMU)
9.2.2ARMLinux的存儲管理機制
9.2.3ARMLinux存儲機制的建立
9.2.4ARMLinux對進程虛擬空間的管理
9.3ARMLinux進程管理與調度
9.3.1task_struct數據結構
9.3.2Linux進程的創建、執行和消亡
9.3.3ARM_Linux的進程調度
9.4ARMLinux中斷與中斷處理
9.4.1Linux處理中斷概述
9.4.2ARM體系程式的執行流程
9.4.3ARM處理器對異常中斷的回響及返回過程
9.5Linux驅動程式簡介
9.5.1設備的分類
9.5.2設備號
9.5.3設備節點
9.5.4用戶空間和核心空間
9.6Linux模組化機制
9.6.1Linux的模組化
9.6.2模組的載入
9.6.3模組的卸載
9.7ARMLinux系統啟動與初始化
9.7.1核心數據結構的初始化
9.7.2外設初始化
9.7.3init進程和linittab檔案
9.7.4rc啟動腳本
9.7.5shell的啟動
9.8ARMLinux核心裁減
9.9ARMLinux移植
9.9.1移植準備
9.9.2移植步驟
9.9.3配置核心選項
9.9.4修改Kernel檔案系統部分代碼
9.10本章小結
9.11思考題
第10章嵌入式檔案系統
10.1Linux檔案系統結構與特徵
10.1.1Linux檔案系統概述
10.1.2Linux檔案系統布局
10.1.3Linux支持的檔案系統
10.2嵌入式檔案系統簡介
10.2.1NOR Flash與NAND Flash介紹
10.2.2MTD介紹
10.2.3cramfs檔案系統簡介
10.2.4romfs檔案系統簡介
10.2.5JFFS檔案系統簡介
10.2.6YAFFS檔案系統簡介
10.3構建根檔案系統
10.4根檔案系統設定
10.5BusyBox
10.5.1BusyBox簡介
10.5.2使用BusyBox構建根檔案系統
10.6嵌入式檔案系統的設計
10.6.1檔案系統格式的選型的基本策略
10.6.2混合型檔案系統的設計
10.7本章小結
10.8思考題