複製鏈接
請複製以下鏈接發送給好友

嵌入式系統原理與設計

(2017年清華大學出版社出版的圖書)

鎖定
《嵌入式系統原理與設計》是2017年清華大學出版社出版的圖書,作者是陳文智、王總輝。
中文名
嵌入式系統原理與設計
作    者
陳文智
王總輝
出版社
清華大學出版社
出版時間
2017年03月
定    價
49 元
開    本
128 開
裝    幀
平裝
ISBN
9787302460787

嵌入式系統原理與設計編輯推薦

本書從教學的角度出發,全面、系統地講述了嵌入式系統及各組成部分的基本知識、技術原理和設計方法,使讀者可以瞭解嵌入式系統的結構組成,掌握嵌入式系統開發的思路方法,具備嵌入式系統開發的初步分析問題和解決問題的能力。

嵌入式系統原理與設計內容簡介

本書從教學的角度出發,全面、系統地講述了嵌入式系統及各組成部分的基本知識、技術原理和設計方法,使讀者可以瞭解嵌入式系統的結構組成,掌握嵌入式系統開發的思路方法,具備嵌入式系統開發的初步分析問題和解決問題的能力。本書上篇是原理部分,內容包括:嵌入式系統概述,ARM處理器和指令集,嵌入式Linux操作系統,嵌入式軟件編程技術,開發環境和調試技術,Boot Loader技術,ARMLinux內核,文件系統,設備驅動程序設計基礎,字符設備驅動程序設計,塊設備驅動程序設計,網絡設備驅動程序開發和嵌入式GUI及應用程序設計; 本書下篇是實驗部分,內容包括: 實驗基礎,開發環境建立,內核和模塊構建,文件系統構建,調試技術演練,字符設備驅動程序設計,塊設備驅動程序設計,網絡設備驅動程序設計,MiniGUI實驗設計和Android實驗設計。 本書兼顧教學、科研和工程開發的需要,既可以作為各類院校嵌入式方向的本科生和研究生的嵌入式系統教材,也可以作為嵌入式系統開發工程師的參考書。 [1] 

嵌入式系統原理與設計目錄

上篇原理 部 分
第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嵌入式操作系統簡介
1.3.2嵌入式Linux
1.3.3VxWorks
1.3.4μC/OSⅡ
1.3.5Windows CE
1.3.6Symbian
1.3.7Android
1.3.8iOS
1.4嵌入式系統設計
1.4.1嵌入式系統設計過程
1.4.2硬件設計平台的選擇
1.4.3軟件設計平台的選擇
1.4.3嵌入式應用軟件開發
1.4.5測試和優化
小結
進一步探索
第2章ARM處理器和指令集
2.1ARM處理器簡介
2.1.1ARM公司和ARM產品簡介
2.1.2ARM指令集體系結構版本
2.1.3ARM處理器系列
2.2ARM指令集簡介
2.2.1RISC簡介
2.2.2ARM狀態和Thumb狀態
2.2.3ARM指令類型和指令的條件域
2.3ARM指令的尋址方式
2.3.1立即尋址
2.3.2寄存器尋址
2.3.3寄存器偏移尋址
2.3.4寄存器間接尋址
2.3.5基址變址尋址
2.3.6多寄存器尋址
2.3.7堆棧尋址
2.3.8相對尋址
2.4ARM指令簡介
2.4.1跳轉指令
2.4.2通用數據處理指令
2.4.3乘法指令
2.4.4Load/Store內存訪問指令
2.4.5ARM協處理器指令
2.4.6雜項指令
2.4.7飽和算術指令
2.4.8ARM偽指令
2.5Thumb指令簡介
2.5.1Thumb跳轉指令
2.5.2Thumb通用數據處理指令
2.5.3Thumb算術指令
2.5.4Thumb內存訪問指令
2.5.5Thumb軟中斷和斷電指令
2.5.6Thumb偽指令
小結
進一步探索
第3章嵌入式Linux操作系統
3.1嵌入式Linux簡介
3.1.1μCLinux
3.1.2RTLinux
3.1.3紅旗嵌入式Linux
3.2內存管理
3.2.1內存管理和MMU
3.2.2標準Linux的內存管理
3.2.3μCLinux的內存管理
3.3進程管理
3.3.1進程和進程管理
3.3.2RTLinux的進程管理
3.3.3標準Linux的進程管理
3.3.4μCLinux的進程管理
3.4文件系統
3.4.1文件系統定義
3.4.3嵌入式Linux文件系統
小結
進一步探索
第4章嵌入式軟件編程技術
4.1嵌入式編程基礎
4.1.1嵌入式彙編語言基礎
4.1.2嵌入式高級編程知識
4.1.3嵌入式開發工程
4.2嵌入式彙編編程技術
4.2.1基本語法
4.2.2彙編語言程序設計案例
4.3嵌入式高級編程技術
4.3.1函數可重入
4.3.2中斷處理過程
4.4高級語言與彙編語言混合編程
4.4.1高級語言與彙編語言混合編程概述
4.4.2彙編程序調用C程序
4.4.3C程序調用匯編程序
小結
進一步探索
第5章開發環境和調試技術
5.1交叉開發模式概述
5.2宿主機環境
5.2.1串口終端
5.2.2BOOTP
5.2.3TFTP
5.2.4交叉編譯
5.3目標板環境
5.3.1JTAG接口簡介
5.3.2Boot Loader簡介
5.4交叉編譯工具鏈
5.4.1交叉編譯的構建
5.4.2相關工具
5.5gdb調試器
5.6遠程調試
5.6.1遠程調試原理
5.6.2gdb遠程調試功能
5.6.3使用gdbserver
5.7內核調試
5.7.1內核調試技術
5.7.2kgdb內核調試
5.8網絡調試
小結
進一步探索
第6章Boot Loader技術
6.1Boot Loader基本概念
6.1.1Boot Loader所支持的硬件環境
6.1.2Boot Loader的安裝地址
6.1.3Boot Loader相關的設備和基址
6.1.4Boot Loader的啓動過程
6.1.5Boot Loader的操作模式
6.1.6Boot Loader與主機之間的通信設備及協議
6.2Boot Loader典型結構
6.2.1Boot Loader階段1介紹
6.2.2Boot Loader階段2介紹
6.2.3關於串口終端
6.3UBoot簡介
6.3.1認識UBoot
6.3.2UBoot特點
6.3.3UBoot代碼結構分析
6.4vivi簡介
6.4.1認識vivi
6.4.2vivi代碼導讀
小結
進一步探索
第7章ARMLinux內核
7.1ARMLinux內核簡介
7.1.1ARMLinux內核和普通Linux內核的區別
7.1.2ARMLinux的版本控制
7.1.3ARMLinux的代碼結構
7.2ARMLinux內存管理
7.2.1影響內存管理的兩個方面
7.2.2ARMLinux的存儲機制
7.2.3虛擬內存
7.3ARMLinux進程管理和調度
7.3.1進程的表示和生命週期
7.3.2Linux進程的創建、執行和銷燬
7.3.3Linux進程的調度
7.4ARMLinux模塊機制
7.4.1Linux模塊概述
7.4.2模塊代碼結構
7.4.3模塊的加載
7.4.4模塊的卸載
7.4.5版本依賴
7.5ARMLinux中斷管理
7.6ARMLinux系統調用
7.7ARMLinux系統啓動和初始化
7.7.1使用Boot Loader將內核映像載入
7.7.2內核數據結構初始化——內核引導第一部分
7.7.3外設初始化——內核引導第二部分
7.7.4init進程和inittab腳本
7.7.5rc啓動腳本
7.7.6Shell的啓動
小結
進一步探索
第8章文件系統
8.1嵌入式文件系統簡介
8.1.2嵌入式文件系統簡介
8.2嵌入式Linux文件系統框架
8.3JFFS2嵌入式文件系統
8.3.1目錄節點的定義
8.3.2數據節點
8.3.3可靠性支持
8.3.4內存使用
8.3.5垃圾收集
8.3.6寫平衡
8.3.7JFFS2的不足之處
8.3.8JFFS3簡介
8.4根文件系統
8.4.1什麼是根文件系統
8.4.2建立JFFS2根文件系統
小結
進一步探索
第9章設備驅動程序設計基礎
9.1Linux設備驅動程序簡介
9.1.1設備的分類
9.1.2設備文件
9.1.3主設備號和次設備號
9.1.4Linux設備驅動代碼的分佈
9.1.5Linux設備驅動程序的特點
9.2設備驅動程序結構
9.2.1驅動程序的註冊與註銷
9.2.2設備的打開與釋放
9.2.3設備的讀寫操作
9.2.4設備的控制操作
9.2.5設備的輪詢和中斷處理
9.3Linux內核設備模型
9.3.1設備模型建立的目的
9.3.2sysfs——設備拓撲結構的文件系統表現
9.3.3驅動模型和sysfs
9.3.4kobject
9.3.5platform總線
9.4同步機制
9.4.1同步鎖
9.4.2信號量
9.4.3讀寫信號量
9.4.4原子操作
9.4.5完成事件
9.4.6時間
9.5內存映射和管理
9.5.1物理地址映射到虛擬地址
9.5.2內核空間映射到用户空間
9.6工作隊列
9.7異步I/O
9.8DMA
9.8.1DMA數據傳輸
9.8.2DMA定義
9.8.3DMA映射
小結
進一步探索
第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設備驅動
小結
進一步探索
第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卡驅動
11.7.1MMC/SD芯片介紹
11.7.2MMC/SD卡驅動結構
11.7.3MMC卡塊設備驅動分析
11.7.4HSMCI接口驅動設計分析
小結
進一步探索
第12章網絡設備驅動程序開發
12.1以太網基礎知識
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控制器驅動分析
小結
進一步探索
第13章嵌入式GUI及應用程序設計
13.1嵌入式GUI設計概述
13.1.1嵌入式GUI簡介
13.1.2嵌入式GUI設計需求
13.1.3嵌入式GUI設計原則
13.1.4主流嵌入式GUI簡介
13.2嵌入式GUI體系結構設計
13.2.1嵌入式GUI體系結構
13.2.2抽象層
13.2.3核心層
13.2.4接口層
13.3基於主流GUI的應用程序設計
13.3.1MiniGUI開發環境搭建
13.3.2基於MiniGUI的應用程序設計
13.3.3Android開發環境搭建
13.3.4基於Android的應用程序設計
小結
進一步探索
下篇實驗部分
第1章實驗基礎
第2章開發環境建立
第3章內核和模塊構建
第4章文件系統構建
第5章調試技術演練
第6章字符設備和驅動程序設計
第7章塊設備驅動程序設計
第8章網絡設備驅動程序設計
第9章MiniGUI應用設計
第10章Android應用設計 [1] 
參考資料