本書共分8章。第一章 嵌入式系統(tǒng)概述。第二章 ARM體系結構。第三章 ARM指令系統(tǒng)。第四章 ARM匯編語言程序設計。第五章 嵌入式系統(tǒng)硬件技術基礎。第六章 基于S3C2410的硬件結構與接口編程。第七章嵌入式Linux操作系統(tǒng)。第八章 嵌入式系統(tǒng)設計方法及開發(fā)實例。
1.應用實例具有真實性,是大學生創(chuàng)新大賽的一些具體實例;
2.應用編程實例內(nèi)容較多,參考價值大;
3.實驗內(nèi)容豐富。
本書的編寫,目的在于為嵌入式教學提供一本通俗易懂、脈絡清晰的教材或參考書。本書以ARM 處理器為例,從嵌入式系統(tǒng)硬件結構、到操作系統(tǒng)基礎、再到系統(tǒng)設計案例,詳細介紹了嵌入式系統(tǒng)的基本原理和開發(fā)方法。本書從應用出發(fā),結合實驗教學平臺,給出了大量設計實例,為初學者提供了快速入門的學習途徑。
作者從2004年開始嵌入式系統(tǒng)方面的教學工作,先后開設《單片機原理》、《DSP與嵌入式系統(tǒng)》、《嵌入式系統(tǒng)》、《嵌入式系統(tǒng)實驗》等課程。指導學生實踐性環(huán)境如軟件設計、課程設計、學生創(chuàng)新實踐、畢業(yè)設計,內(nèi)容都和嵌入式系統(tǒng)相關。涉及的項目有智能家居系統(tǒng)、智慧社區(qū)、智能電力控制、開放式實驗室系統(tǒng)等。具有豐富的嵌入式系統(tǒng)方面的教學和實踐能力。在2009年01月,采用嵌入式系統(tǒng)獲得南郵教學成果獎《適應形勢大膽變革——新環(huán)境下學生綜合實踐能力培養(yǎng)方法的研究和探索》,并作為南郵通信學院嵌入式系統(tǒng)的教學負責人,主持嵌入式系統(tǒng)課程的教學大綱、實驗大綱的編寫。
第1章 嵌入式系統(tǒng)概述 1
1.1 嵌入式系統(tǒng)的概念 1
1.2 嵌入式系統(tǒng)的歷史 2
1.3 嵌入式系統(tǒng)的組成 4
1.3.1 嵌入式系統(tǒng)的組成結構 4
1.3.2 嵌入式處理器 7
1.3.3 典型的嵌入式操作系統(tǒng) 9
1.4 嵌入式系統(tǒng)的特點 11
1.5 嵌入式系統(tǒng)的應用前景 12
1.6 嵌入式系統(tǒng)的發(fā)展趨勢 18
思考題與習題 20
第2章 ARM體系結構 21
2.1 ARM體系結構概述 21
2.1.1 ARM技術簡介 21
2.1.2 ARM體系結構的版本 22
2.1.3 ARM處理器內(nèi)核系列 23
2.2 ARM體系架構分析 25
2.2.1 復雜指令集和精簡指令集 25
2.2.2 普林斯頓結構和哈佛結構 26
2.2.3 流水線技術 26
2.3 ARM處理器模式與寄存器 29
2.3.1 ARM處理器模式 29
2.3.2 ARM內(nèi)部寄存器 29
2.4 ARM體系的異常處理 33
2.5 ARM體系的存儲系統(tǒng) 35
思考題與習題 36
第3章 ARM指令系統(tǒng) 37
3.1 指令集概述 37
3.2 ARM指令集 38
3.2.1 ARM指令格式 38
3.2.2 ARM指令尋址方式 39
3.2.3 ARM指令分類 42
3.3 Thumb指令集 51
3.3.1 Thumb狀態(tài)寄存器組織 52
3.3.2 Thumb指令 53
思考題與習題 62
第4章 ARM匯編語言及C語言程序
設計基礎 63
4.1 ARM匯編語言的語句格式 63
4.1.1 符號命名規(guī)則 63
4.1.2 ARM匯編語言偽操作 63
4.1.3 ARM匯編語言偽指令 64
4.2 ARM匯編語言的程序結構 65
4.3 ARM匯編語言程序設計舉例 67
4.4 ARM C語言基礎及混合編程 68
4.4.1 ATPCS概述 68
4.4.2 基本ATPCS 69
4.4.3 ARM程序和Thumb程序的混合
使用 71
4.4.4 C語言及匯編語言混合編程 71
4.5 ARM匯編語言實驗基礎 76
4.5.1 ADS軟件組成 76
4.5.2 使用CodeWarrior IDE 80
4.5.3 使用AXD IDE 87
思考題與習題 91
第5章 嵌入式系統(tǒng)硬件技術基礎 92
5.1 總線 92
5.1.1 并行總線 93
5.1.2 串行總線 94
5.1.3 多總線結構 97
5.1.4 直接存儲器訪問 97
5.2 存儲系統(tǒng) 98
5.2.1 存儲器的基本概念及分類 99
5.2.2 隨機存儲器 99
5.2.3 只讀存儲器 100
5.2.4 嵌入式系統(tǒng)的存儲器組織 101
5.2.5 存儲器的選型 101
5.3 輸入/輸出設備及通信接口 102
5.3.1 輸入/輸出設備 102
5.3.2 常用通信接口 102
5.3.3 網(wǎng)絡接口 105
5.4 嵌入式最小系統(tǒng) 105
思考題與習題 108
第6章 基于S3C2410的硬件結構與接口
編程 109
6.1 S3C2410簡介 109
6.1.1 S3C2410X的組成 109
6.1.2 S3C2410X的特點及主要片上
功能 110
6.2 S3C2410X的存儲器及其控制 114
6.2.1 S3C2410X的存儲器控制器 114
6.2.2 NAND Flash控制器 116
6.3 時鐘和電源管理 118
6.3.1 S3C2410X的時鐘管理 118
6.3.2 S3C2410X的電源管理 119
6.4 通用I/O端口 119
6.4.1 S3C2410X通用I/O端口的工作
機制 119
6.4.2 S3C2410X通用I/O端口編程實例 123
6.5 定時器 125
6.5.1 S3C2410X定時器概述 125
6.5.2 S3C2410X定時器的工作原理 126
6.5.3 PWM輸出控制直流電動機應用
實例 134
6.6 異步串行通信接口 137
6.6.1 S3C2410X的異步串行口簡介 137
6.6.2 S3C2410X UART工作原理 138
6.6.3 S3C2410X UART編程實例 146
6.7 A/D轉換接口 149
6.7.1 A/D轉換器簡介 149
6.7.2 A/D轉換的主要指標 150
6.7.3 S3C2410X A/D轉換接口 151
6.7.4 A/D轉換器應用實例 153
6.8 中斷控制器 155
6.8.1 S3C2410X中斷概述 155
6.8.2 中斷控制相關寄存器 158
6.8.3 S3C2410X中斷響應與返回 163
6.8.4 中斷編程舉例 164
思考題與習題 165
第7章 嵌入式Linux操作系統(tǒng) 166
7.1 操作系統(tǒng)簡介 166
7.1.1 操作系統(tǒng) 166
7.1.2 嵌入式操作系統(tǒng) 167
7.2 嵌入式Linux操作系統(tǒng) 169
7.2.1 Linux介紹 169
7.2.2 Linux作為嵌入式操作系統(tǒng)的
優(yōu)勢 171
7.2.3 進程管理 172
7.2.4 存儲管理 183
7.2.5 文件系統(tǒng) 191
7.2.6 設備管理 196
7.3 嵌入式Linux操作系統(tǒng)的構建 203
7.3.1 嵌入式Linux引導過程 203
7.3.2 Linux啟動流程 211
7.3.3 嵌入式Linux的移植 212
7.4 嵌入式Linux系統(tǒng)的軟件開發(fā)
基礎 222
7.4.1 Linux常用命令介紹 222
7.4.2 Linux系統(tǒng)下的vi編輯器 225
7.5 嵌入式Linux下交叉開發(fā)環(huán)境的
建立與軟件開發(fā)過程 226
7.5.1 嵌入式教學實驗系統(tǒng)簡介 226
7.5.2 嵌入式交叉開發(fā)環(huán)境的建立 230
7.5.3 基于Linux的應用程序的開發(fā)
步驟 237
思考題與練習 239
第8章 嵌入式系統(tǒng)設計方法及開發(fā)
實例 240
8.1 引言 240
8.2 軟件工程及嵌入式軟件工程 242
8.2.1 概述 243
8.2.2 軟件需求 245
8.2.3 軟件設計 246
8.2.4 統(tǒng)一建模語言 247
8.2.5 嵌入式軟件編程 251
8.3 基于嵌入式系統(tǒng)的雷達智能
停車位應用實例 252
8.3.1 背景及簡介 252
8.3.2 設計目標 253
8.3.3 總體結構和原理 254
8.3.4 系統(tǒng)前端及嵌入式信號處理 255
8.3.5 無線通信模塊開發(fā) 262
8.4 基于Android操作系統(tǒng)平臺的點餐
系統(tǒng)應用實例 266
8.4.1 Android簡介 266
8.4.2 Android架構 267
8.4.3 Android未來及前景 268
8.4.4 Android應用程序基礎 269
8.4.5 Android開發(fā)環(huán)境搭建 271
8.4.6 Android工程目錄結構 271
8.4.7 點餐系統(tǒng)實現(xiàn) 272
思考題與練習 281
附錄A GPIO端口寄存器及引腳配置 282
附錄B 雜項控制寄存器 284
附錄C 外中斷相關控制寄存器 285
附錄D 通用狀態(tài)寄存器 287
參考文獻 288