作為一種32位高性能、低成本的嵌入式RISC微處理器,ARM目前已經(jīng)成為應(yīng)用*廣泛的嵌入式處理器。目前Cortex-A系列處理器已經(jīng)占據(jù)了大部分中高端產(chǎn)品市場。在全面介紹Cortex-A9處理器的體系結(jié)構(gòu)、編程模型、指令系統(tǒng)及開發(fā)環(huán)境的同時,以基于Cortex-A9的應(yīng)用處理器??S5PV210為核心,詳細(xì)介紹了系統(tǒng)的設(shè)計及相關(guān)接口技術(shù)。接口技術(shù)涵蓋了I/O、中斷、串口、存儲器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,并提供了大量的實驗例程。
第1 章 嵌入式系統(tǒng)基礎(chǔ)知識
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 學(xué)好微處理器在嵌入式學(xué)習(xí)中的重要性
1.6 本章小結(jié)
1.7 練習(xí)題
第2 章 嵌入式ARM 技術(shù)概論
2.1 ARM 體系結(jié)構(gòu)的技術(shù)特征及發(fā)展
2.1.1 ARM 公司簡介
2.1.2 ARM 技術(shù)特征
2.1.3 ARM 體系架構(gòu)的發(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 應(yīng)用處理器發(fā)展現(xiàn)狀
2.3 ARM 微處理器結(jié)構(gòu)
2.3.1 ARM 微處理器的應(yīng)用選型
2.3.2 選擇ARM 芯片的一般原則
2.3.3 選擇一款適合ARM 教學(xué)的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 本章小結(jié)
2.14 練習(xí)題
第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 跳轉(zhuǎn)指令
3.2.5 狀態(tài)操作指令
3.2.6 協(xié)處理器指令
3.2.7 異常產(chǎn)生指令
3.2.8 其他指令介紹
3.3 本章小結(jié)
3.4 練習(xí)題
第4章 ARM匯編語言程序設(shè)計
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 匯編語言的程序結(jié)構(gòu)
4.4.1 匯編語言的程序格式
4.4.2 匯編語言子程序調(diào)用
4.4.3 過程調(diào)用標(biāo)準(zhǔn)AAPCS
4.4.4 匯編語言程序設(shè)計舉例
4.5 匯編語言與C 語言的混合編程
4.5.1 GNU ARM 內(nèi)聯(lián)匯編
4.5.2 混合編程調(diào)用舉例
4.6 本章小結(jié)
4.7 練習(xí)題
第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 轉(zhuǎn)串口驅(qū)動安裝
5.2.4 Putty 串口終端配置
5.3 Eclipse for ARM 使用
5.4 在開發(fā)環(huán)境中添加FS4412 工程
5.5 編譯工程
5.6 調(diào)試工程
5.6.1 配置FS-JTAG 調(diào)試工具
5.6.2 配置調(diào)試工具
5.7 本章小結(jié)
5.8 練習(xí)題
第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 的應(yīng)用實例
6.3.1 GPIO 實例內(nèi)容和原理
6.3.2 GPIO 實例硬件連接
6.3.3 GPIO 實例軟件設(shè)計
6.3.4 GPIO 實例代碼
6.3.5 GPIO 實例現(xiàn)象
6.4 本章小結(jié)
6.5 練習(xí)題
第7 章 ARM異常及中斷處理
7.1 ARM 異常中斷處理概述
7.2 ARM 體系異常種類
7.3 ARM 異常的優(yōu)先級
7.4 ARM 處理器模式和異常
7.5 ARM 異常響應(yīng)和處理程序返回
7.5.1 中斷響應(yīng)的概念
7.5.2 ARM 異常響應(yīng)流程
7.5.3 從異常處理程序中返回
7.6 ARM 的SWI 異常中斷處理程序設(shè)計
7.7 本章小結(jié)
7.8 練習(xí)題
第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 中斷應(yīng)用實例
8.5.1 GIC 中斷實例內(nèi)容和原理
8.5.2 GIC 中斷實例硬件連接
8.5.3 GIC 中斷實例軟件設(shè)計
8.5.4 GIC 中斷實例代碼
8.5.5 GIC 中斷實例現(xiàn)象
8.6 本章小結(jié)
8.7 練習(xí)題
第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 接口應(yīng)用實例
9.3.1 UART 接口實例內(nèi)容和原理
9.3.2 UART 實例硬件連接
9.3.3 UATR 實例軟件編寫
9.3.4 UART 實例調(diào)試和運行現(xiàn)象
9.4 本章小結(jié)
9.5 練習(xí)題
第10 章 PWM 定時器
10.1 定時器和PWM 簡介
10.1.1 定時器概述
10.1.2 脈沖寬度調(diào)制(PWM)概述
10.2 Exynos4412-PWM 定時器詳解
10.2.1 PWM 定時器概述
10.2.2 PWM 定時器寄存器詳解
10.2.3 PWM 定時器雙緩沖功能
10.2.4 PWM 信號輸出
10.3 PWM 定時器應(yīng)用實例一:定時觸發(fā)
10.3.1 定時觸發(fā)實例內(nèi)容和原理
10.3.2 定時觸發(fā)實例硬件連接
10.3.3 定時觸發(fā)軟件設(shè)計和代碼
10.3.4 定時觸發(fā)實例現(xiàn)象
10.4 PWM 定時器應(yīng)用實例二:PWM 輸出
10.4.1 PWM 輸出實例內(nèi)容和原理
10.4.2 PWM 輸出實例硬件連接
10.4.3 PWM 輸出軟件設(shè)計
10.4.4 PWM 輸出實例現(xiàn)象
10.5 本章小結(jié)
10.6 練習(xí)題
第11 章 看門狗定時器
11.1 看門狗簡介
11.2 Exynos4412 看門狗定時器詳解
11.2.1 看門狗定時器概述
11.2.2 看門狗定時器寄存器詳解
11.3 看門狗定時器實例
11.3.1 看門狗定時器實例內(nèi)容和原理
11.3.2 看門狗定時器實例軟件設(shè)計
11.3.3 看門狗定時器實例代碼
11.3.4 看門狗定時器實例現(xiàn)象
11.4 本章小結(jié)
11.5 練習(xí)題
第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 定時器實例軟件設(shè)計
12.3.3 RTC 定時器實例代碼
12.3.4 RTC 定時器實例現(xiàn)象
12.4 本章小結(jié)
12.5 練習(xí)題
第13 章 A/D 轉(zhuǎn)換器
13.1 A/D 轉(zhuǎn)換器原理
13.1.1 A/D 轉(zhuǎn)換基礎(chǔ)
13.1.2 A/D 轉(zhuǎn)換的技術(shù)指標(biāo)
13.1.3 A/D 轉(zhuǎn)換器類型
13.1.4 A/D 轉(zhuǎn)換的一般步驟
13.2 Exynos4412- A/D 轉(zhuǎn)換器概述
13.2.1 A/D 轉(zhuǎn)換器概述
13.2.2 A/D 轉(zhuǎn)換器特點
13.2.3 A/D 轉(zhuǎn)換器寄存器解析
13.3 A/D 轉(zhuǎn)換器應(yīng)用實例
13.3.1 A/D 轉(zhuǎn)換器實例內(nèi)容和原理
13.3.2 A/D 轉(zhuǎn)換器實例硬件連接
13.3.3 A/D 轉(zhuǎn)換器實例軟件設(shè)計
13.3.4 A/D 轉(zhuǎn)換器實例代碼
13.3.5 A/D 轉(zhuǎn)換器實例現(xiàn)象
13.4 本章小結(jié)
13.5 練習(xí)題
第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 接口應(yīng)用實例
14.3.1 I2C 實例內(nèi)容和原理
14.3.2 I2C 實例硬件連接
14.3.3 I2C 實例軟件設(shè)計
14.3.4 I2C 實例代碼
14.3.5 I2C 實例現(xiàn)象
14.4 本章小結(jié)
14.5 練習(xí)題
第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 接口應(yīng)用實例
15.3.1 SPI 實例內(nèi)容和原理
15.3.2 SPI 實例硬件連接
15.3.3 SPI 實例軟件設(shè)計
15.3.4 SPI 實例代碼
15.3.5 SPI 實例現(xiàn)象
15.4 本章小結(jié)
15.5 練習(xí)題