一、方彥軍《嵌入式系統原理與設計》
內容簡介
《嵌入式系統原理與設計》系統深入地介紹了嵌入式系統原理與設計方面的知識。從嵌入式系統概念、套用領域、設計開發流程和發展趨勢等基礎知識出發,以ARM處理器為例,介紹了嵌入式處理器的知識及使用;以幾種通用的嵌入式作業系統為例,著重介紹了嵌入式作業系統的基本知識;並根據在嵌入式硬體及軟體設計方面的實際經驗,圖文並茂地介紹了嵌入式應用程式設計。
《嵌入式系統原理與設計》可以作為高等學校電工電子、自動化、計算機技術套用等類工科專業本科生、研究生教材或參考書,也可以作為相關專業工程技術人員的技術參考書。
圖書目錄
第1章 嵌入式系統概論
1.1 嵌入式系統的基本概念
1.1.1 嵌入式系統的定義
1.1.2 嵌入式系統的特點
1.1.3 嵌入式系統的分類
1.1.4 嵌入式系統的組成
1.1.5 嵌入式系統的套用領域
1.2 嵌入式處理器
1.2.1 嵌入式處理器的分類
1.2.2 嵌入式微處理器
1.2.3 微控制器
1.2.4 DSP處理器
1.2.5 片上系統
1.2.6 典型嵌入式處理器
1.3 嵌入式作業系統
1.3.1 作業系統的概念及功能
1.3.2 作業系統的分類
1.3.3 實時作業系統
1.3.4 常見的嵌入式作業系統
1.4嵌入式系統設計與開發過程
1.4.1 嵌入式軟體開發的特點
1.4.2 嵌入式系統的設計考慮
1.4.3 嵌入式系統的設計挑戰
1.4.4 軟體與硬體的劃分
1.4.5 軟硬體平台的選擇
1.4.6嵌入式系統的設計與開發流程
1.5 嵌入式系統的發展趨勢
第2章 ARM嵌入式處理器
2.1 ARM的由來
2.2 ARM處理器系列
2.2.1 ARM7系列微處理器
2.2.2 ARM9系列微處理器
2.2.3 ARMIO系列微處理器
2.2.4 ARMll系列微處理器
2.2.5 SecurCore系列微處理器
2.2.6 StrongARM、Xscale系列微處理器
2.3 ARM處理器體系結構
2.3.1 RISC體系結構
2.3.2 ARM和。rhumb狀態
2.3.3 ARM7TDMI的暫存器結構
2.3.4 ARM異常中斷
2.4 ARM處理器的套用選型
2.5s3C4510B概述
2.5.1 S3CA510B簡介
2.5.2 S3CA510B引腳分布及信號描述
2.5.3 S3CA510B核心概述及特殊功能暫存器
2.5.4 S3CA510B系統管理器
2.5.5 S3CA510B控制暫存器
第3章 ARM指令系統及程式設計基礎
3.1 ARM指令集概述
3.1.1 ARM指令的分類
3.1.2 ARM指令的條件執行
3.2ARM定址方式
3.3 ARM指令集
3.3.1 數據處理指令
3.3.2 程式狀態暫存器訪問指令
3.3.3 跳轉指令
3.3.4 載入/存儲指令
3.3.5 協處理器指令
3.3.6 異常中斷指令
3.4Thumb指令集
3.4.1 Thumb指令集特點
3.4.2 Thumb狀態切換
3.4.3 Thumb指令暫存器的使用
3.4.4 Thumb跳轉指令
3.5 ARM程式設計基礎
3.5.1 ARM偽指令
3.5.2 ARM彙編程式格式
3.5.3 彙編語言編程實例
3.6 彙編語言與C語言混合編程
第4章 嵌入式作業系統
4.1 作業系統的基本概念
4.1.1 作業系統的結構和功能
4.1.2 多進程和多執行緒
4.1.3 任務
4.1.4 任務切換
4.1.5 核心
4.1.6 信號量
4.1.7 任務調度
4.1.8 任務間的通信
4.1.9 任務間的同步
4.2 uC/OS-Ⅱ
4.2.1 uC/OS-Ⅱ簡介
4.2.2 uC/OS-Ⅱ核心結構
4.2.3 uC/OS-Ⅱ在.ARM上的移植
4.3 uCLinux
4.3.1 uClAnux簡介
4.3.2 Linux核心
4.3.3 uCLinux核心與傳統Linux的比較
4.3.4 uCLinux的核心結構
4.3.5 uCLinux在ARM上的移植
4.4 WindowsCE
4.4.1 WindowsCE簡介
4.4.2 WindowsCE核心結構
4.4.3 WindowsCE的開發與套用
第5章 嵌入式最小系統設計
5.1 電源、晶振及復位電路
5.1.1 電源電路
5.1.2 晶振電路
5.1.3 復位電路
5.2 存儲器接口
5.2.1 存儲器概述
5.2.2 存儲器接口電路
5.2.3 存儲器套用示例
5.3 中斷接口
5.3.1 中斷概述
5.3.2 控制中斷的暫存器
5.3.3 外部中斷的套用示例
5.4 JTAG接口
5.4.1 JTAG概述
5.4.2 ARM的JTAG調試結構
5.4.3 ARM7TDMI核心的JTAG掃描鏈結構
5.4.4 JTAG接口電路
第6章 人機互動接口設計
6.1 鍵盤輸入接口
6.1.1 鍵盤工作原理
6.1.2 常用鍵盤接口
6.1.3 鍵盤驅動程式實例
6.2 LCD顯示接口
6.2.1 LCD簡介
6.2.2 在嵌入式Linux中驅動LCD
6.2.3 LCD接口電路
6.2.4 uClinux下開發LCD應用程式
6.3 觸控螢幕互動接口
6.3.1 觸控螢幕的基本原理
6.3.2 觸控螢幕的輸入系統
6.3.3 $3C44BOX觸控螢幕應用程式舉例
第7章 通信接口設計
7.1 串列接口
7.1.1 串列通信概述
7.1.2 串列接口設計實例
7.2 12C接口
7.2.1 I2C接口概述
7.2.2 I2C接口設計實例
7.3 乙太網接口
7.3.1 乙太網接口概述
7.3.2 乙太網控制器RTLS019
7.3.3 乙太網接口設計實例
7.4 USB接口
7.4.1 USB接口概述
7.4.2 USB接口設計實例
第8章 輸入輸出接口設計
8.1 A/D接口電路
……
第9章 嵌入式乙太網智慧型測控系列實例
參考文獻
二、陳文智《嵌入式系統原理與設計》
圖書簡介
本書分為上下兩篇,上篇原理部分共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實驗設計
三、王志英 《嵌入式系統原理與設計》
內容簡介
本書針對嵌入式系統領域的最新發展趨勢,系統全面地介紹了嵌入式系統的基本概念、原理、設計原則與方法,同時根據當前市場的需求和學習者的實際情況,合理選取典型技術進行具體介紹。
圖書目錄
前言
第1章 概論
1.1 引言
1.2 嵌入式系統的定義
1.3 嵌入式系統的體系結構
1.4 嵌入式系統的特徵
1.5 嵌入式系統的發展現狀與趨勢
1.6 實例:網路照相機
小結
習題
第2章 嵌入式系統設計方法
2.1 引言
2.2 嵌入式系統的設計過程
2.3 設計方法學
2.4 嵌入式系統設計的形式化方法
小結
習題
第3章 嵌入式處理器
3.1 引言
3.2 嵌入式處理器的特點
3.3 嵌入式處理器的分類
3.4 典型的嵌入式處理器
3.5 嵌入式處理器的發展趨勢
3.6 選擇嵌入式處理器的原則
3.7 實例分析——ARM微處理器的編程模型
小結
習題
第4章 存儲系統
4.1 概述
4.2 存儲設備組織
4.3 存儲器時序
4.4 存儲器接口
小結
習題
第5章 匯流排與通信接口
5.1 引言
5.2 PCI匯流排
5.3 RS232C/RS485
5.4 USB匯流排
5.5 I2C匯流排
小結
習題
第6章 I/O接口電路
6.1 引言
6.2 中斷控制器
6.3 DMA控制器
6.4 GPIO連線埠
6.5 定時/計數器
6.6 UART接口
6.7 JTAG接口
小結
習題
第7章 嵌入式作業系統
7.1 引言
7.2 嵌入式作業系統的特點
7.3 嵌入式作業系統的發展
7.4 嵌入式作業系統的構成
7.5 實時作業系統
7.6 典型的嵌入式作業系統
7.7 嵌入式作業系統的選擇
7.8 實例
小結
習題
第8章 嵌入式系統高級技術
8.1 引言
8.2 Bootloader設計
8.3嵌入式系統可靠性設計
8.4 嵌入式系統低功耗設計
8.5 嵌入式系統分析與最佳化
8.6 實例
小結
習題
附錄A ARM微處理器的指令系統
附錄B S3C44B0X簡介
參考文獻