· 本書可以作為高等院校電子、通信、自動化、計算機等專業的ARM體系結構、接口技術課程的教材,也可作為嵌入式開發人員的參考書。
作為一種32位高性能、低成本的嵌入式RISC微處理器,ARM目前已經成為應用最廣泛的嵌入式處理器。目前Cortex-A系列處理器已經占據了大部分中高端產品市場。 本書在全面介紹Cortex-A8處理器的體系結構、編程模型、指令系統及開發環境的同時,以基于Cortex-A8的應用處理器——S5PV210為核心,詳細介紹了系統的設計及相關接口技術。接口技術涵蓋了I/O、中斷、串口、存儲器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,并提供了大量的實驗例程。
第1章 嵌入式系統基礎知識
1.1 嵌入式系統概述
1.1.1 嵌入式系統簡介
1.1.2 嵌入式系統的特點
1.1.3 嵌入式系統的發展
1.2 嵌入式系統的組成
1.2.1 嵌入式系統硬件組成
1.2.2 嵌入式系統軟件組成
1.3 嵌入式操作系統舉例
1.3.1 商業版嵌入式操作系統
1.3.2 開源版嵌入式操作系統
1.4 嵌入式系統開發概述
1.5 學好微處理器在嵌入式學習中的重要性
1.6 本章小結
1.7 思考題
第2章 ARM技術概述
2.1 ARM體系結構的技術特征及發展
2.1.1 ARM公司簡介
2.1.2 ARM技術特征
2.1.3 ARM體系架構的發展
2.2 ARM微處理器簡介
2.2.1 ARM9 處理器系列
2.2.2 ARM9E 處理器系列
2.2.3 ARM11 處理器系列
2.2.4 SecurCore 處理器系列
2.2.5 StrongARM和Xscale 處理器系列
2.2.6 MPCore 處理器系列
2.2.7 Cortex處理器系列
2.2.8 ARM應用處理器的最新發展現狀
2.3 ARM 微處理器結構
2.4 ARM 微處理器的應用選型
2.4.1 ARM芯片選擇的一般原則
2.4.2 選擇一款適合ARM教學的CPU
2.5 Cortex-A8內部功能及特點
2.6 數據類型
2.6.1 ARM的基本數據類型
2.6.2 浮點數據類型
2.6.3 存儲器大/小端
2.7 Cortex-A8內核工作模式
2.8 Cortex-A8存儲系統
2.8.1 協處理器(CP15)
2.8.2 存儲管理單元(MMU)
2.8.3 高速緩沖存儲器(Cache)
2.9 流水線
2.9.1 流水線的概念與原理
2.9.2 流水線的分類
2.9.3 影響流水線性能的因素
2.10 寄存器組織
2.11 程序狀態寄存器
2.12 三星S5PC210處理器介紹
2.13 FS_S5PC210開發平臺介紹
2.14 本章小結
2.15 練習題
第3章 ARM微處理器的指令系統
3.1 ARM處理器的尋址方式
3.1.1 數據處理指令尋址方式
3.1.2 內存訪問指令尋址方式
3.2 ARM處理器的指令集
3.2.1 數據操作指令
3.2.2 乘法指令
3.2.3 Load/Store指令
3.2.4 跳轉指令
3.2.5 狀態操作指令
3.2.6 協處理器指令
3.2.7 異常產生指令
3.2.8 其他指令介紹
3.3 本章小結
3.4 思考題
第4章 ARM匯編語言程序設計
4.1 GNU ARM匯編器支持的偽操作
4.1.1 偽操作概述
4.1.2 數據定義(Data Definition)偽操作
4.1.3 匯編控制偽操作
4.1.4 雜項偽操作
4.2 ARM匯編器支持的偽指令
4.2.1 ADR偽指令
4.2.2 ADRL偽指令
4.2.3 LDR偽指令
4.3 GNU ARM 匯編語言的語句格式
4.4 ARM 匯編語言的程序結構
4.4.1 匯編語言的程序格式
4.4.2 匯編語言子程序調用
4.4.3 過程調用標準AAPCS
4.4.4 匯編語言程序設計舉例
4.5 匯編語言與C語言的混合編程
4.5.1 GNU ARM內聯匯編
4.5.2 混合編程調用舉例
4.6 本章小結
4.7 思考題
第5章 ARM開發及環境搭建
5.1 仿真器簡介
5.1.1 FS-JTAG仿真器介紹
5.1.2 ULINK介紹
5.2 開發環境搭建
5.3 Eclipse for ARM 使用
5.4 編譯工程
5.5 調試工程
5.5.1 配置FS-JTAG 調試工具
5.5.2 配置調試工具
5.6 本章小結
5.7 練習題
第6章 GPIO編程
6.1 GPIO功能介紹
6.2 S5PV210芯片的GPIO控制器詳解
6.2.1 特性
6.2.2 GPIO分組預覽
6.2.3 S5PV2100的GPIO常用寄存器分類
6.2.4 GPIO功能描述
6.2.5 S5PV210 I/O接口常用寄存器詳解
6.2.6 GPIO數據寄存器
6.3 S5PV210 GPIO的應用
6.3.1 電路連接
6.3.2 寄存器設置
6.3.3 程序編寫
6.4 本章小結
6.5 練習題
第7章 ARM異常及中斷處理
7.1 ARM異常中斷處理概述
7.2 ARM體系異常種類
7.3 ARM異常的優先級
7.4 ARM處理器模式和異常
7.5 ARM異常響應和處理程序返回
7.5.1 中斷響應的概念
7.5.2 ARM異常響應流程
7.5.3 從異常處理程序中返回
7.6 ARM的SWI異常中斷處理程序設計
7.7 FIQ和IRQ中斷
7.7.1 中斷分支
7.7.2 S5PV210中斷機制分析
7.7.3 S5PV210中斷處理程序實例
7.8 本章小結
7.9 練習題
第8章 串行通信接口
8.1 串行通信概述
8.1.1 串行通信與并行通信概念
8.1.2 異步串行方式的特點
8.1.3 異步串行方式的數據格式
8.1.4 同步串行方式的特點
8.1.5 同步串行方式的數據格式
8.1.6 比特率、比特率因子與位周期
8.1.7 RS-232C串口規范
8.1.8 RS-232C接線方式
8.2 S5PV210異步串行通信
8.2.1 S5PV210串口控制器概述
8.2.2 UART寄存器詳解
8.3 接口電路與程序設計
8.3.1 電路連接
8.3.2 程序編寫
8.3.3 調試與運行結果
8.4 本章小結
8.5 練習題
第9章 存儲器接口
9.1 Flash ROM介紹
9.2 NAND Flash操作
9.2.1 芯片介紹
9.2.2 讀操作過程
9.2.3 擦除操作過程
9.2.4 寫操作過程
9.3 S5PV210中NAND Flash控制器的操作
9.3.1 S5PV210 NAND Flash控制器概述
9.3.2 S5PV210 NAND Flash控制器寄存器詳解
9.4 S5PV210 NAND Flash接口電路與程序設計
9.4.1 K9F2G080U和S5PV210的接口電路
9.4.2 S5PV210控制K9F2G080U的程序設計
9.5 本章小結
9.6 練習題
第10章 定時器與RTC
10.1 S5P V210 PWM定時器
10.1.1 PWM定時器概述
10.1.2 PWM定時器的特點
10.1.3 PWM定時器的寄存器
10.1.4 PWM定時器操作示例
10.2 S5PV210看門狗定時器
10.2.1 S5PV210看門狗定時器概述
10.2.2 看門狗定時器寄存器
10.2.3 看門狗定時器程序編寫
10.3 RTC
10.3.1 RTC介紹
10.3.2 RTC控制器
10.3.3 RTC控制器寄存器詳解
10.3.4 RTC測試例子
10.4 本章小結
10.5 練習題
第11章 A/D轉換器
11.1 A/D轉換器原理
11.1.1 A/D轉換基礎
11.1.2 A/D轉換的技術指標
11.1.3 A/D轉換器類型
11.1.4 A/D轉換的一般步驟
11.2 S5PV210 A/D轉換器
11.2.1 S5PV210 A/D轉換器概述
11.2.2 S5PV210 A/D控制器寄存器
11.3 A/D轉換器應用舉例
11.3.1 電路連接
11.3.2 程序編寫
11.3.3 調試與運行結果
11.4 本章小結
11.5 練習題
第12章 DMA(PL330)控制器
12.1 PL330原理概述
12.1.1 DMAC簡述
12.1.2 S5PV210下的DMAC模型
12.1.3 PL330簡述
12.2 PL330詳解
12.2.1 PL330指令集
12.2.2 相關寄存器詳解
12.3 S5PV210 PL330測試例子
12.4 本章小結
12.5 練習題
第13章 LCD接口設計
13.1 LCD控制器
13.1.1 LCD控制器介紹
13.1.2 S5PV210的 LCD控制器介紹
13.1.3 S5PV210的LCD控制器操作
13.1.4 LCD控制器寄存器
13.2 LCD控制器實例
13.3 本章小結
13.4 練習題
第14章 CAMIF接口技術
14.1 OV9650介紹
14.1.1 芯片功能描述
14.1.2 OV9650物理參數
14.1.3 OV9650寄存器詳解
14.2 SCCB總線
14.2.1 SCCB協議介紹
14.2.2 SCCB的總線編程
14.3 CAMIF接口詳解
14.3.1 基于S5PV210的CAMIF接口介紹
14.3.2 S5PV210 CAMIF寄存器詳解
14.3.3 CAMIF操作案例
14.4 本章小結
14.5 練習題
第15章 SPI接口
15.1 SPI總線協議理論
15.1.1 協議簡介
15.1.2 協議內容
15.2 SPI控制器詳解
15.2.1 S5PV210的SPI控制器簡介
15.2.2 時鐘源控制
15.2.3 寄存器詳解
15.3 SPI開發例子
15.4 本章小結
15.5 練習題
第16章 I2C接口
16.1 I2C總線
16.1.1 I2C總線介紹
16.1.2 I2C總線術語
16.1.3 I2C總線位傳輸
16.1.4 I2C總線數據傳輸
16.1.5 I2C總線尋址方式
16.1.6 快速和高速模式
16.2 I2C總線控制器
16.2.1 S5PV210下的I2C控制器介紹
16.2.2 I2C總線控制寄存器詳解
16.3 I2C總線的實際應用
16.3.1 應用分析
16.3.2 代碼實現
16.4 本章小結
16.5 練習題