第1章 概述 1
1.1计算机的历史 1
1.2计算机的应用 3
1.3计算机的发展 5
1.4单片微型计算机概述 6
1.5 ARM简介 8
ARM的产品系列 8
ARM微处理器的应用选型 9
ADuC702x的主要特点 10
第2章 计算机的组成与数据格式 11
2.1计算机的硬件系统 11
2.2计算机的软件系统 13
2.3计算机的相关术语 14
2.4计算机的性能评测 15
2.5数制与运算 16
数制的基本概念 16
数制之间的转换 17
各种信息在计算机内的表示 17
计算机的运算基础 21
第3章 ARM7TDMI内核 23
3.1结构、功能与信号 24
3.2编程模式 27
3.3操作模式选择 28
3.4寄存器 29
3.5异常 31
FIQ 31
IRQ 31
异常中断 31
软件中断 32
无定义的指令陷阱 32
向量总结 33
异常优先级 33
中断响应时间 34
3.6复位 34
第4章 ADuC702x系列的概况与存储器结构 35
4.1 ADuC702x系列的主要型号 36
4.2 ADuC702x系列的封装与引脚 36
4.3存储器结构 50
Flash/EE存储器 51
SRAM 51
存储器映像寄存器 51
4.4非易失性Flash/EE存储器 58
Flash/EE存储器的可靠性 58
Flash/EE存储器的编程 58
4.5从SRAM和Flash/EE存储器中执行程序的耗时 62
4.6复位与存储器重新映射 63
4.7外部储存器接口 65
第5章 数字外设与接口 69
5.1 PWM 69
40根引脚封装器件 70
PWM模块的说明 70
输出控制单元 74
门控驱动单元 76
关闭PWM系统 76
PWM系统的存储器映像寄存器 77
5.2 GPIO(通用I/O口) 79
5.3串口多路器 83
UART串口 83
可网络寻址的UART模式 89
5.4 SPI串口 90
5.5 I2C兼容接口 93
I2C串口时钟的产生 94
从机地址 94
I2C串口寄存器 94
5.6可编程逻辑门阵列(PLA) 99
第6章 模拟外设与接口 105
6.1 ADC模-数转换器) 105
转移函数 105
典型操作 106
MMR接口 108
转换操作 112
驱动模拟输入端 114
校准 115
温度传感器 115
能隙参考电源 116
6.2 DAC(数-模转换器) 116
6.3电源监视器(PSM) 118
6.4比较器 119
迟滞性 119
比较器接口 119
第7章 定时、中断及其他控制逻辑 121
7.1时钟系统 121
外部石英晶体振荡器 121
外部时钟的选择 122
7.2功耗控制 122
7.3定时器 125
定时器0(RTOS定时器) 125
定时器1(通用定时器) 126
定时器2(闹钟定时器) 128
定时器3(看门狗定时器) 130
7.4外部内存接口 132
7.5中断系统 136
IRQ 137
FIQ 138
可编程中断 139
第8章 硬件系统设计 140
8.1电源 140
IOV DD供电电源的灵敏度 141
线性稳压电源 141
接地和PCB各层的布置 142
8.2时钟振荡器 143
8.3上电复位操作 144
8.4硬件系统的典型设计 144
第9章 ADuC702x的开发工具 146
9.1概述 146
9.2 EWARM集成开发环境及其配套仿真器 147
EWARM简介 147
在EWARM中生成一个新项目 154
程序的编译和连接 156
用C-SPY调试应用程序 159
EWARM Flash Loader开发指南 165
9.3 ARM ADS集成开发环境 172
命令行开发工具 172
ARM运行时库 182
GUI开发环境(CodeWarrior和AXD) 184
实用程序 186
ADS支持的软件 187
使用ADS创建工程 187
使用命令行工具编译应用程序 194
用AXD进行代码调试 195
第10章 ADuC702x的应用实例 199
10.1微型12导心电图机 199
硬件设计 199
心电图机嵌入式系统的软件开发 208
心电图机PC辅助软件的开发 215
心电信号的数据处理 220
10.2 μC/OS-Ⅱ的移植 225
μC/OS-Ⅱ到ARM7内核的移植 225
ADuC7026针对移植的特殊设计 226
移植的测试和实现 229
10.3基于ADuC7026与RTI8019AS的网络数据采集系统 230
系统硬件设计 230
软件设计 231
验证方法及结论 233
10.4多通道IP电参数测量仪 233
硬件部分 233
软件部分 235
实验数据 237
小结 237
附录A ARM7TDMI-S)指令集及编程 238
A.1 ARM处理器寻址方式 239
寄存器寻址 239
立即寻址 239
寄存器偏移寻址 240
寄存器间接寻址 240
基址寻址 240
多寄存器寻址 241
堆栈寻址 241
块复制寻址 241
相对寻址 242
A.2 ARM指令集 242
指令格式 242
ARM存储器访问指令 244
ARM数据处理指令 250
ARM跳转指令 256
ARM协处理器指令 256
ARM杂项指令 259
ARM伪指令 261
A.3 Thumb指令集 264
Thumb指令集与ARM指令集的区别 264
Thumb存储器访问指令 264
Thumb数据处理指令 268
A.4伪指令 278
符号定义伪指令 278
数据定义伪指令 281
报告伪指令 286
汇编控制伪指令 288
杂项伪指令 290
ARM伪指令 296
Thumb伪指令 297
A.5 ARM汇编程序设计 297
文件格式 297
ARM汇编的一些规范 298
子程序的调用 301
数据比较跳转 302
循环 302
数据块复制 303
栈操作 303
特殊寄存器定义及应用 303
查表操作 304
长跳转 304
对信号量的支持 304
伪指令使用 304
一个完整的例子 305
外设控制 305
三级流水线介绍 305
A.6 C与汇编混合编程 306
内嵌汇编 306
内嵌汇编的指令用法 308
内嵌汇编器与armasm汇编器的差异 309
内嵌汇编注意事项 309
访问全局变量 310
C程序与汇编程序相互调用 311
C程序调用汇编程序 312
汇编程序调用C程序 313
A.7 ARM指令集列表 314
A.8 Thumb指令集列表 316
A.9汇编预定义变量及伪指令 318
预定义的寄存器和协处理器名 318
内置变量列表 319
CPSR和SPSR分配图 323
参考文献 324