二、ARM嵌入式体系结构与接口技术(Cortex-A8版)
第一章 嵌入式系统基础知识
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 开源版嵌入式操作系统
第二章 ARM技术概述
2.1 ARM体系结构的技术特征及发展
2.1.1 ARM公司简介
2.1.2 ARM技术特征
2.1.3 ARM体系结构的发展
2.2 ARM微处理器简介
2.2.1 ARM7处理器系列
2.2.2 ARM9处理器系列
2.2.3 ARM9E处理器系列
2.2.4 ARM11处理器系列
2.2.5 SecurCore处理器系列
2.2.6 StrongARM和Xsale处理器系列
2.2.7 MPCore处理器系列
2.2.8 Cortex处理器系列
2.3 ARM微处理器结构
2.4 ARM微处理器的应用选型
2.4.1 ARM芯片选择的一般原则
2.4.2 选择一款适合教学的ARM芯片
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 协处理器
2.8.2 存储管理单元
2.8.3 高速缓冲存储器
2.8.4 NEON技术
2.8.5 安全域(TrustZone)
2.9 流水线
2.9.1 流水线的概念与原理
2.9.2 流水线的分类
2.9.3 影响流水线性能的因素
2.10 寄存器组织
2.11 程序状态寄存器
2.12 SAMSUNG S5PC100处理器介绍
第三章 ARM的指令集合
3.1 ARM指令集
3.1.1 数据操作指令
3.1.2 乘法指令
3.1.3 Load/Store指令
3.1.4 跳转指令
3.1.5 状态操作指令
3.1.6 协处理器指令
3.1.7 异常产生指令
3.2 ARM指令的寻址方式
第四章 GNU汇编伪指令集
4.1 GNU汇编器的平台无关伪指令
4.1.1 伪指令概念
4.1.2 符号定义伪指令
4.1.3 数据定义伪指令
4.1.4 汇编控制伪操作
4.1.5 杂项伪操作
4.2 GNU汇编器支持的ARM伪指令
4.2.1 ADR伪指令
4.2.3 ADRL伪指令
4.2.3 LDR伪指令
4.3 ARM汇编语言的程序结构
4.3.1 汇编语言的程序格式
4.3.2 汇编语言的子程序调用
4.3.3 过程调用标准AAPCS/ATPCS
4.3.4 汇编语言程序设计举例
4.4 汇编语言与C语言的混合编程
4.4.1 GNU内联汇编
4.4.2 C和汇编的混合编程
第五章 ARM集成开发环境搭建
5.1 FS-JTAG仿真器介绍
5.2 开发环境搭建
5.2.1 开发工具的安装
5.2.2 创建一个新工程
5.2.3 调试工具
第六章 GPIO编程
6.1 GPIO功能介绍
6.2 S5PC100芯片的GPIO控制器介绍
6.2.1 特性
6.2.2 GPIO分组预览
6.2.3 S5PC100的GPIO常用寄存器分类
6.2.4 S5PC100 I/O接口常用寄存器详解
6.3 S5PC100的GPIO的实例
6.3.1 电路原理
6.3.2 寄存器设置
6.3.3 程序编写
第七章 ARM系统时钟及编程
7.1 S5PC100 时钟域的划分
7.2 S5PC100时钟的产生过程分析
7.2.1 时钟的产生
7.2.2 模块对应的时钟域
7.3 S5PC100时钟源的选择
7.3.1 时钟来自于外部引脚
7.3.2 时钟来自于时钟管理单元(CMU)
7.4 S5PC100时钟的配置
7.5 S5PC100时钟配置寄存器描述
7.6 S5PC100时钟源配置实例
第八章 ARM异常处理及编程
8.1 ARM异常中断处理概述
8.2 ARM体系异常种类
8.3 ARM异常的优先级
8.4 ARM处理器模式和异常
8.5 ARM异常响应和处理程序返回
8.5.1 中断响应的概念
8.5.2 ARM异常响应流程
8.5.3 从异常处理程序中返回
8.6 ARM系统中异常中断处理程序的安装
8.7 ARM的SWI异常中断处理程序的安装
8.8 FIQ和IRQ异常中断程序设计
8.9 基于Cortex-A8内核的S5PC100异常程序设计
8.9.1 S5PC100中断机制分析
8.9.2 S5PC100中断处理程序实例
第九章 串行通信接口
9.1 串行通讯
9.1.1 串行通信与并行通信的概念
9.1.2 异步串行方式的特点
9.1.3 异步串行方式的数据格式
9.1.4 同步串行方式的特点
9.1.5 同步串行方式的数据格式
9.1.6 比特率、比特率因子与位周期
9.1.7 RS-232C 串口规范
9.1.8 RS-232C 接线方式
9.2 S5PC100异步串行通讯
9.2.1 S5PC100串口控制器概述
9.2.2 S5PC100串口控制器寄存器
9.3 串口发送接收程序实例
9.3.1 电路连接
9.3.2 程序的编写
9.3.3 调试与运行程序
第十章 PWM定时器
10.1 S5PC100 PWM程序
10.1.1 PWM定时器概述
10.1.2 PWM定时器特点
10.1.3 PWM定时器的寄存器
10.1.4 PWM定时器实例
10.2 S5PC100看门狗定时器
10.2.1 S5PC100看门狗定时器概述
10.2.2 看门狗定时器寄存器
10.2.3 看门狗定时器程序编写
第十一章 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 S5PC100 A/D转换器
11.2.1 S5PC100 A/D转换器概述
11.2.2 S5PC100 A/D控制器寄存器
11.3 A/D转换器实例
11.3.1 电路连接
11.3.2 程序的编写
11.3.3 调试与运行结果
第十二章 实时时钟RTC
1.2.1 RTC介绍
1.2.2 RTC控制器
1.2.3 RTC控制器寄存器详解
1.2.4 RTC应用实例
第十三章 I2C总线
13.1 I2C总线
13.1.1 I2C总线介绍
13.1.2 I2C总线术语
13.1.3 I2C总线位传输
13.1.4 I2C总线数据传输
13.1.5 I2C总线寻址方式
13.1.6 快速和高速模式
13.2 I2C总线控制器
13.2.1 S5PC100下的I2C控制器介绍
13.2.2 I2C总线控制寄存器详解
13.3 I2C总线应用实例
13.3.1 电路原理分析
13.3.2 代码实现
第十四章 存储器接口
14.1 Flash ROM介绍
14.2 NOR Flash操作
14.2.1 AM29LV160D芯片介绍
14.2.2 AM29LV160D字编程操作
14.2.3 AM29LV160D扇区/块擦除操作
14.2.5 AM29LV160D与S5PC100的接口电路
14.2.6 AM29LV160D存储器的程序设计
14.3 NAND Flash操作
14.3.1 芯片介绍
14.3.2 读操作过程
14.3.3 擦除操作过程
14.3.4 写操作过程
14.4 S5PC100中的NAND Flash控制器的操作
14.4.1 S5PC100中的NAND Flash控制器概述
14.4.2 S5PC100中的NAND Flash控制器寄存器详解
14.5 S5PC100 NAND Flash接口电路与程序设计
14.5.1 K9F2G080U和S5PC100的接口电路
14.5.2 S5PC100控制K9F2G080U的程序设计
第15章 SPI接口
15.1 SPI总线协议理论
15.1.1 协议简介
15.1.2 协议内容
15.2 SPI控制器详解
15.2.1 S5PC100的SPI控制器简介
15.2.2 时钟源控制
15.2.3 寄存器详解
15.3 SPI接口应用实例
第16章 DMA控制器
16.1 PL330原理概述
16.1.1 DMAC简介
16.1.2 S5PC100下的DMAC模型
16.1.3 PL330概述
16.2 PL330详解
16.2.1 PL330指令集
16.2.2 相关寄存器详解
16.3 S5PC100 PL330实例
第17章 LCD接口技术
17.1 LCD控制器原理概述
17.1.1 LCD控制器介绍
17.1.2 S5PC100的LCD控制器介绍
17.1.3 S5PC100的LCD控制寄存器操作
17.1.4 LCD控制器寄存器
17.2 LCD控制器应用实例
第18章 CAMIF接口技术
18.1 OV9650介绍
18.1.1 芯片功能描述
18.1.2 OV9650物理参数
18.1.3 OV9650寄存器详解
18.2 SCCB总线
18.2.1 SCCB协议介绍
18.2.2 SCCB的总线编程
18.3 CAMIF接口详解
18.3.1 基于S5PC100的CAMIF接口介绍
18.3.2 S5PC100 CAMIF寄存器详解
18.3.3 CAMIF应用示例