內容簡介
本書主要以目前國內外流行的三種基於ARM架構的嵌入式微處理器及主流的嵌入式作業系統為例,詳細介紹嵌入式微處理器的內部結構、工作原理等、接口設計等硬體平台設計的相關理論及開發流程,以及主流嵌入式作業系統的移植裁減、應用程式開發等開發軟體平台的相關知識和相關技術。針對於從事嵌入式系統研發工作的讀者,不僅需要掌握基於某些常用的嵌入式作業系統和嵌入式微處理器平台的技術研發,也要培養系統方案設計和軟、硬體綜合調試能力。為此,本書增添了部分相關的知識。
目錄
第1章 嵌入式系統概論 1
1.1 嵌入式系統概述 1
1.1.1 嵌入式系統的定義 1
1.1.2 嵌入式系統的特徵 2
1.2 嵌入式系統的套用領域及發展趨勢 3
1.2.1 嵌入式系統的套用領域 4
1.2.2 嵌入式技術的發展趨勢 8
1.3 嵌入式系統基本組成 10
1.3.1 嵌入式系統的組織架構 10
1.3.2 嵌入式系統的硬體組成 11
1.3.3 嵌入式系統的軟體組成 14
習題與思考題 15
第2章 嵌入式系統的基礎知識 16
2.1 嵌入式系統的硬體基礎知識 16
2.1.1 硬體系統體系結構原理 16
2.1.2 嵌入式系統中採用的先進技術 18
2.1.3 存儲器系統的基礎知識 21
2.2 嵌入式系統的軟體基礎知識 26
2.2.1 嵌入式軟體系統概述 27
2.2.2 嵌入式作業系統簡介 30
2.3 ARM微處理器的指令系統和程式設計 39
2.3.1 概述 39
2.3.2 ARM指令系統的定址方式和分類 41
2.3.3 基於ARM體系的語言程式設計 47
習題與思考題 50
第3章 基於ARM架構的嵌入式微處理器 51
3.1 概述 51
3.1.1 ARM體系結構版本和特種功能介紹 52
3.1.2 ARM微處理器系列產品 54
3.2 嵌入式微處理器的組成 59
3.2.1 嵌入式微處理器內部結構 60
3.2.2 ARM微處理器結構特徵 62
3.3 常用的三種ARM微處理器介紹 72
3.3.1 S3C44B0微處理器 72
3.3.2 S3C2410微處理器 80
3.3.3 XScale PXA255/27x系列微處理器 86
習題與思考題 88
第4章 嵌入式系統設計 90
4.1 概述 90
4.1.1 嵌入式系統的設計步驟 90
4.1.2 設計層次和設計架構 93
4.2 嵌入式系統的硬體設計 95
4.2.1 微處理器晶片選型的原則 95
4.2.2 多路時鐘電路的設計 96
4.2.3 系統復位電路的設計 97
4.2.4 電源管理器 98
4.2.5 存儲系統的設計 98
4.3 嵌入式系統接口設計 102
4.3.1 通用I/O接口技術 102
4.3.2 串口的設計 106
4.3.3 A/D轉換接口 111
4.3.4 數字音頻設備接口 112
4.3.5 SD存儲卡接口 113
4.4 嵌入式系統人機互動設備接口 113
4.4.1 顯示器接口 113
4.4.2 鍵盤接口 117
4.4.3 觸控螢幕接口 118
4.5 嵌入式系統的匯流排接口和網路接口設計 121
4.5.1 I2C匯流排接口設計 121
4.5.2 CAN匯流排接口設計 123
4.5.3 嵌入式乙太網接口設計 125
4.5.4 嵌入式Internet接口設計 130
4.6 嵌入式系統中常用的無線通信技術 131
4.6.1 無線區域網路Wi-Fi技術 131
4.6.2 藍牙技術 132
4.6.3 其他無線通信技術 134
習題與思考題 138
第5章 嵌入式系統開發環境與相關開發技術 139
5.1 概述 139
5.2 嵌入式系統的開發工具 140
5.2.1 在嵌入式系統裸機開發階段中常用的開發工具 141
5.2.2 基於嵌入式作業系統與應用程式開發階段的常用工具 141
5.3 嵌入式系統調試技術 143
5.3.1 ARM調試技術概述 143
5.3.2 基於JTAG的調試系統 145
5.3.3 基於Angel的調試系統 147
5.4 嵌入式系統開發經驗 149
5.5 嵌入式系統的Bootloader技術 150
5.5.1 Bootloader的職能 151
5.5.2 Bootloader的操作模式 152
5.5.3 Bootloader的程式結構與調試 153
5.5.4 常用Bootloader的簡介 154
習題與思考題 155
第6章 嵌入式mC/OS-Ⅱ作業系統及套用 157
6.1 C/OS-Ⅱ作業系統概述 157
6.1.1 µC/OS-Ⅱ作業系統功能和特點 157
6.1.2 µC/OS-Ⅱ作業系統的核心結構 158
6.1.3 µC/OS-Ⅱ作業系統的主要功能模組 162
6.1.4 µC/OS-Ⅱ 作業系統的初始化 165
6.2 ARM ADS開發環境 165
6.2.1 代碼生成開發工具 166
6.2.2 集成開發環境IDE 166
6.2.3 調試器 167
6.2.4 ARM套用庫和實用程式 167
6.3 C/OS-Ⅱ作業系統在ARM系統中的移植 168
6.3.1 µC/OS-Ⅱ作業系統的移植條件 168
6.3.2 µC/OS-Ⅱ作業系統的移植步驟 169
6.4 基於C/OS-Ⅱ作業系統的套用開發 175
6.4.1 基於µC/OS-Ⅱ作業系統的應用程式結構 175
6.4.2 µC/OS-Ⅱ作業系統的API 176
6.4.3 基於µC/OS-Ⅱ作業系統的繪圖函式及套用 177
習題與思考題 183
第7章 嵌入式Linux作業系統及套用 184
7.1 嵌入式Linux作業系統概述 184
7.1.1 嵌入式Linux作業系統分類 184
7.1.2 嵌入式Linux核心組成與啟動過程 186
7.2 嵌入式Linux作業系統的開發工具 188
7.2.1 編譯器GCC 188
7.2.2 編譯器Makefile 189
7.2.3 調試器gdb 191
7.3 嵌入式Linux作業系統的核心編譯及驅動程式的開發 192
7.3.1 嵌入式Linux作業系統的定製過程 193
7.3.2 增加新的核心組件 194
7.3.3 配置作業系統核心及核心的生成和裝載 196
7.3.4 嵌入式系統的檔案系統 197
7.3.5 嵌入式Linux作業系統的驅動程式開發 197
7.4 嵌入式Linux作業系統的套用開發 204
7.4.1 概述 204
7.4.2 作業系統圖形用戶接口(GUI) 204
7.4.3 Qt/Embedded開發技術 205
習題與思考題 210
第8章 Windows CE作業系統的套用與開發 211
8.1 Windows CE作業系統概述 211
8.1.1 Windows CE 作業系統的發展 211
8.1.2 Windows CE 作業系統的特點 211
8.1.3 Windows CE作業系統的體系結構 213
8.2 Windows CE作業系統的開發工具 216
8.2.1 eMbedded Visual C++ 216
8.2.2 Platform Builder 217
8.3 Windows CE作業系統核心編譯及驅動程式的開發 218
8.3.1 Windows CE核心的裁剪與編譯 218
8.3.2 驅動程式的開發 224
8.4 基於Windows CE作業系統的套用開發 226
8.4.1 eMbedded Visual C++集成開發環境的套用 227
8.4.2 應用程式的創建 228
8.4.3 編譯生成執行檔 229