作為一種32位高性能、低成本的嵌入式RISC微處理器,ARM目前已經(jīng)成為應用*廣泛的嵌入式處理器。目前Cortex-A系列處理器已經(jīng)占據(jù)了大部分中高端產(chǎn)品市場。在全面介紹Cortex-A9處理器的體系結構、編程模型、指令系統(tǒng)及開發(fā)環(huán)境的同時,以基于Cortex-A9的應用處理器??S5PV210為核心,詳細介紹了系統(tǒng)的設計及相關接口技術。接口技術涵蓋了I/O、中斷、串口、存儲器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,并提供了大量的實驗例程。
第1 章 嵌入式系統(tǒng)基礎知識
1.1 嵌入式系統(tǒng)概述
1.1.1 嵌入統(tǒng)簡介
1.1.2 嵌入式系統(tǒng)的特點
1.1.3 嵌入式系統(tǒng)的發(fā)展
1.2 嵌入式系統(tǒng)的組成
1.2.1 嵌入式系統(tǒng)硬件組成
1.2.2 嵌入式系統(tǒng)軟件組成
1.3 嵌入式操作系統(tǒng)舉例
1.3.1 商業(yè)版嵌入式操作系統(tǒng)
1.3.2 開源版嵌入式操作系統(tǒng)
1.4 嵌入式系統(tǒng)開發(fā)概述
1.5 學好微處理器在嵌入式學習中的重要性
1.6 本章小結
1.7 練習題
第2 章 嵌入式ARM 技術概論
2.1 ARM 體系結構的技術特征及發(fā)展
2.1.1 ARM 公司簡介
2.1.2 ARM 技術特征
2.1.3 ARM 體系架構的發(fā)展
2.2 ARM 微處理器簡介
2.2.1 ARM9 處理器系列
2.2.2 ARM9E 處理器系列
2.2.3 ARM11 處理器系列
2.2.4 SecurCore 處理器系列
2.2.5 StrongARM 和Xscale 處理器系列VI
2.2.6 MPCore 處理器系列
2.2.7 Cortex 處理器系列
2.2.8 最新ARM 應用處理器發(fā)展現(xiàn)狀
2.3 ARM 微處理器結構
2.3.1 ARM 微處理器的應用選型
2.3.2 選擇ARM 芯片的一般原則
2.3.3 選擇一款適合ARM 教學的CPU
2.4 Cortex-A9 內(nèi)部功能及特點
2.5 數(shù)據(jù)類型
2.5.1 ARM 的基本數(shù)據(jù)類型
2.5.2 浮點數(shù)據(jù)類型
2.5.3 存儲器大/小端
2.6 Cortex-A9 內(nèi)核工作模式
2.7 Cortex-A9 存儲系統(tǒng)
2.7.1 協(xié)處理器(CP15)
2.7.2 存儲管理單元(MMU)
2.7.3 高速緩沖存儲器(Cache)
2.8 流水線
2.8.1 流水線的概念與原理
2.8.2 流水線的分類
2.8.3 影響流水線性能的因素
2.9 寄存器組織
2.10 程序狀態(tài)寄存器
2.11 三星Exynos4412 處理器介紹
2.12 FS4412 開發(fā)平臺介紹
2.13 本章小結
2.14 練習題
第3 章 ARM微處理器的指令系統(tǒng)
3.1 ARM 處理器的尋址方式
3.1.1 數(shù)據(jù)處理指令尋址方式
3.1.2 內(nèi)存訪問指令尋址方式
3.2 ARM 處理器的指令集
3.2.1 數(shù)據(jù)操作指令
3.2.2 乘法指令
3.2.3 Load/Store 指令
3.2.4 跳轉指令
3.2.5 狀態(tài)操作指令
3.2.6 協(xié)處理器指令
3.2.7 異常產(chǎn)生指令
3.2.8 其他指令介紹
3.3 本章小結
3.4 練習題
第4章 ARM匯編語言程序設計
4.1 GNU ARM 匯編器支持的偽操作
4.1.1 偽操作概述
4.1.2 數(shù)據(jù)定義(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 內(nèi)聯(lián)匯編
4.5.2 混合編程調用舉例
4.6 本章小結
4.7 練習題
第5 章 ARM開發(fā)及環(huán)境搭建
5.1 仿真器簡介
5.1.1 FS-JTAG 仿真器介紹
5.1.2 ULINK 介紹
5.2 開發(fā)環(huán)境搭建
5.2.1 XP 環(huán)境安裝FS-JTAG 工具
5.2.2 開發(fā)板硬件連接
5.2.3 USB 轉串口驅動安裝
5.2.4 Putty 串口終端配置
5.3 Eclipse for ARM 使用
5.4 在開發(fā)環(huán)境中添加FS4412 工程
5.5 編譯工程
5.6 調試工程
5.6.1 配置FS-JTAG 調試工具
5.6.2 配置調試工具
5.7 本章小結
5.8 練習題
第6 章 GPIO
6.1 GPIO 功能介紹
6.2 Exynos4412-GPIO 控制器詳解
6.2.1 GPIO 功能描述
6.2.2 GPIO 特性
6.2.3 GPIO 分組
6.2.4 GPIO 常用寄存器分類
6.2.5 GPIO 寄存器詳解
6.2.6 GPIO 寄存器封裝
6.3 GPIO 的應用實例
6.3.1 GPIO 實例內(nèi)容和原理
6.3.2 GPIO 實例硬件連接
6.3.3 GPIO 實例軟件設計
6.3.4 GPIO 實例代碼
6.3.5 GPIO 實例現(xiàn)象
6.4 本章小結
6.5 練習題
第7 章 ARM異常及中斷處理
7.1 ARM 異常中斷處理概述
7.2 ARM 體系異常種類
7.3 ARM 異常的優(yōu)先級
7.4 ARM 處理器模式和異常
7.5 ARM 異常響應和處理程序返回
7.5.1 中斷響應的概念
7.5.2 ARM 異常響應流程
7.5.3 從異常處理程序中返回
7.6 ARM 的SWI 異常中斷處理程序設計
7.7 本章小結
7.8 練習題
第8 章 FIQ和IRQ 中斷
8.1 ARM 中斷控制器簡介
8.1.1 中斷軟件分支處理(NVIC 和GIC)
8.1.2 硬件支持的分支處理(VIC)
8.2 通用中斷控制器(GIC)
8.2.1 GIC 功能模塊
8.2.2 GIC 中斷控制器中斷類型
8.2.3 GIC 中斷控制器中斷狀態(tài)
8.2.4 GIC 中斷處理流程
8.3 Exynos4412 中斷源
8.4 Exynos4412-GIC 寄存器詳解
8.5 GIC 中斷應用實例
8.5.1 GIC 中斷實例內(nèi)容和原理
8.5.2 GIC 中斷實例硬件連接
8.5.3 GIC 中斷實例軟件設計
8.5.4 GIC 中斷實例代碼
8.5.5 GIC 中斷實例現(xiàn)象
8.6 本章小結
8.7 練習題
第9 章 通用異步收發(fā)(UART)接口
9.1 通用異步收發(fā)(UART)接口簡介
9.1.1 串行通信與并行通信概念
9.1.2 異步串行方式的特點
9.1.3 異步串行方式的數(shù)據(jù)格式
9.1.4 同步串行方式的特點
9.1.5 同步串行方式的數(shù)據(jù)格式
9.1.6 波特率、波特率因子與位周期
9.1.7 RS-232C 串口規(guī)范
9.1.8 RS-232C 接線方式
9.2 Exynos4412-UART 控制器詳解
9.2.1 UART 控制器概述
9.2.2 UART 控制器框架圖
9.2.3 UART 寄存器詳解
9.3 UART 接口應用實例
9.3.1 UART 接口實例內(nèi)容和原理
9.3.2 UART 實例硬件連接
9.3.3 UATR 實例軟件編寫
9.3.4 UART 實例調試和運行現(xiàn)象
9.4 本章小結
9.5 練習題
第10 章 PWM 定時器
10.1 定時器和PWM 簡介
10.1.1 定時器概述
10.1.2 脈沖寬度調制(PWM)概述
10.2 Exynos4412-PWM 定時器詳解
10.2.1 PWM 定時器概述
10.2.2 PWM 定時器寄存器詳解
10.2.3 PWM 定時器雙緩沖功能
10.2.4 PWM 信號輸出
10.3 PWM 定時器應用實例一:定時觸發(fā)
10.3.1 定時觸發(fā)實例內(nèi)容和原理
10.3.2 定時觸發(fā)實例硬件連接
10.3.3 定時觸發(fā)軟件設計和代碼
10.3.4 定時觸發(fā)實例現(xiàn)象
10.4 PWM 定時器應用實例二:PWM 輸出
10.4.1 PWM 輸出實例內(nèi)容和原理
10.4.2 PWM 輸出實例硬件連接
10.4.3 PWM 輸出軟件設計
10.4.4 PWM 輸出實例現(xiàn)象
10.5 本章小結
10.6 練習題
第11 章 看門狗定時器
11.1 看門狗簡介
11.2 Exynos4412 看門狗定時器詳解
11.2.1 看門狗定時器概述
11.2.2 看門狗定時器寄存器詳解
11.3 看門狗定時器實例
11.3.1 看門狗定時器實例內(nèi)容和原理
11.3.2 看門狗定時器實例軟件設計
11.3.3 看門狗定時器實例代碼
11.3.4 看門狗定時器實例現(xiàn)象
11.4 本章小結
11.5 練習題
第12 章 RTC 定時器
12.1 RTC 定時器簡介
12.2 Exynos4412-RTC 定時器詳解
12.2.1 RTC 定時器概述
12.2.2 RTC 定時器寄存器詳解
12.2.3 BCD 碼
12.3 RTC 定時器實例
12.3.1 RTC 定時器實例內(nèi)容和原理
12.3.2 RTC 定時器實例軟件設計
12.3.3 RTC 定時器實例代碼
12.3.4 RTC 定時器實例現(xiàn)象
12.4 本章小結
12.5 練習題
第13 章 A/D 轉換器
13.1 A/D 轉換器原理
13.1.1 A/D 轉換基礎
13.1.2 A/D 轉換的技術指標
13.1.3 A/D 轉換器類型
13.1.4 A/D 轉換的一般步驟
13.2 Exynos4412- A/D 轉換器概述
13.2.1 A/D 轉換器概述
13.2.2 A/D 轉換器特點
13.2.3 A/D 轉換器寄存器解析
13.3 A/D 轉換器應用實例
13.3.1 A/D 轉換器實例內(nèi)容和原理
13.3.2 A/D 轉換器實例硬件連接
13.3.3 A/D 轉換器實例軟件設計
13.3.4 A/D 轉換器實例代碼
13.3.5 A/D 轉換器實例現(xiàn)象
13.4 本章小結
13.5 練習題
第14 章 I2C 總線
14.1 I2C 總線協(xié)議
14.1.1 I2C 總線協(xié)議簡介
14.1.2 I2C 總線協(xié)議內(nèi)容
14.2 Exynos4412-I2C 控制器詳解
14.2.1 I2C 控制器概述II
14.2.2 I2C 控制器框架圖
14.2.3 I2C 控制器寄存器詳解
14.2.4 I2C 控制器操作流程
14.3 I2C 接口應用實例
14.3.1 I2C 實例內(nèi)容和原理
14.3.2 I2C 實例硬件連接
14.3.3 I2C 實例軟件設計
14.3.4 I2C 實例代碼
14.3.5 I2C 實例現(xiàn)象
14.4 本章小結
14.5 練習題
第15 章 SPI 接口
15.1 SPI 總線協(xié)議
15.1.1 SPI 總線協(xié)議簡介
15.1.2 SPI 總線協(xié)議內(nèi)容
15.2 Exynos4412-SPI 控制器詳解
15.2.1 SPI 控制器概述 .
15.2.2 SPI 控制器時鐘源控制
15.2.3 SPI 控制器寄存器詳解
15.3 SPI 接口應用實例
15.3.1 SPI 實例內(nèi)容和原理
15.3.2 SPI 實例硬件連接
15.3.3 SPI 實例軟件設計
15.3.4 SPI 實例代碼
15.3.5 SPI 實例現(xiàn)象
15.4 本章小結
15.5 練習題