ARM 嵌入式系統(tǒng)原理與應(yīng)用教程(第2版)
定 價(jià):49 元
- 作者:趙常松,吳顯義 著
- 出版時(shí)間:2016/9/1
- ISBN:9787512422322
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP332
- 頁(yè)碼:322
- 紙張:膠版紙
- 版次:2
- 開(kāi)本:16K
本書(shū)以S3C6410處理器為核心講述嵌入式系統(tǒng)的原理及應(yīng)用,包含兩方面內(nèi)容:一是介紹通用ARM微處理器的基本架構(gòu)、基本驅(qū)動(dòng)程序的編程思想和編程方法,重點(diǎn)介紹基于ARM11架構(gòu)的硬件接口電路的開(kāi)發(fā)流程;二是以北京中芯優(yōu)電TOPSEN嵌入式開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)為硬件平臺(tái),結(jié)合多個(gè)綜合應(yīng)用開(kāi)發(fā)實(shí)例,詳細(xì)分析了幾個(gè)案例的系統(tǒng)設(shè)計(jì),從而使讀者加快掌握S3C6410處理器開(kāi)發(fā)的流程。相比第1版,本書(shū)對(duì)讀者反饋問(wèn)題進(jìn)行了修正,并增加了習(xí)題。
本書(shū)側(cè)重于實(shí)踐應(yīng)用,以典型案例為基礎(chǔ),注重基礎(chǔ)理論與實(shí)踐應(yīng)用的結(jié)合,可作為應(yīng)用類本科院校的教材,適用于培養(yǎng)應(yīng)用型電子技術(shù)人才,同時(shí)也可以作為嵌入式開(kāi)發(fā)人員的參考書(shū)。
第1章 ARM 微處理器概述………………………………………………………… 1
1.1 ARM 及相關(guān)技術(shù)簡(jiǎn)介……………………………………………………… 1
1.2 ARM 微處理器的應(yīng)用領(lǐng)域及特點(diǎn)………………………………………… 2
1.3 ARM 微處理器系列………………………………………………………… 2
1.4 ARM 微處理器結(jié)構(gòu)………………………………………………………… 13
1.5 ARM 微處理器的應(yīng)用選型………………………………………………… 14
1.6 本章小結(jié)……………………………………………………………………… 16
1.7 練習(xí)題……………………………………………………………………… 16
第2章 ARM 微處理器的編程模型……………………………………………… 17
2.1 ARM 微處理器的工作狀態(tài)………………………………………………… 17
2.2 ARM 體系結(jié)構(gòu)的存儲(chǔ)器格式……………………………………………… 18
2.3 指令長(zhǎng)度和數(shù)據(jù)類型………………………………………………………… 19
2.4 處理器模式…………………………………………………………………… 19
2.5 寄存器組織…………………………………………………………………… 19
2.5.1 ARM 狀態(tài)下的寄存器組織…………………………………………… 19
2.5.2 Thumb狀態(tài)下的寄存器組織………………………………………… 22
2.5.3 程序狀態(tài)寄存器………………………………………………………… 23
2.6 異 常………………………………………………………………………… 25
2.7 本章小結(jié)……………………………………………………………………… 29
2.8 練習(xí)題………………………………………………………………………… 29
第3章 ARM 微處理器的指令系統(tǒng)……………………………………………… 31
3.1 ARM 微處理器的指令集概述……………………………………………… 31
3.2 ARM 指令的尋址方式……………………………………………………… 33
3.3 ARM 指令集………………………………………………………………… 35
3.3.1 跳轉(zhuǎn)指令………………………………………………………………… 35
3.3.2 數(shù)據(jù)處理指令…………………………………………………………… 37
3.3.3 乘法指令與乘加指令…………………………………………………… 41
3.3.4 程序狀態(tài)寄存器訪問(wèn)指令……………………………………………… 43
3.3.5 加載/存儲(chǔ)指令………………………………………………………… 44
3.3.6 批量數(shù)據(jù)加載/存儲(chǔ)指令……………………………………………… 46
3.3.7 數(shù)據(jù)交換指令…………………………………………………………… 46
3.3.8 移位指令(操作)………………………………………………………… 47
3.3.9 協(xié)處理器指令…………………………………………………………… 48
3.3.10 異常產(chǎn)生指令………………………………………………………… 50
3.4 Thumb指令及應(yīng)用………………………………………………………… 50
3.5 本章小結(jié)……………………………………………………………………… 51
3.6 練習(xí)題………………………………………………………………………… 52
第4章 ARM 程序設(shè)計(jì)基礎(chǔ)……………………………………………………… 53
4.1 ARM 匯編器所支持的偽指令……………………………………………… 53
4.1.1 符號(hào)定義偽指令………………………………………………………… 53
4.1.2 數(shù)據(jù)定義偽指令………………………………………………………… 55
4.1.3 匯編控制偽指令………………………………………………………… 58
4.1.4 其他常用的偽指令……………………………………………………… 59
4.2 匯編語(yǔ)言的語(yǔ)句格式………………………………………………………… 64
4.2.1 在匯編語(yǔ)言程序中常用的符號(hào)………………………………………… 64
4.2.2 匯編語(yǔ)言程序中的表達(dá)式和運(yùn)算符…………………………………… 65
4.3 匯編語(yǔ)言的程序結(jié)構(gòu)………………………………………………………… 68
4.3.1 匯編語(yǔ)言的程序結(jié)構(gòu)…………………………………………………… 68
4.3.2 匯編語(yǔ)言的子程序調(diào)用………………………………………………… 69
4.3.3 匯編語(yǔ)言程序示例……………………………………………………… 69
4.4 匯編語(yǔ)言模塊的結(jié)構(gòu)………………………………………………………… 72
4.4.1 匯編語(yǔ)言源文件的編排………………………………………………… 72
4.4.2 ARM 匯編語(yǔ)言模塊的示例…………………………………………… 73
4.4.3 調(diào)用子例程……………………………………………………………… 74
4.4.4 條件執(zhí)行………………………………………………………………… 75
4.4.5 使用條件執(zhí)行及其示例………………………………………………… 76
4.4.6 Q 標(biāo)記………………………………………………………………… 79
4.4.7 匯編語(yǔ)言與C/C++的混合編程…………………………………… 79
4.5 本章小結(jié)……………………………………………………………………… 80
4.6 練習(xí)題………………………………………………………………………… 81
第5章 ARM C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)………………………………………………… 82
5.1 嵌入式系統(tǒng)中的C語(yǔ)言編程基礎(chǔ)………………………………………… 82
5.2 偽指令在嵌入式程序設(shè)計(jì)中的應(yīng)用………………………………………… 83
5.3 嵌入式C語(yǔ)言程序設(shè)計(jì)中的函數(shù)及函數(shù)庫(kù)……………………………… 86
5.4 嵌入式程序設(shè)計(jì)中常用的C語(yǔ)言語(yǔ)句…………………………………… 86
5.5 匯編語(yǔ)言與C/C++的混合編程………………………………………… 89
5.6 ATPCS規(guī)則………………………………………………………………… 93
5.7 本章小結(jié)……………………………………………………………………… 95
5.8 練習(xí)題………………………………………………………………………… 95
第6章 S3C6410系統(tǒng)設(shè)計(jì)與調(diào)試………………………………………………… 97
6.1 系統(tǒng)設(shè)計(jì)概述………………………………………………………………… 97
6.2 S3C6410概述………………………………………………………………… 98
6.2.1 S3C6410及片內(nèi)外圍簡(jiǎn)介……………………………………………… 98
6.2.2 S3C6410的引腳分布及信號(hào)描述…………………………………… 100
6.2.3 外部存儲(chǔ)器接口……………………………………………………… 105
6.2.4 串行通信……………………………………………………………… 107
6.2.5 顯示器控制…………………………………………………………… 109
6.3 存儲(chǔ)器映射………………………………………………………………… 112
6.4 系統(tǒng)控制器………………………………………………………………… 113
6.4.1 時(shí)鐘源………………………………………………………………… 114
6.4.2 鎖相環(huán)………………………………………………………………… 115
6.4.3 ARM 和AXI/AHB/APB總線時(shí)鐘發(fā)生器………………………… 116
6.4.4 MFC時(shí)鐘發(fā)生器……………………………………………………… 118
6.4.5 顯示時(shí)鐘發(fā)生器(POST,LCD和Scaler)…………………………… 119
6.4.6 時(shí)鐘開(kāi)/關(guān)控制………………………………………………………… 120
6.5 S3C6410復(fù)位信號(hào)………………………………………………………… 120
6.5.1 溫復(fù)位………………………………………………………………… 120
6.5.2 軟件復(fù)位……………………………………………………………… 123
6.5.3 看門狗復(fù)位…………………………………………………………… 124
6.6 寄存器描述………………………………………………………………… 126
6.6.1 部分SFR寄存器……………………………………………………… 126
6.6.2 PLL控制寄存器……………………………………………………… 128
6.6.3 時(shí)鐘源控制寄存器…………………………………………………… 130
6.7 系統(tǒng)的硬件選型與單元電路設(shè)計(jì)………………………………………… 132
6.7.1 電源電路……………………………………………………………… 132
6.7.2 晶振電路與復(fù)位電路………………………………………………… 132
6.7.3 Flash存儲(chǔ)器接口電路……………………………………………… 133
6.7.4 SDRAM 接口電路…………………………………………………… 135
6.7.5 串行接口電路………………………………………………………… 139
6.7.6 I2C接口電路………………………………………………………… 140
6.7.7 JTAG接口電路……………………………………………………… 141
6.7.8 S3C6410與LCD接口設(shè)計(jì)…………………………………………… 142
6.8 硬件系統(tǒng)的調(diào)試…………………………………………………………… 147
6.8.1 電源、晶振及復(fù)位電路………………………………………………… 148
6.8.2 S3C6410及JTAG接口電路………………………………………… 148
6.8.3 SDRAM 接口電路的調(diào)試…………………………………………… 149
6.8.4 Flash接口電路的調(diào)試……………………………………………… 150
6.9 印刷電路板的設(shè)計(jì)注意事項(xiàng)……………………………………………… 151
6.9.1 電源質(zhì)量與分配……………………………………………………… 151
6.9.2 同類型信號(hào)線的分布………………………………………………… 151
6.10 本章小結(jié)…………………………………………………………………… 152
6.11 練習(xí)題……………………………………………………………………… 152
第7章 通用GPIO 編程…………………………………………………………… 153
7.1 GPIO功能介紹…………………………………………………………… 153
7.2 S3C6410芯片的GPIO控制器詳解……………………………………… 153
7.2.1 S3C6410GPIO常用寄存器分類…………………………………… 153
7.2.2 S3C6410I/O口常用寄存器詳解…………………………………… 155
7.3 S3C6410GPIO的應(yīng)用…………………………………………………… 175
7.3.1 電路連接……………………………………………………………… 175
7.3.2 寄存器設(shè)置…………………………………………………………… 175
7.4 本章小結(jié)…………………………………………………………………… 176
7.5 練習(xí)題……………………………………………………………………… 176
第8章 部件工作原理與編程示例………………………………………………… 177
8.1 嵌入式系統(tǒng)的程序設(shè)計(jì)方法……………………………………………… 177
8.2 UART控制器……………………………………………………………… 178
8.2.1 UART的工作方式…………………………………………………… 179
8.2.2 相關(guān)寄存器…………………………………………………………… 182
8.3 UART 接口應(yīng)用舉例……………………………………………………… 190
8.4 矢量中斷控制器…………………………………………………………… 195
8.5 中斷調(diào)用方法……………………………………………………………… 205
8.6 PWM 定時(shí)器……………………………………………………………… 207
8.6.1 PWM 的操作方式…………………………………………………… 209
8.6.2 S3C6410中的特殊功能寄存器……………………………………… 214
8.6.3 TINT_CSTAT ……………………………………………………… 218
8.7 RTC實(shí)時(shí)時(shí)鐘……………………………………………………………… 219
8.7.1 RTC寄存器描述……………………………………………………… 221
8.7.2 RTC寄存器編程舉例………………………………………………… 225
8.8 I2C總線接口……………………………………………………………… 226
8.8.1 I2C總線接口概述…………………………………………………… 226
8.8.2 I2C總線接口操作模式……………………………………………… 227
8.8.3 多主控器I2C總線控制寄存器(IICCON)…………………………… 231
8.8.4 I2C總線寄存器編程舉例…………………………………………… 232
8.9 DMA 控制器……………………………………………………………… 234
8.9.1 DMA 控制器的特性………………………………………………… 235
8.9.2 DMA 源……………………………………………………………… 236
8.9.3 DMA 接口…………………………………………………………… 237
8.9.4 程序員的模式………………………………………………………… 240
8.9.5 DMA 寄存器描述…………………………………………………… 241
8.10 SPI控制器………………………………………………………………… 249
8.10.1 概 述………………………………………………………………… 249
8.10.2 SPI的操作…………………………………………………………… 250
8.10.3 SPI傳輸格式………………………………………………………… 252
8.10.4 SPI接口編程示例…………………………………………………… 256
8.11 BootLoader簡(jiǎn)介………………………………………………………… 262
8.11.1 BootLoader簡(jiǎn)介…………………………………………………… 262
8.11.2 啟動(dòng)方法……………………………………………………………… 264
8.11.3 檢測(cè)系統(tǒng)的內(nèi)存映射………………………………………………… 267
8.12 本章小結(jié)…………………………………………………………………… 269
8.13 練習(xí)題……………………………………………………………………… 270
第9章 S3C6410綜合應(yīng)用設(shè)計(jì)實(shí)例……………………………………………… 271
9.1 基于S3C6410光敏傳感器系統(tǒng)設(shè)計(jì)實(shí)例………………………………… 271
9.1.1 基本原理……………………………………………………………… 271
9.1.2 協(xié)調(diào)器程序下載方法………………………………………………… 274
9.1.3 節(jié)點(diǎn)程序燒寫(xiě)和節(jié)點(diǎn)測(cè)試…………………………………………… 276
9.1.4 硬件電路原理圖和部分程序代碼…………………………………… 277
9.2 基于S3C6410溫濕度傳感器系統(tǒng)設(shè)計(jì)實(shí)例……………………………… 281
9.2.1 基本原理……………………………………………………………… 281
9.2.2 節(jié)點(diǎn)程序燒寫(xiě)和節(jié)點(diǎn)測(cè)試…………………………………………… 284
9.2.3 硬件電路原理圖和部分程序代碼…………………………………… 286
9.3 基于S3C6410電機(jī)和燈光傳感器系統(tǒng)設(shè)計(jì)實(shí)例………………………… 294
9.3.1 基本原理……………………………………………………………… 294
9.3.2 節(jié)點(diǎn)程序燒寫(xiě)和節(jié)點(diǎn)測(cè)試…………………………………………… 294
9.2.3 硬件電路原理圖和部分程序代碼…………………………………… 296
9.4 基于S3C6410煙霧傳感器系統(tǒng)設(shè)計(jì)實(shí)例………………………………… 298
9.4.1 基本原理……………………………………………………………… 298
9.4.2 節(jié)點(diǎn)程序燒寫(xiě)和節(jié)點(diǎn)測(cè)試…………………………………………… 298
9.4.3 硬件電路原理圖和部分程序代碼…………………………………… 300
9.5 基于S3C6410干簧管傳感器系統(tǒng)實(shí)例…………………………………… 302
9.5.1 基本原理……………………………………………………………… 302
9.5.2 節(jié)點(diǎn)程序燒寫(xiě)和節(jié)點(diǎn)測(cè)試…………………………………………… 303
9.5.3 硬件電路原理圖和部分程序代碼…………………………………… 304
9.6 本章小結(jié)…………………………………………………………………… 306
9.7 練習(xí)題……………………………………………………………………… 307
第10章 RealView MDK 集成開(kāi)發(fā)環(huán)境的使用………………………………… 308
10.1 RealView MDK集成開(kāi)發(fā)環(huán)境組成介紹……………………………… 308
10.2 RealView MDK使用方法……………………………………………… 311
10.2.1 創(chuàng)建一個(gè)工程………………………………………………………… 311
10.2.2 編譯、鏈接工程……………………………………………………… 313
10.3 程序調(diào)試…………………………………………………………………… 315
10.4 程序調(diào)試舉例……………………………………………………………… 317
10.5 本章小結(jié)…………………………………………………………………… 321
10.6 練習(xí)題……………………………………………………………………… 321
參考文獻(xiàn)……………………………………………………………………………… 322