《嵌入式系統原理與開發(第二版)》是2014年西安電子科技大學出版社出版的圖書,作者是夏靖波、陳雅蓉、胡健生、王航。
基本介紹
- 書名:嵌入式系統原理與開發(第二版)
- 作者:夏靖波 陳雅蓉 胡健生 王航
- 出版社:西安電子科技大學出版社
- 出版時間:2014年10月
- 定價:29.75 元
- ISBN:978-7-5606-2433-4/TP.1214
內容簡介,目錄,
內容簡介
本書根據嵌入式系統的結構體系,從其所涉及的基本概念出發,分層次介紹了嵌入式系統的設計原理,並保持了各層次之間的相關性。嵌入式系統從結構上劃分為嵌入式處理器、嵌入式外圍硬體、設備驅動、實時作業系統、嵌入式應用程式這五個層次。本書在闡述每個層次原理的基礎上,還基於ARM處理器和μC/OS-Ⅱ作業系統平台,介紹了一個完整的嵌入式系統開發所涉及的基本技術方法、開發工具、調試原理與方法。
本書可作為計算機網路工程、電子工程、自動化控制等相關專業本科生或研究生的教材,也可作為從事嵌入式系統開發的工程技術人員的參考書。
目錄
第1章 嵌入式系統概述 1
1.1 嵌入式系統的產生和發展 1
1.2 嵌入式系統的概念 3
1.2.1 嵌入式系統的定義 3
1.2.2 嵌入式系統的特點 3
1.2.3 嵌入式系統的組成結構 6
1.2.4 嵌入式系統的分類 7
1.3 嵌入式系統的套用領域 11
1.4 嵌入式系統的發展趨勢 12
思考與練習題 15
第2章 嵌入式處理器 16
2.1 引言 16
2.2 嵌入式處理器概述 16
2.2.1 嵌入式處理器的分類 17
2.2.2 典型的嵌入式處理器 18
2.3 ARM處理器基礎 22
2.3.1 ARM簡介 22
2.3.2 ARM處理器系列 23
2.3.3 ARM處理器體系結構 29
2.3.4 ARM處理器套用選型 34
2.4 ARM指令系統 35
2.4.1 ARM編程模型 35
2.4.2 ARM定址方式 45
2.4.3 ARM指令集 49
2.4.4 Thumb指令集 63
2.5 ARM程式設計基礎 73
2.5.1 ARM彙編語句格式 74
2.5.2 ARM彙編程式格式 74
2.5.3 彙編語言編程實例 75
2.5.4 彙編語言與C語言的混合編程 77
思考與練習題 84
第3章 嵌入式硬體平台 87
3.1 引言 87
3.2 嵌入式硬體平台概述 87
3.3 匯流排 88
3.3.1 匯流排協定 89
3.3.2 DMA 91
3.3.3 匯流排配置 92
3.3.4 匯流排實例 93
3.4 存儲設備 93
3.4.1 嵌入式系統存儲器子系統的結構 93
3.4.2 RAM 95
3.4.3 ROM 97
3.4.4 Flash Memory 98
3.5 I/O設備 99
3.5.1 定時器/計數器 99
3.5.2 模/數轉換器和數/模轉換器 100
3.5.3 人機接口設備 101
3.6 通信設備 104
3.6.1 通用異步收發器 104
3.6.2 USB設備 107
3.6.3 Ethernet設備 112
3.7 其他 113
3.7.1 電源 113
3.7.2 時鐘 114
3.7.3 復位 115
3.7.4 中斷 116
思考與練習題 118
第4章 BootLoader與設備驅動 119
4.1 引言 119
4.2 BootLoader 120
4.2.1 BootLoader概述 120
4.2.2 BootLoader的典型結構 121
4.2.3 實例分析 124
4.3 設備驅動 135
4.3.1 設備驅動概述 135
4.3.2 LCD驅動控制實例 139
4.3.3 A/D轉換功能驅動實例 144
思考與練習題 148
第5章 嵌入式作業系統 149
5.1 引言 149
5.2 嵌入式作業系統概述 150
5.2.1 嵌入式實時作業系統 150
5.2.2 典型的嵌入式作業系統 150
5.3 作業系統的基本概念 155
5.3.1 多進程和多執行緒 155
5.3.2 任務 155
5.3.3 任務切換 157
5.3.4 核心 157
5.3.5 任務調度 157
5.3.6 任務間的通信與同步 159
5.3.7 作業系統的結構和功能 162
5.4 μC/OS-Ⅱ簡介 162
5.4.1 μC/OS-Ⅱ概述 162
5.4.2 μC/OS-Ⅱ的特點 163
5.4.3 μC/OS-Ⅱ的軟體體系結構 164
5.5 μC/OS-Ⅱ核心結構 165
5.5.1 臨界段 165
5.5.2 任務 166
5.5.3 任務控制塊OS_TCB 167
5.5.4 任務調度 168
5.5.5 任務管理 168
5.5.6 中斷服務 169
5.5.7 時鐘節拍與時間管理 170
5.5.8 任務間同步與通信的管理 171
5.5.9 記憶體管理 174
5.5.10 μC/OS-Ⅱ的初始化 175
5.5.11 μC/OS-Ⅱ的啟動 176
5.6 μC/OS-Ⅱ在ARM上的移植 176
5.6.1 μC/OS-Ⅱ的移植條件 176
5.6.2 μC/OS-Ⅱ的移植步驟 177
5.6.3 測試移植代碼 182
5.7 基於μC/OS-Ⅱ構建的TCP/IP/PPP 協定棧 182
5.7.1 嵌入式協定棧概述 182
5.7.2 選擇協定棧 183
5.7.3 嵌入式TCP/IP協定棧 183
5.7.4 基於μC/OS-Ⅱ的TCP/IP/PPP協定棧 185
思考與練習題 187
第6章 嵌入式應用程式設計 188
6.1 引言 188
6.2 程式設計方法 188
6.2.1 設計范型 188
6.2.2 編程模型 191
6.3 程式設計技術 192
6.3.1 訊息 192
6.3.2 任務和任務間同步 193
6.3.3 繪圖函式 194
6.3.4 控制項 195
6.4 嵌入式程式最佳化 196
6.4.1 編譯過程 196
6.4.2 執行時間最佳化 200
6.4.3 能量最佳化 204
6.4.4 長度最佳化 205
思考與練習題 207
第7章 基於網路的嵌入式系統設計 208
7.1 引言 208
7.2 分散式嵌入式系統 208
7.2.1 系統概述 208
7.2.2 OSI模型 209
7.2.3 網路結構 210
7.2.4 網路編程 210
7.2.5 設計技術 212
7.3 嵌入式系統網路 214
7.3.1 I2C匯流排 214
7.3.2 CAN匯流排 217
7.3.3 Ethernet 220
7.3.4 GPRS 221
7.3.5 藍牙技術 224
7.3.6 Internet 227
7.4 基於網路的設計示例 229
7.4.1 遠程溫度檢測系統 229
7.4.2 基於VoIP和藍牙的無線電話系統 232
7.4.3 機頂盒 235
思考與練習題 237
第8章 嵌入式系統開發 239
8.1 引言 239
8.2 嵌入式系統的開發工具 239
8.2.1 開發工具概述 239
8.2.2 ARM ADS簡介 240
8.2.3 使用ADS創建工程 244
8.2.4 使用AXD調試代碼 251
8.3 嵌入式系統的調試方法 254
8.3.1 嵌入式系統調試簡介 254
8.3.2 ARM調試系統概述 254
8.3.3 基於Angel的調試系統 256
8.3.4 基於JTAG的調試系統 260
8.4 其他實用工具 262
8.4.1 Source Insight 262
8.4.2 SkyEye 263
思考與練習題 266
第9章 系統設計技術 267
9.1 引言 267
9.2 嵌入式系統的開發過程和設計流程 267
9.2.1 開發過程 267
9.2.2 設計流程 271
9.3 系統設計的形式化方法 274
9.3.1 UML簡介 274
9.3.2 結構描述 277
9.3.3 行為描述 282
9.4 需求分析與規格說明 284
9.4.1 需求分析 284
9.4.2 規格說明 284
9.5 系統分析與體系結構設計 287
9.6 質量保證 288
思考與練習題 290
附錄A 嵌入式專業辭彙與縮略語 291
附錄B ARM指令集列表 300
附錄C Thumb指令集列表 303
附錄D 彙編預定義變數及偽指令 306
附錄E μC/OS-Ⅱ核心函式 311
參考文獻 321