基本介紹
- 書名:《嵌入式系統原理與設計》
- 作者:陳文智
- ISBN:9787302238591
- 定價:49元
- 出版社:清華大學出版社
圖書信息,圖書簡介,圖書目錄,
圖書信息
書名:《嵌入式系統原理與設計》作者:陳文智
出版社:清華大學出版社
ISBN:9787302238591
定價:49元
印次:1-1
裝幀:平裝
印刷日期:2011-4-11
圖書簡介
本書分為上下兩篇,上篇原理部分共14章,下篇實驗部分共10章。
其中原理部分:
第1章介紹嵌入式系統的套用領域和發展方向。
第2章介紹ARM9處理器的架構及其記憶體管理。
第3章介紹ARM9體系結構的指令集與彙編代碼的編寫。
第4章介紹嵌入式Linux作業系統的基本知識。
第5章介紹常見的Boot Loader。
第6章介紹基於ARM體系結構的Linux核心。
第7章介紹嵌入式檔案系統的框架。第8章介紹嵌入式設備驅動程式結構。
第9章介紹交叉開發環境模式和常用的調試技術。
第10章介紹字元設備驅動程式的框架。
第11章介紹塊設備驅動程式的架構。
第12章介紹網路設備驅動架構。
第13章介紹嵌入式MiniGUI及其套用。
第14章介紹Android嵌入式系統相關的技術與套用開發。
實驗部分:
第1章介紹本書實驗部分採用的開發板。
第2章介紹搭建宿主機和目標機實驗環境。
第3章介紹核心及核心模組的製作方法。
第4章介紹根檔案系統的製作過程。
第5章介紹調試的方法。
第6章介紹了簡單的字元設備驅動程式的編寫方法。
第7章介紹了塊設備驅動程式開發的特點和流程。
第8章介紹了網卡驅動程式的開發流程。
第9章介紹了MiniGUI的使用方法。
第10章介紹了Android平台上應用程式的開發方法和流程。
本書既可以作為各類院校嵌入式方向的本科生和研究生的嵌入式系統教材,也可以作為嵌入式系統開發工程師的參考書。
圖書目錄
目錄
上篇原 理 部 分
第1章嵌入式系統概述
1.1嵌入式系統簡介
1.1.1嵌入式系統歷史與現狀
1.1.2嵌入式系統體系結構
1.1.3套用領域和發展方向
1.2嵌入式微處理器
1.2.1嵌入式處理器簡介
1.2.2ARM微處理器的套用領域及一般特點
1.2.3ARM微處理器系列
1.3嵌入式作業系統
1.3.1嵌入式作業系統簡介
1.3.2嵌入式Linux
1.3.3Windows CE
1.3.4Symbian
1.3.5Android
1.3.6uC/OS?II
1.3.7VxWorks
1.3.8其他嵌入式作業系統
1.4嵌入式系統設計
1.4.1嵌入式系統設計過程
1.4.2硬體設計平台的選擇
1.4.3軟體設計平台的選擇
1.4.4嵌入式套用軟體開發
1.4.5測試和最佳化
1.5小結
第2章ARM處理器和架構
2.1ARM處理器概述
2.1.1ARM公司和ARM產品簡介
2.1.2ARM指令集體系結構版本
2.1.3ARM微處理器系列
2.2ARM9處理器架構
2.2.1ARM9 暫存器
2.2.2流水線技術和哈佛體系結構
2.2.3CP15協處理器
2.3ARM9處理器的記憶體管理
2.3.1記憶體管理單元的作用
2.3.2ARM9記憶體管理
2.4ARM9異常處理
2.4.1ARM9異常
2.4.2ARM9異常處理向量表
2.4.3ARM9異常處理過程
2.5小結
目錄
嵌入式系統原理與設計
第3章ARM9指令集和彙編
3.1ARM指令集概述
3.1.1RISC簡介
3.1.2ARM狀態和Thumb狀態
3.1.3ARM9指令類型和指令的條件域
3.2ARM指令的定址方式
3.2.1立即定址
3.2.2暫存器定址
3.2.3暫存器偏移定址
3.2.4暫存器間接定址
3.2.5基址變址定址
3.2.6多暫存器定址
3.2.7堆疊定址
3.2.8相對定址
3.3ARM指令簡介
3.3.1跳轉指令
3.3.2通用數據處理指令
3.3.3乘法指令
3.3.4Load/Store記憶體訪問指令
3.3.5ARM協處理器指令
3.3.6雜項指令
3.3.7飽和算術指令
3.3.8ARM偽指令
3.4Thumb指令簡介
3.4.1Thumb跳轉指令
3.4.2Thumb通用數據處理指令
3.4.3Thumb算術指令
3.4.4Thumb記憶體訪問指令
3.4.5Thumb軟中斷和斷電指令
3.4.6Thumb偽指令
3.5小結
第4章嵌入式Linux作業系統
4.1嵌入式Linux簡介
4.1.1uCLinux
4.1.2RT?Linux
4.1.3紅旗嵌入式Linux
4.2記憶體管理
4.2.1記憶體管理和MMU
4.2.2標準Linux的記憶體管理
4.2.3uCLinux的記憶體管理
4.3進程管理
4.3.1進程和進程管理
4.3.2RT?Linux的進程管理
4.3.3標準Linux的進程管理
4.3.4uCLinux的進程管理
4.4檔案系統
4.4.1檔案系統定義
4.4.2Linux檔案系統
4.4.3嵌入式Linux檔案系統
4.5小結
第5章Boot Loader技術
5.1Boot Loader基本概念
5.1.1Boot Loader所支持的硬體環境
5.1.2Boot Loader的安裝地址
5.1.3Boot Loader相關的設備和基址
5.1.4Boot Loader的啟動過程
5.1.5Boot Loader的操作模式
5.1.6Boot Loader與主機之間的通信設備及協定
5.2Boot Loader的典型結構
5.2.1Boot Loader階段1介紹
5.2.2Boot Loader階段2介紹
5.2.3關於串口終端
5.3U?Boot簡介
5.3.1認識U?Boot
5.3.2U?Boot特點
5.3.3U?Boot代碼結構分析
5.4vivi簡介
5.4.1認識vivi
5.4.2vivi代碼導讀
5.5小結
第6章ARM?Linux核心
6.1ARM?Linux核心簡介
6.1.1ARM?Linux核心和普通Linux核心的區別
6.1.2ARM?Linux的版本控制
6.1.3ARM?Linux的代碼結構
6.2ARM?Linux記憶體管理
6.2.1影響記憶體管理的兩個方面
6.2.2ARM?Linux的存儲機制
6.2.3虛擬記憶體
6.3ARM?Linux進程管理和調度
6.3.1進程的表示和生命周期
6.3.2Linux進程的創建、執行和銷毀
6.3.3Linux進程的調度
6.4ARM?Linux的模組機制
6.4.1Linux 模組概述
6.4.2模組代碼結構
6.4.3模組的載入
6.4.4模組的卸載
6.4.5版本依賴
6.5ARM?Linux的中斷管理
6.6ARM?Linux的系統調用
6.7ARM?Linux系統的啟動和初始化
6.7.1使用Boot Loader將核心映像載入
6.7.2核心數據結構初始化——核心引導第一部分
6.7.3外設初始化——核心引導第二部分
6.7.4init進程和inittab腳本
6.7.5rc啟動腳本
6.7.6Shell的啟動
6.8小結
第7章檔案系統
7.1嵌入式檔案系統
7.1.1嵌入式檔案系統簡介
7.1.2Linux檔案系統簡介
7.2嵌入式Linux檔案系統框架
7.3JFFS2嵌入式檔案系統
7.3.1目錄節點的定義
7.3.2數據節點
7.3.3可靠性支持
7.3.4記憶體使用
7.3.5垃圾收集
7.3.6寫平衡
7.3.7JFFS2的不足之處
7.3.8JFFS3簡介
7.4根檔案系統
7.4.1什麼是根檔案系統
7.4.2建立JFFS2根檔案系統
7.5小結
第8章設備驅動
8.1Linux驅動程式簡介
8.1.1設備的分類
8.1.2設備檔案
8.1.3主設備號和次設備號
8.1.4Linux設備驅動代碼的分布
8.1.5Linux設備驅動程式的特點
8.2設備驅動程式結構
8.2.1驅動程式的註冊與註銷
8.2.2設備的打開與釋放
8.2.3設備的讀寫操作
8.2.4設備的控制操作
8.2.5設備的輪詢和中斷處理
8.3Linux核心設備模型
8.3.1設備模型建立的目的
8.3.2sysfs——設備拓撲結構的檔案系統表現
8.3.3驅動模型和sysfs
8.3.4kobject
8.3.5platform匯流排
8.4同步機制
8.4.1同步鎖
8.4.2信號量
8.4.3讀寫信號量
8.4.4原子操作
8.4.5完成事件(completion)
8.4.6時間
8.5記憶體映射和管理
8.5.1物理地址映射到虛擬地址
8.5.2核心空間映射到用戶空間
8.6工作佇列
8.7異步I/O
8.8DMA
8.8.1DMA數據傳輸
8.8.2DMA定義
8.8.3DMA映射
8.9小結
第9章開發環境和調試技術
9.1交叉開發環境模式概述
9.2宿主機環境
9.2.1串口終端
9.2.2BOOTP協定
9.2.3TFTP協定
9.2.4交叉編譯
9.2.5make工具
9.3目標板環境
9.3.1JTAG接口簡介
9.3.2Boot Loader簡介
9.4交叉編譯工具鏈
9.4.1交叉編譯的構建
9.4.2相關工具
9.5gdb調試器
9.6遠程調試
9.6.1遠程調試原理
9.6.2gdb遠程調試功能
9.6.3使用gdbserver
9.7核心調試
9.7.1核心調試技術
9.7.2kgdb核心調試
9.8網路調試
9.9小結
第10章字元設備和驅動程式設計
10.1字元設備驅動框架
10.2字元設備驅動開發
10.2.1設備號
10.2.2關鍵數據結構
10.2.3字元設備註冊和註銷
10.3GPIO驅動概述
10.4串列匯流排概述
10.4.1SPI匯流排
10.4.2I2C匯流排
10.4.3SMBus匯流排
10.5I2C匯流排驅動開發
10.5.1I2C驅動架構
10.5.2關鍵數據結構
10.5.3I2C核心
10.5.4I2C匯流排驅動
10.5.5I2C設備驅動
10.6小結
第11章塊設備和驅動程式設計
11.1塊設備驅動程式設計概要
11.1.1塊設備的數據交換方式
11.1.2塊設備讀寫請求
11.2Linux塊設備驅動相關數據結構與函式
11.2.1gendisk結構
11.2.2request結構
11.2.3request_queue佇列
11.2.4bio結構
11.3塊設備的註冊與註銷
11.4塊設備初始化與卸載
11.5塊設備操作
11.6請求處理
11.7MMC/SD卡驅動
11.7.1MMC/SD晶片介紹
11.7.2MMC/SD卡驅動結構
11.7.3MMC/SD卡塊設備驅動分析
11.7.4HSMCI接口驅動設計分析
11.8小結
第12章網路設備驅動程式開發
12.1乙太網基礎知識
12.1.1CSMA/CD協定
12.1.2乙太網幀結構
12.1.3嵌入式系統中常用網路協定
12.2嵌入式網路設備驅動開發概述
12.3網路設備驅動基本數據結構
12.3.1net_device數據結構
12.3.2sk_buffer 數據結構
12.4網路設備初始化
12.5打開和關閉接口
12.6數據接收與傳送
12.7查看狀態與參數設定
12.8AT91SAM9G45網卡驅動
12.8.1EMAC模組簡介
12.8.2模組圖
12.8.3功能描述
12.8.4暫存器描述
12.8.5AT91SAM9G45晶片EMAC控制器驅動分析
12.9小結
第13章MiniGUI
13.1MiniGUI概述
13.1.1MiniGUI簡介
13.1.2MiniGUI特點
13.1.3MiniGUI套用
13.2MiniGUI安裝與配置
13.2.1安裝GUI相關程式
13.2.2配置MiniGUI環境
13.3MiniGUI的使用
13.3.1編譯應用程式
13.3.2交叉編譯
13.4MiniGUI的編程
13.4.1編程環境介紹
13.4.2MiniGUI框架介紹
13.4.3基礎編程
13.4.4對話框和控制項編程
13.4.5圖形編程
13.5小結
第14章Android嵌入式系統及套用開發
14.1Android概述
14.1.1簡介
14.1.2Android系統架構
14.1.3Android套用擴展
14.2Android開發環境搭建
14.2.1Android開發環境介紹
14.2.2環境搭建步驟
14.2.3Android SDK介紹
14.3Android套用開發
14.3.1創建Android工程
14.3.2Hello World!例程
14.4Android套用開發擴展
14.4.1基礎UI設計
14.4.2擴展性設計
14.5小結
下篇實 驗 部 分
第1章實驗基礎
第2章開發環境建立
第3章核心和模組構建
第4章檔案系統構建
第5章調試技術演練
第6章字元設備驅動程式設計
第7章塊設備驅動程式設計
第8章網路設備驅動程式設計
第9章MiniGUI實驗設計
第10章Android實驗設計