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