第1章 概述
1.1 计算机的历史
1.2 计算机的应用
1.3 计算机的发展
1.4 单片微型计算机概述
1.5 ARM简介
1.5.1 ARM的产品系列
1.5.2 ARM微处理器的应用选型
1.5.3 ADUC702X的主要特点
第2章 计算机的组成与数据格式
2.1 计算机的硬件系统
2.2 计算机的软件系统
2.3 计算机的相关术语
2.4 计算机的性能评测
2.5 数制与运算
2.5.1 数制的基本概念
2.5.2 数制之间的转换
2.5.3 各种信息在计算机内的表示
2.5.4 计算机的运算基础
第3章 ARM7TDMI内核
3.1 结构、功能与信号
3.2 编程模式
3.3 操作模式选择
3.4 寄存器
3.5 异常
3.5.1 FIQ
3.5.2 IRQ
3.5.3 异常中断
3.5.4 软件中断
3.5.5 无定义的指令陷阱
3.5.6 向量总结
3.5.7 异常优先级
3.5.8 中断响应时间
3.6 复位
第4章 ADUC702X系列的概况与存储器结构
4.1 ADUC702X系列的主要型号
4.2 ADUC702X系列的封装与引脚
4.3 存储器结构
4.3.1 FLASH/EE存储器
4.3.2 SRAM
4.3.3 存储器映像寄存器
4.4 非易失性FLASH/EE存储器
4.4.1 FLASH/EE存储器的可靠性
4.4.2 FLASH/EE存储器的编程
4.5 从SRAM和FLASH/EE存储器中执行程序的耗时
4.6 复位与存储器重新映射
4.7 外部储存器接口
第5章 数字外设与接口
5.1 PWM
5.1.1 40根引脚封装器件
5.1.2 PWM模块的说明
5.1.3 输出控制单元
5.1.4 门控驱动单元
5.1.5 关闭PWM系统
5.1.6 PWM系统的存储器映像寄存器
5.2 GPIO(通用I/O口)
5.3 串口多路器
5.3.1 UART串口
5.3.2 可网络寻址的UART模式
5.4 SPI串口
5.5 I2C兼容接口
5.5.1 I2C串口时钟的产生
5.5.2 从机地址
5.5.3 I2C串口寄存器
5.6 可编程逻辑门阵列(PLA)
第6章 模拟外设与接口
6.1 ADC(模-数转换器)
6.1.1 转移函数
6.1.2 典型操作
6.1.3 MMR接口
6.1.4 转换操作
6.1.5 驱动模拟输入端
6.1.6 校准
6.1.7 温度传感器
6.1.8 能隙参考电源
6.2 DAC(数-模转换器)
6.3 电源监视器(PSM)
6.4 比较器
6.4.1 迟滞性
6.4.2 比较器接口
第7章 定时、中断及其他控制逻辑
7.1 时钟系统
7.1.1 外部石英晶体振荡器
7.1.2 外部时钟的选择
7.2 功耗控制
7.3 定时器
7.3.1 定时器0(RTOS定时器)
7.3.2 定时器1(通用定时器)
7.3.3 定时器2(闹钟定时器)
7.3.4 定时器3(看门狗定时器)
7.4 外部内存接口
7.5 中断系统
7.5.1 IRQ
7.5.2 FIQ
7.5.3 可编程中断
第8章 硬件系统设计
8.1 电源
8.1.1 IOVDD供电电源的灵敏度
8.1.2 线性稳压电源
8.1.3 接地和PCB各层的布置
8.2 时钟振荡器
8.3 上电复位操作
8.4 硬件系统的典型设计
第9章 ADUC702X的开发工具
9.1 概述
9.2 EWARM集成开发环境及其配套仿真器
9.2.1 EWARM简介
9.2.2 在EWARM 中生成一个新项目
9.2.3 程序的编译和连接
9.2.4 用C-SPY 调试应用程序
9.2.5 EWARM FLASH LOADER开发指南
9.3 ARM ADS集成开发环境
9.3.1 命令行开发工具
9.3.2 ARM运行时库
9.3.3 GUI开发环境(CODEWARRIOR和AXD)
9.3.4 实用程序
9.3.5 ADS支持的软件
9.3.6 使用ADS创建工程
9.3.7 使用命令行工具编译应用程序
9.3.8 用AXD进行代码调试
第10章 ADUC702X的应用实例
10.1 微型12导心电图机
10.1.1 硬件设计
10.1.2 心电图机嵌入式系统的软件开发
10.1.3 心电图机PC辅助软件的开发
10.1.4 心电信号的数据处理
10.2 ΜC/OS-Ⅱ的移植
10.2.1 ΜC/OS-Ⅱ到ARM7内核的移植
10.2.2 ADUC7026针对移植的特殊设计
10.2.3 移植的测试和实现
10.3 基于ADUC7026与RTI8019AS的网络数据采集系统
10.3.1 系统硬件设计
10.3.2 软件设计
10.3.3 验证方法及结论
10.4 多通道IP电参数测量仪
10.4.1 硬件部分
10.4.2 软件部分
10.4.3 实验数据
10.4.4 小结
附录A ARM7TDMI(-S)指令集及编程
A.1 ARM 处理器寻址方式
A.1.1 寄存器寻址
A.1.2 立即寻址
A.1.3 寄存器偏移寻址
A.1.4 寄存器间接寻址
A.1.5 基址寻址
A.1.6 多寄存器寻址
A.1.7 堆栈寻址
A.1.8 块复制寻址
A.1.9 相对寻址
A.2 ARM指令集
A.2.1 指令格式
A.2.2 ARM 存储器访问指令
A.2.3 ARM 数据处理指令
A.2.4 ARM 跳转指令
A.2.5 ARM 协处理器指令
A.2.6 ARM 杂项指令
A.2.7 ARM 伪指令
A.3 THUMB 指令集
A.3.1 THUMB 指令集与ARM 指令集的区别
A.3.2 THUMB 存储器访问指令
A.3.3 THUMB 数据处理指令
A.4 伪指令
A.4.1 符号定义伪指令
A.4.2 数据定义伪指令
A.4.3 报告伪指令
A.4.4 汇编控制伪指令
A.4.5 杂项伪指令
A.4.6 ARM 伪指令
A.4.7 THUMB 伪指令
A.5 ARM 汇编程序设计
A.5.1 文件格式
A.5.2 ARM 汇编的一些规范
A.5.3 子程序的调用
A.5.4 数据比较跳转
A.5.5 循环
A.5.6 数据块复制
A.5.7 栈操作
A.5.8 特殊寄存器定义及应用
A.5.9 查表操作
A.5.10 长跳转
A.5.11 对信号量的支持
A.5.12 伪指令使用
A.5.13 一个完整的例子
A.5.14 外设控制
A.5.15 三级流水线介绍
A.6 C与汇编混合编程
A.6.1 内嵌汇编
A.6.2 内嵌汇编的指令用法
A.6.3 内嵌汇编器与ARMASM 汇编器的差异
A.6.4 内嵌汇编注意事项
A.6.5 访问全局变量
A.6.6 C程序与汇编程序相互调用
A.6.7 C 程序调用汇编程序
A.6.8 汇编程序调用C程序
A.7 ARM指令集列表
A.8 THUMB 指令集列表
A.9 汇编预定义变量及伪指令
A.9.1 预定义的寄存器和协处理器名
A.9.2 内置变量列表
A.9.3 CPSR 和SPSR 分配图
参考文献