內容介紹
《高等院校嵌入式人才培養規劃教材?ARM處理器開發詳解:基於ARM Cortex-A8處理器的開發設計》內容簡介:作為一種32位高性能、低成本的嵌入式RISC微處理器,ARM目前已經成為套用最廣泛的嵌入式處理器。目前Cortex-A系列處理器已經占據了大部分中高端產品市場。《高等院校嵌入式人才培養規劃教材?ARM處理器開發詳解:基於ARM Cortex-A8處理器的開發設計》在全面介紹Cortex-A8處理器的體系結構、編程模型、指令系統及開發環境的同時,以基於Cortex-A8的套用處理器——S5PC100為核心,詳細介紹了系統的設計及相關接口技術。接口技術涵蓋了I/O、中斷、串口、存儲器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,並提供了大量的實驗例程。作品目錄
第1章嵌入式系統基礎知識 11.1嵌入式系統概述 1
1.1.1嵌入式系統簡介 1
1.1.2嵌入式系統的特點 2
1.1.3嵌入式系統的發展 3
1.2 嵌入式系統的組成 5
1.2.1嵌入式系統硬體組成 5
1.2.2嵌入式系統軟體組成 6
1.3嵌入式作業系統舉例 6
1.3.1商業版嵌入式作業系統 7
1.3.2開源版嵌入式作業系統 7
1.4 嵌入式系統開發概述 8
1.5學好微處理器在嵌入式學習中的重要性 14
1.6本章小結 16
1.7思考題 16
第2章ARM技術概述 17
2.1ARM體系結構的技術特徵及發展 17
2.1.1ARM公司簡介 17
2.1.2ARM技術特徵 18
2.1.3ARM體系架構的發展 19
2.2ARM微處理器簡介 20
2.2.1ARM9 處理器系列 21
2.2.2ARM9E 處理器系列 22
2.2.3ARM11 處理器系列 22
2.2.4SecurCore 處理器系列 23
2.2.5StrongARM和Xscale 處理器系列 23
2.2.6MPCore 處理器系列 23
2.2.7Cortex處理器系列 24
2.2.8最新ARM套用處理器發展現狀 26
2.3ARM 微處理器結構 27
2.4ARM 微處理器的套用選型 27
2.4.1ARM晶片選擇的一般原則 28
2.4.2選擇一款適合ARM教學的CPU 28
2.5CORTEX-A8內部功能及特點 31
2.6數據類型 32
2.6.1ARM的基本數據類型 32
2.6.2浮點數據類型 33
2.6.3存儲器大/小端 33
2.7CORTEX-A8核心工作模式 34
2.8CORTEX-A8存儲系統 35
2.8.1協處理器(CP15) 36
2.8.2存儲管理單元(MMU) 37
2.8.3高速緩衝存儲器(Cache) 37
2.9流水線 37
2.9.1流水線的概念與原理 37
2.9.2流水線的分類 38
2.9.3影響流水線性能的因素 40
2.10暫存器組織 40
2.11程式狀態暫存器 43
2.12三星S5PC100處理器介紹 46
2.13FS_S5PC100開發平台介紹 47
2.14本章小結 49
2.15練習題 50
第3章ARM微處理器的指令系統 51
3.1ARM處理器的定址方式 51
3.1.1數據處理指令定址方式 51
3.1.2記憶體訪問指令定址方式 53
3.2ARM處理器的指令集 55
3.2.1數據操作指令 55
3.2.2乘法指令 62
3.2.3Load/Store指令 65
3.2.4跳轉指令 71
3.2.5狀態操作指令 74
3.2.6協處理器指令 76
3.2.7異常產生指令 80
3.2.8其他指令介紹 81
3.3本章小結 83
3.4思考題 83
第4章ARM彙編語言程式設計 85
4.1GNU ARM彙編器支持的偽操作 85
4.1.1偽操作概述 85
4.1.2數據定義(Data Definition)偽操作 85
4.1.3彙編控制偽操作 87
4.1.4雜項偽操作 89
4.2ARM彙編器支持的偽指令 89
4.2.1ADR偽指令 89
4.2.2ADRL偽指令 90
4.2.3LDR偽指令 91
4.3GNU ARM 彙編語言的語句格式 92
4.4ARM 彙編語言的程式結構 94
4.4.1 彙編語言的程式格式 94
4.4.2彙編語言子程式調用 95
4.4.3過程調用標準AAPCS 95
4.4.4彙編語言程式設計舉例 97
4.5彙編語言與C語言的混合編程 98
4.5.1GNU ARM內聯彙編 98
4.5.2混合編程調用舉例 100
4.6本章小結 102
4.7思考題 102
第5章ARM開發及環境搭建 103
5.1仿真器簡介 103
5.1.1FS-JTAG仿真器介紹 103
5.1.2ULINK介紹 104
5.2開發環境搭建 105
5.3ECLIPSE FOR ARM 使用 108
5.4編譯工程 109
5.5調試工程 110
5.5.1配置FS-JTAG 調試工具 110
5.5.2配置調試工具 111
5.6本章小結 114
5.7練習題 114
第6章GPIO編程 115
6.1GPIO功能介紹 115
6.2S5PC100晶片的GPIO控制器詳解 115
6.2.1特性 115
6.2.2GPIO分組預覽 116
6.2.3S5PC100的GPIO常用暫存器分類 116
6.2.4GPIO功能描述 116
6.2.5S5PC100 I/O接口常用暫存器詳解 117
6.2.6GPIO數據暫存器 118
6.3S5PC100 GPIO的套用 118
6.3.1電路連線 119
6.3.2暫存器設定 119
6.3.3程式編寫 119
6.4本章小結 120
6.5練習題 120
第7章ARM異常及中斷處理 121
7.1ARM異常中斷處理概述 121
7.2ARM體系異常種類 122
7.3ARM異常的優先權 127
7.4ARM處理器模式和異常 127
7.5ARM異常回響和處理程式返回 128
7.5.1中斷回響的概念 128
7.5.2ARM異常回響流程 128
7.5.3從異常處理程式中返回 129
7.6ARM的SWI異常中斷處理程式設計 131
7.7FIQ和IRQ中斷 133
7.7.1中斷分支 133
7.7.2S5PC100中斷機制分析 134
7.7.3S5PC100中斷處理程式實例 138
7.8本章小結 140
7.9練習題 140
第8章串列通信接口 141
8.1 串列通信概述 141
8.1.1串列通信與並行通信概念 141
8.1.2異步串列方式的特點 141
8.1.3異步串列方式的數據格式 142
8.1.4同步串列方式的特點 142
8.1.5同步串列方式的數據格式 142
8.1.6比特率、比特率因子與位周期 143
8.1.7RS-232C串口規範 143
8.1.8RS-232C接線方式 145
8.2 S5PC100異步串列通信 145
8.2.1 S5PC100串口控制器概述 145
8.2.2UART暫存器詳解 147
8.3 接口電路與程式設計 150
8.3.1 電路連線 150
8.3.2 程式編寫 150
8.3.3調試與運行結果 152
8.3.4紅外收發程式 154
8.4本章小結 157
8.5練習題 157
第9章存儲器接口 158
9.1 FLASH ROM介紹 158
9.2 NOR FLASH操作 160
9.2.1AM29LV160D晶片介紹 160
9.2.2AM29LV160D字編程操作 161
9.2.3AM29LV160D扇區/塊擦除操作 162
9.2.4AM29LV160D晶片擦除操作 163
9.2.5AM29LV160D與S5PC100的接口電路 163
9.2.6AM29LV160D存儲器的程式設計 164
9.3 NAND FLASH操作 166
9.3.1晶片介紹 166
9.3.2讀操作過程 167
9.3.3擦除操作過程 168
9.3.4寫操作過程 169
9.4S5PC100中NAND Flash控制器的操作 170
9.4.1S5PC100 NAND Flash控制器概述 170
9.4.2S5PC100 NAND Flash控制器暫存器詳解 170
9.5S5PC100 NAND Flash接口電路與程式設計 172
9.5.1K9F2G080U和S5PC100的接口電路 172
9.5.2S5PC100控制K9F2G080U的程式設計 173
9.6本章小結 176
9.7練習題 176
第10章定時器與RTC 177
10.1S5PC100 PWM定時器 177
10.1.1PWM定時器概述 177
10.1.2PWM定時器特點 178
10.1.3PWM定時器的暫存器 179
10.1.4PWM定時器操作示例 184
10.2S5PC100看門狗定時器 185
10.2.1S5PC100看門狗定時器概述 185
10.2.2看門狗定時器暫存器 186
10.2.3看門狗定時器程式編寫 187
10.3RTC 190
10.3.1RTC介紹 190
10.3.2RTC控制器 190
10.3.3RTC控制器暫存器詳解 191
10.3.4RTC測試例子 192
10.4本章小結 193
10.5練習題 193
第11章A/D轉換器 194
11.1 A/D轉換器原理 194
11.1.1A/D轉換基礎 194
11.1.2A/D轉換的技術指標 195
11.1.3A/D轉換器類型 196
11.1.4A/D轉換的一般步驟 200
11.2 S5PC100 A/D轉換器 200
11.2.1S5PC100 A/D轉換器概述 200
11.2.2S5PC100 A/D控制器暫存器 201
11.3 A/D轉換器套用舉例 203
11.3.1 電路連線 203
11.3.2 程式編寫 203
11.3.3 調試與運行結果 204
11.4本章小結 205
11.5練習題 205
第12章DMA(PL330)控制器 206
12.1PL330原理概述 206
12.1.1DMAC簡述 206
12.1.2S5PC100下的DMAC模型 207
12.1.3PL330簡述 208
12.2PL330詳解 209
12.2.1PL330指令集 209
12.2.2相關暫存器詳解 215
12.3S5PC100 PL330測試例子 217
12.4本章小結 221
12.5練習題 221
第13章LCD接口設計 222
13.1 LCD控制器 222
13.1.1 LCD控制器介紹 222
13.1.2 S5PC100的 LCD控制器介紹 223
13.1.3 S5PC100的LCD控制器操作 224
13.1.4 LCD控制器暫存器 226
13.2 LCD控制器實例 231
13.3本章小結 235
13.4練習題 235
第14章CAMIF接口技術 236
14.1OV9650介紹 236
14.1.1晶片功能描述 236
14.1.2OV9650物理參數 237
14.1.3OV9650暫存器詳解 238
14.2SCCB匯流排 240
14.2.1SCCB協定介紹 240
14.2.2SCCB的匯流排編程 241
14.3CAMIF接口詳解 242
14.3.1基於S5PC100的CAMIF接口介紹 242
14.3.2S5PC100 CAMIF暫存器詳解 244
14.3.3CAMIF操作案例 247
14.4本章小結 251
14.5練習題 251
第15章SPI接口 252
15.1SPI匯流排協定理論 252
15.1.1協定簡介 252
15.1.2協定內容 252
15.2SPI控制器詳解 254
15.2.1S5PC100的SPI控制器簡介 254
15.2.2時鐘源控制 255
15.2.3暫存器詳解 255
15.3SPI開發例子 257
15.4本章小結 264
15.5練習題 264
第16章I2C接口 265
16.1I2C匯流排 265
16.1.1I2C匯流排介紹 265
16.1.2I2C匯流排術語 265
16.1.3I2C匯流排位傳輸 266
16.1.4I2C匯流排數據傳輸 266
16.1.5I2C匯流排定址方式 267
16.1.6快速和高速模式 268
16.2I2C匯流排控制器 269
16.2.1S5PC100下的I2C控制器介紹 269
16.2.2I2C匯流排控制暫存器詳解 269
16.3I2C匯流排的實際套用 270
16.3.1套用分析 270
16.3.2代碼實現 272
16.4本章小結 274
16.5練習題 274
參考文獻 275