《嵌入式Linux實踐教程》按“理論聯繫實踐、分階段循序漸進”的思想將內容分成了5個部分,共11章。第1部分是入門部分,分為2章,主要講嵌入式系統、嵌入式Linux的發展、簡單的實踐。第2部分是開發環境的建立,分3章,主要講U-Boot的建立、交叉編譯工具的建立、調試環境的建立。第3部分是核心的定製,這一部分主要包括進程調度與記憶體管理2章,其目的為: 一是學習Linux的核心技術,了解核心中的結構、函式,為後一部分嵌入式Linux驅動、應用程式的最佳化打基礎; 二是學習嵌入式Linux核心的定製技術,為今後高端嵌入式Linux設計與套用作準備。第4部分是嵌入式Linux驅動程式的開發,包括驅動的基本技術、USB驅動的開發與CAN匯流排驅動的開發。第5部分以宇嵌千里眼中的應用程式為例講嵌入式Linux應用程式的開發。在這5個部分中融合了嵌入式Linux的系統技術。《嵌入式Linux實踐教程》的實踐配套同濟大學嵌入式系統創新實驗平台及其操作手冊,讀者可以邊做邊學。
基本介紹
- 書名:嵌入式Linux實踐教程
- 出版社:清華大學出版社
- 頁數:187頁
- 開本:16
- 品牌:清華大學出版社
- 作者:羅怡桂
- 出版日期:2011年6月1日
- 語種:簡體中文
- ISBN:9787302272953
內容簡介
圖書目錄
第1章 嵌入式Linux簡介
1.1 嵌入式系統
1.1.1 什麼是嵌入式系統
1.1.2 嵌入式系統的需求特點
1.2 嵌入式Linux
1.2.1 Linux與嵌入式Linux
1.2.2 嵌入式Linux的現狀
小結
實踐作業1
推薦閱讀1
第2章 嵌入式Linux系統的開發過程及簡單實踐
2.1 嵌入式Linux的開發環境
2.2 嵌入式Linux系統的開發過程
2.3 嵌入式教學創新實驗平台簡介
2.4 實踐1
2.5 實踐2
2.5.1 核心編譯與下載
2.5.2 根檔案系統的製作與下載
小結
實踐作業2
推薦閱讀2
第2部分 開發環境的建立
第3章 交叉編譯環境的建立
3.1 什麼是交叉編譯環境
3.2 GCC交叉編譯工具鏈
3.3 重建交叉編譯器
3.3.1 建立工作目錄
3.3.2 建立環境變數
3.3.3 安裝Linux的頭檔案
3.3.4 編譯安裝Binutils
3.3.5 編譯安裝Gcc的C編譯器
3.3.6 編譯安裝庫Glibc
3.3.7 編譯安裝Gcc的C、C++編譯器
3.3.8 測試交叉編譯工具鏈
小結
實踐作業3
推薦閱讀3
第4章 U-Boot
4.1 U-Boot項目簡介
4.2 U-Boot結構
4.3 U-Boot的版本選擇
4.4 編譯U-Boot
4.5 修改記憶體配置
4.6 配置Flash
4.7 驅動E28F128
4.8 驅動DM9000
4.9 增加命令與套用
4.10 從U-Boot到Linux
4.10.1 U-Boot向核心傳遞參數
4.10.2 啟動核心
小結
實踐作業4
推薦閱讀4
第5章 調試工具
5.1 GDB+GDBServer
5.2 二進制檔案輔助工具
5.3 mtrace
5.4 hooks
5.5 硬體仿真器
小結
實踐作業5
推薦閱讀5
第3部分 核心定製
第6章 進程調度
6.1 嵌入式Linux進程調度概述
6.2 進程的描述
6.3 Linux2.4 核心的調度算法
6.4 Linux2.4 應用程式中對進程調度的控制
6.5 從Linux2.4 調度算法到Linux2.6 調度算法
6.6 Linux2.6 調度算法分析
6.6.1 靜態優先權
6.6.2 動態優先權
6.6.3 時間片的計算
6.6.4 休眠進程與喚醒進程
6.6.5 調度的時機
6.6.6 Linux2.6 核心中CPU的負載平衡
6.6.7 調度策略
6.6.8 核心算法的調優
6.7 從Linux2.6 調度算法到嵌入式Linux調度
6.7.1 關鍵性混雜實時任務集調度算法
6.7.2 最大利用便攜設備後備電池的實時任務調度算法
6.7.3 基於GUI的互動式嵌入式系統的調度
小結
實踐作業6
推薦閱讀6
第7章 記憶體管理
7.1 Linux記憶體管理概述
7.2 物理記憶體管理
7.3 核心記憶體管理
7.4 虛擬記憶體管理器
7.5 核心虛擬記憶體管理器
7.6 從Linux記憶體管理到嵌入式Linux記憶體管理
7.6.1 調度協助請頁預取
7.6.2 主動交換延遲回寫
7.6.3 改進Buddy系統
小結
實踐作業7
推薦閱讀7
第4部分 驅動開發
第8章 驅動開發
8.1 基礎知識
8.1.1 檔案與設備
8.1.2 虛擬檔案系統
8.1.3 設備驅動的載入
8.2 框架驅動開發
8.3 中斷使用
8.3.1 Linux核心的中斷處理機制
8.3.2 中斷的申請
8.4 記憶體使用
8.4.1 分配Slab小塊記憶體
8.4.2 分配物理頁
8.4.3 核心虛擬地址空間分配
8.4.4 Bootmem
8.4.5 虛擬記憶體區(VMA)與記憶體映射
8.5 IO及IO映射
8.6 時間與時延使用
8.6.1 時鐘的類型
8.6.2 延遲的使用
8.6.3 核心定時器
小結
實踐作業8
推薦閱讀8
第9章 USB驅動開發
9.1 USB概述
9.2 USB匯流排互連結構
9.3 USB的電氣接口
9.4 USB數據流模型
9.5 USB設備通信模流
9.6 USB驅動框架
9.7 URB的使用
9.8 控制訊息的傳輸
9.9 批量數據傳輸
9.10 同步數據傳輸
9.11 中斷數據傳輸
9.12 嵌入式系統USB設備驅動的實現方案設計
9.12.1 傳輸方式的確定
9.12.2 建模
9.12.3 數據流分析
9.12.4 控制流分析
9.12.5 記憶體使用分析
9.12.6 調試方案
9.12.7 實現技術
9.12.8 模組劃分
9.12.9 實現
小結
實踐作業9
推薦閱讀9
第10章 CAN匯流排驅動開發
10.1 CAN匯流排標準概述
10.2 CAN匯流排特點
10.3 CAN匯流排的數據格式
10.4 一種CAN匯流排系統的實現方法
10.5 MCP2510器件功能介紹
10.6 CAN匯流排驅動程式的方案設計
10.6.1 CAN匯流排驅動程式的體系結構
10.6.2 CAN匯流排驅動程式建模
10.7 CAN匯流排的Linux驅動程式的實現
10.7.1 S3C2410暫存器地址映射
10.7.2 CAN匯流排驅動的入口和出口
10.7.3 設定SPI接口
10.7.4 MCP2510的初始化
10.7.5 MCP2510傳送數據和接收數據
10.7.6 中斷函式
10.7.7 讀寫函式
10.8 CAN匯流排驅動測試程式
小結
實踐作業10
推薦閱讀10
第5部分應用程式的開發
第11章 宇嵌千里眼主控程式開發
11.1 嵌入式應用程式的需求特點
11.2 宇嵌千里眼套用開發的要求
11.3 宇嵌千里眼主控程式開發實踐
11.3.1 建模
11.3.2 控制流分析
11.3.3 數據流分析
11.3.4 記憶體使用分析
11.3.5 實時性分析
11.3.6 進一步確定實現技術
11.3.7 模組劃分
11.3.8 再看實現技術
11.3.9 程式實現
小結
實踐作業11
推薦閱讀11
附錄A 一種新型PetriNet:雙層變遷定時PetriNet
附錄B 雙層變遷定時PetriNet抽象化