內容簡介
本書是高等學校計算機類課程套用型人才培養規劃教材
本書以當前主流嵌入式系統技術為背景,以嵌入式系統原理為基礎,以嵌入式系統開發體系為構架,針對嵌入式系統領域的最新發展趨勢與
嵌入式套用型人才知識結構的需求,總結編者多年的教學和科研經驗,系統全面地介紹了嵌入式系統的基本概念、軟硬體的基本體系結構、軟硬體設計方法、相關開發工具及套用,同時配有相應的實驗指導方便讀者開發實踐。通過本書的學習,不但可以使讀者掌握使用工具開發嵌入式軟硬體,具備較為實用的技能,而且幫助讀者從總體的角度系統掌握嵌入式系統基本知識,選擇適當的技術與方法,全面規劃和設計嵌入式系統。
圖書目錄
第1章 嵌入式系統概述 1
1.1 嵌入式系統的概念 1
1.1.1 嵌入式系統的發展歷程 2
1.1.2 嵌入式系統的定義 4
1.1.3 嵌入式系統的主要特徵 5
1.1.4 嵌入式系統與PC的區別 6
1.2 嵌入式系統的組成 6
1.2.1 嵌入式硬體組成 6
1.3 嵌入式系統的類型 13
1.3.1 縮減PC系統 13
1.3.2 高端嵌入式系統 13
1.3.3 單片機系統 14
1.4 嵌入式系統的套用領域與發展趨勢 14
1.4.1 嵌入式系統的套用領域 14
1.4.2 嵌入式系統的發展趨勢 15
本章小結 16
習題 16
第2章 嵌入式系統的開發模式與方法 17
2.1 嵌入式系統的相關知識 18
2.1.3 Bootloader與OSLoader 19
2.1.4 ICE與ICD 19
2.1.6 JTAG 20
2.1.7 模擬器與仿真器 21
2.2 嵌入式系統的開發模式 22
2.2.1 面向硬體的開發模式 22
2.2.2 面向作業系統的開發模式 22
2.3 嵌入式系統的設計方法 23
2.3.1 嵌入式系統設計方法 23
2.3.2 嵌入式系統編程 26
2.3.3 嵌入式系統測試 27
2.3.5 嵌入式軟體開發環境 29
本章小結 34
習題 34
3.1 ARM概述 36
3.2 ARM的版本 36
3.3 ARM微處理器系列 41
3.4 ARM微處理器結構 44
3.4.1 ARM微處理器的工作狀態 44
3.4.2 ARM微處理器的工作模式 44
3.4.3 ARM微處理器的暫存器組織 45
3.5 基於
ARM9的S3C2410AX微處理器 55
本章小結 59
習題 59
4.1 ARM指令概述 61
4.1.1 ARM指令的分類 61
4.1.2 ARM指令的條件域 62
4.2.3 暫存器移位定址 64
4.2.6 多暫存器定址 65
4.2.9 塊拷貝定址 66
4.3 ARM指令集 66
4.3.1 ARM指令的基本格式 67
4.3.2 ARM指令集的內容 68
4.4 Thumb指令集 79
4.4.1 Thumb指令集的內容 80
4.4.2 Thumb指令集與ARM指令集的區別 88
本章小結 88
習題 89
第5章 ARM套用軟體開發環境 90
5.1 RealView MDK集成開發環境 91
5.1.1 安裝與啟動 91
5.1.2 工程項目的管理 91
5.1.3 工程項目的配置 94
5.1.4 編譯 95
5.1.5 仿真調試 95
5.2.2 彙編語言程式中的表達式和運算符 98
5.2.4 彙編語言的程式結構 110
5.4.1 在C/C++代碼中嵌入
彙編指令 114
5.4.2 在
彙編程式和C/C++程式之間進行變數的互訪 117
5.4.3 彙編程式、C/C++程式間的相互調用 118
5.5 RealView MDK環境下ARM程式開發舉例 121
本章小結 123
習題 123
第6章 套用接口設計 124
6.1.1 晶片選擇 125
6.1.2 時鐘與電源管理 126
6.2 存儲器接口 141
6.2.1 S3C2410A的存儲器組織 141
6.2.2 S3C2410A的
SDRAM存儲器接口 147
6.2.4 S3C2410A的Nor Flash存儲器接口 152
6.3.1 S3C2410A的通用I/O接口 154
6.3.2 通用I/O接口相關的暫存器 154
6.3.3 通用I/O接口設計 163
6.3.4 通用I/O接口驅動程式 164
6.3.5 通用I/O接口的套用實例 164
6.4.1 矩陣式鍵盤接口 165
6.4.2 標準的計算機通用鍵盤接口 168
6.5 顯示器接口 168
6.5.2 LCD顯示接口 169
6.6 觸控螢幕接口 180
6.6.1 觸控螢幕的工作原理 180
6.6.2 觸控螢幕的接口模式 181
6.6.3 觸控螢幕相關的暫存器 182
6.6.4 觸控螢幕的接口設計 184
6.6.5 觸控螢幕的驅動程式設計 185
6.6.6 觸控螢幕接口實例 185
6.7 A/D接口 188
6.7.1 A/D轉換的基本原理 188
6.7.2 S3C2410A的A/D轉換控制器 189
6.7.3 A/D接口電路 189
6.7.4 A/D轉換的程式設計 189
6.8 IIS音頻接口 190
6.8.1 IIS匯流排格式 190
6.8.2 S3C2410A內置的IIS控制器 191
6.8.3 IIS控制相關的暫存器 192
6.8.4 IIS接口電路 194
6.8.5 IIS的接口程式設計 194
本章小結 198
習題 198
第7章 通信接口設計 200
7.1 UART接口 200
7.1.1 UART通信數據格式 201
7.1.2 S3C2410A的UART接口 201
7.1.3 UART相關的暫存器 202
7.1.4 UART接口設計 206
7.1.5 UART接口驅動程式 208
7.2 IIC接口 210
7.2.1 IIC通信數據格式 210
7.2.3 IIC相關的暫存器 211
7.2.4 IIC接口設計 212
7.2.5 IIC接口驅動程式 213
7.3.1 SPI接口 215
7.3.2 S3C2410A的SPI控制器 217
7.3.3 SPI相關的暫存器 217
7.3.4 SPI接口的初始化程式 219
7.4 USB接口 220
7.4.1 USB接口 220
7.4.2 S3C2410A的USB控制器 220
7.4.3 USB接口設計 220
7.4.4 USB接口編程 221
7.5.3 乙太網接口電路 222
7.5.4 乙太網接口編程 222
本章小結 224
習題 224
第8章 基於嵌入式Linux的套用開發 225
8.1.1 嵌入式Linux核心組成 226
8.1.2 嵌入式Linux的啟動過程 227
8.2 嵌入式Linux的開發步驟 228
8.3 嵌入式Linux開發環境的構建 229
8.3.2 安裝Linux作業系統 231
8.3.3 配置開發工具 236
8.4.2 Bootloader的開發過程 243
8.4.3 常用的Bootloader 246
8.4.4 Bootloader的移植 247
8.5 嵌入式Linux系統的構建 250
8.5.2 嵌入式Linux
根檔案系統的構建 255
8.5.3 基於嵌入式Linux的套用系統開發 258
8.6 Linux系統下設備驅動程式的開發 265
8.6.1 Linux下設備驅動程式簡介 265
8.6.2 設備驅動程式的結構 267
8.6.3 設備驅動程式的開發 269
8.6.4 Linux設備驅動開發實例 275
8.7 Linux用戶圖形接口GUI 277
8.7.1 嵌入式系統的GUI 277
8.7.3 Qt/Embedded開發環境 282
8.7.4 Qt/Embedded開發實例 289
本章小結 292
習題 292
9.1 嵌入式套用系統的開發步驟 294
9.1.1 方案論證 294
9.1.2 硬體系統設計 295
9.1.3 套用軟體設計 295
9.1.4 軟硬體調試 296
9.1.5 程式下載 296
9.2 基於ARM和
GPRS的無線抄表終端(開發實例1) 296
9.2.1 方案論證 297
9.2.2 硬體系統設計 298
9.2.3 套用軟體設計 298
9.2.4 實驗與測試 300
9.2.5 程式下載 302
9.3 基於嵌入式Linux的
視頻監控系統(開發實例2) 302
9.3.1 方案論證 302
9.3.2 硬體系統設計 302
9.3.3 Linux系統製作 303
9.3.4 套用軟體設計 306
9.3.5 系統測試 308
本章小結 308
附錄A S3C2410A方框圖 309
附錄B S3C2410A引腳圖 310
附錄C S3C2410A引腳功能 311
附錄D S3C2410A的IO引腳功能 314
附錄E S3C2410A專用暫存器 319
附錄F S3C2410A啟動代碼的配置 330
參考文獻 335