ARM 嵌入式系統(tǒng)原理與應(yīng)用教程(第2版)
定 價:49 元
- 作者:趙常松,吳顯義 著
- 出版時間:2016/9/1
- ISBN:9787512422322
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP332
- 頁碼:322
- 紙張:膠版紙
- 版次:2
- 開本:16K
本書以S3C6410處理器為核心講述嵌入式系統(tǒng)的原理及應(yīng)用,包含兩方面內(nèi)容:一是介紹通用ARM微處理器的基本架構(gòu)、基本驅(qū)動程序的編程思想和編程方法,重點介紹基于ARM11架構(gòu)的硬件接口電路的開發(fā)流程;二是以北京中芯優(yōu)電TOPSEN嵌入式開發(fā)實驗系統(tǒng)為硬件平臺,結(jié)合多個綜合應(yīng)用開發(fā)實例,詳細(xì)分析了幾個案例的系統(tǒng)設(shè)計,從而使讀者加快掌握S3C6410處理器開發(fā)的流程。相比第1版,本書對讀者反饋問題進(jìn)行了修正,并增加了習(xí)題。
本書側(cè)重于實踐應(yīng)用,以典型案例為基礎(chǔ),注重基礎(chǔ)理論與實踐應(yīng)用的結(jié)合,可作為應(yīng)用類本科院校的教材,適用于培養(yǎng)應(yīng)用型電子技術(shù)人才,同時也可以作為嵌入式開發(fā)人員的參考書。
第1章 ARM 微處理器概述………………………………………………………… 1
1.1 ARM 及相關(guān)技術(shù)簡介……………………………………………………… 1
1.2 ARM 微處理器的應(yīng)用領(lǐng)域及特點………………………………………… 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)的存儲器格式……………………………………………… 18
2.3 指令長度和數(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)寄存器訪問指令……………………………………………… 43
3.3.5 加載/存儲指令………………………………………………………… 44
3.3.6 批量數(shù)據(jù)加載/存儲指令……………………………………………… 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è)計基礎(chǔ)……………………………………………………… 53
4.1 ARM 匯編器所支持的偽指令……………………………………………… 53
4.1.1 符號定義偽指令………………………………………………………… 53
4.1.2 數(shù)據(jù)定義偽指令………………………………………………………… 55
4.1.3 匯編控制偽指令………………………………………………………… 58
4.1.4 其他常用的偽指令……………………………………………………… 59
4.2 匯編語言的語句格式………………………………………………………… 64
4.2.1 在匯編語言程序中常用的符號………………………………………… 64
4.2.2 匯編語言程序中的表達(dá)式和運算符…………………………………… 65
4.3 匯編語言的程序結(jié)構(gòu)………………………………………………………… 68
4.3.1 匯編語言的程序結(jié)構(gòu)…………………………………………………… 68
4.3.2 匯編語言的子程序調(diào)用………………………………………………… 69
4.3.3 匯編語言程序示例……………………………………………………… 69
4.4 匯編語言模塊的結(jié)構(gòu)………………………………………………………… 72
4.4.1 匯編語言源文件的編排………………………………………………… 72
4.4.2 ARM 匯編語言模塊的示例…………………………………………… 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 匯編語言與C/C++的混合編程…………………………………… 79
4.5 本章小結(jié)……………………………………………………………………… 80
4.6 練習(xí)題………………………………………………………………………… 81
第5章 ARM C語言程序設(shè)計基礎(chǔ)………………………………………………… 82
5.1 嵌入式系統(tǒng)中的C語言編程基礎(chǔ)………………………………………… 82
5.2 偽指令在嵌入式程序設(shè)計中的應(yīng)用………………………………………… 83
5.3 嵌入式C語言程序設(shè)計中的函數(shù)及函數(shù)庫……………………………… 86
5.4 嵌入式程序設(shè)計中常用的C語言語句…………………………………… 86
5.5 匯編語言與C/C++的混合編程………………………………………… 89
5.6 ATPCS規(guī)則………………………………………………………………… 93
5.7 本章小結(jié)……………………………………………………………………… 95
5.8 練習(xí)題………………………………………………………………………… 95
第6章 S3C6410系統(tǒng)設(shè)計與調(diào)試………………………………………………… 97
6.1 系統(tǒng)設(shè)計概述………………………………………………………………… 97
6.2 S3C6410概述………………………………………………………………… 98
6.2.1 S3C6410及片內(nèi)外圍簡介……………………………………………… 98
6.2.2 S3C6410的引腳分布及信號描述…………………………………… 100
6.2.3 外部存儲器接口……………………………………………………… 105
6.2.4 串行通信……………………………………………………………… 107
6.2.5 顯示器控制…………………………………………………………… 109
6.3 存儲器映射………………………………………………………………… 112
6.4 系統(tǒng)控制器………………………………………………………………… 113
6.4.1 時鐘源………………………………………………………………… 114
6.4.2 鎖相環(huán)………………………………………………………………… 115
6.4.3 ARM 和AXI/AHB/APB總線時鐘發(fā)生器………………………… 116
6.4.4 MFC時鐘發(fā)生器……………………………………………………… 118
6.4.5 顯示時鐘發(fā)生器(POST,LCD和Scaler)…………………………… 119
6.4.6 時鐘開/關(guān)控制………………………………………………………… 120
6.5 S3C6410復(fù)位信號………………………………………………………… 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 時鐘源控制寄存器…………………………………………………… 130
6.7 系統(tǒng)的硬件選型與單元電路設(shè)計………………………………………… 132
6.7.1 電源電路……………………………………………………………… 132
6.7.2 晶振電路與復(fù)位電路………………………………………………… 132
6.7.3 Flash存儲器接口電路……………………………………………… 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è)計…………………………………………… 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è)計注意事項……………………………………………… 151
6.9.1 電源質(zhì)量與分配……………………………………………………… 151
6.9.2 同類型信號線的分布………………………………………………… 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è)計方法……………………………………………… 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 定時器……………………………………………………………… 207
8.6.1 PWM 的操作方式…………………………………………………… 209
8.6.2 S3C6410中的特殊功能寄存器……………………………………… 214
8.6.3 TINT_CSTAT ……………………………………………………… 218
8.7 RTC實時時鐘……………………………………………………………… 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簡介………………………………………………………… 262
8.11.1 BootLoader簡介…………………………………………………… 262
8.11.2 啟動方法……………………………………………………………… 264
8.11.3 檢測系統(tǒng)的內(nèi)存映射………………………………………………… 267
8.12 本章小結(jié)…………………………………………………………………… 269
8.13 練習(xí)題……………………………………………………………………… 270
第9章 S3C6410綜合應(yīng)用設(shè)計實例……………………………………………… 271
9.1 基于S3C6410光敏傳感器系統(tǒng)設(shè)計實例………………………………… 271
9.1.1 基本原理……………………………………………………………… 271
9.1.2 協(xié)調(diào)器程序下載方法………………………………………………… 274
9.1.3 節(jié)點程序燒寫和節(jié)點測試…………………………………………… 276
9.1.4 硬件電路原理圖和部分程序代碼…………………………………… 277
9.2 基于S3C6410溫濕度傳感器系統(tǒng)設(shè)計實例……………………………… 281
9.2.1 基本原理……………………………………………………………… 281
9.2.2 節(jié)點程序燒寫和節(jié)點測試…………………………………………… 284
9.2.3 硬件電路原理圖和部分程序代碼…………………………………… 286
9.3 基于S3C6410電機(jī)和燈光傳感器系統(tǒng)設(shè)計實例………………………… 294
9.3.1 基本原理……………………………………………………………… 294
9.3.2 節(jié)點程序燒寫和節(jié)點測試…………………………………………… 294
9.2.3 硬件電路原理圖和部分程序代碼…………………………………… 296
9.4 基于S3C6410煙霧傳感器系統(tǒng)設(shè)計實例………………………………… 298
9.4.1 基本原理……………………………………………………………… 298
9.4.2 節(jié)點程序燒寫和節(jié)點測試…………………………………………… 298
9.4.3 硬件電路原理圖和部分程序代碼…………………………………… 300
9.5 基于S3C6410干簧管傳感器系統(tǒng)實例…………………………………… 302
9.5.1 基本原理……………………………………………………………… 302
9.5.2 節(jié)點程序燒寫和節(jié)點測試…………………………………………… 303
9.5.3 硬件電路原理圖和部分程序代碼…………………………………… 304
9.6 本章小結(jié)…………………………………………………………………… 306
9.7 練習(xí)題……………………………………………………………………… 307
第10章 RealView MDK 集成開發(fā)環(huán)境的使用………………………………… 308
10.1 RealView MDK集成開發(fā)環(huán)境組成介紹……………………………… 308
10.2 RealView MDK使用方法……………………………………………… 311
10.2.1 創(chuàng)建一個工程………………………………………………………… 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