目录 1
第一章 ATMEL微控制器系列 1
1.1 ATMEL微控制器简介 1
1.2 AT91系列微控制器特点 3
1.3 AT91系列微控制器结构 4
第二章 ARM嵌入式处理器体系结构 6
2.1 ARM处理器结构 6
2.1.1 ARM介绍 6
2.1.2 ARM7TDMI处理器核 7
2.1.3 ARM体系结构 9
2.1.4 框图、内核和功能图 10
2.1.5 ARMTDMI输入/输出信号 12
2.2 ARM编程模型 17
2.2.1 数据类型 17
2.2.2 处理器模式 17
2.2.3 处理器工作状态 18
2.2.4 寄存器组织 19
2.2.5 异常 24
2.2.6 存储器和存储器映射I/O 28
2.2.7 中断延迟 31
2.2.8 复位 31
2.3.3 寄存器移位寻址 32
2.3.2 立即寻址 32
2.3.1 寄存器寻址 32
2.3 ARM基本寻址方式 32
2.3.4 寄存器间接寻址 33
2.3.5 变址寻址 33
2.3.6 多寄存器寻址 34
2.3.7 堆栈寻址 34
2.3.8 块拷贝寻址 35
2.3.9 相对寻址 36
第三章 ARM指令集和汇编程序设计 37
3.1 ARM指令集 37
3.1.1 指令集编码 37
3.1.2 条件执行 38
3.1.3 指令分类说明 39
3.2 Thumb指令集 58
3.2.1 Thumb指令集与ARM指令集的区别 58
3.2.2 指令集编码 58
3.2.3 指令分类说明 59
3.3 汇编语言程序设计 73
3.3.1 预定义变量 73
3.3.2 伪指令和指示符 75
3.3.3 ARM汇编程序规范 77
3.3.4 ARM汇编程序设计 79
3.3.6 混合编程 87
3.3.5 宏定义和使用 87
第四章 AT91系列微控制器概览 94
4.1 AT91X40系列微控制器基本型 94
4.1.1 特点 94
4.1.2 总体结构 95
4.1.3 引脚配置 97
4.1.4 产品纵览 99
4.1.5 片内外围 105
4.2 带Flash的AT91X40系列器件 106
4.2.1 AT91FR40162 106
4.2.2 AT91FR4042 111
4.2.3 AT91FR4081 114
4.2.4 AT91F40816 118
4.3 AT91M42800A 120
4.3.1 特点 120
4.3.2 总体结构 121
4.3.3 引脚配置 124
4.3.4 产品纵览 128
4.3.5 片内外围 135
4.3.6 内部资源的用户接口 137
4.4 AT91M43300 146
4.4.1 特点 146
4.4.2 总体结构 147
4.4.3 引脚配置 150
4.5 AT91M63200 152
4.5.1 特点 152
4.5.2 总体结构 153
4.5.3 引脚配置 154
4.5.4 产品纵览 157
4.5.5 内部资源的用户接口 161
4.6 AT91M55800A 166
4.6.1 特点 166
4.6.2 总体结构 168
4.6.3 引脚配置 170
4.6.4 产品纵览 175
4.6.5 片内外围 180
4.6.6 内部资源的用户接口 182
第五章 AT91系列微控制器的内部资源 187
5.1 外部总线接口 187
5.2 中断控制器 209
5.3 并行口和串行口 220
5.3.1 并行口 220
5.3.2 串行口 230
5.3.3 串行外围接口SPI 247
5.3.4 多处理器接口MPI 263
5.4 定时器 267
5.4.1 定时器/计数器 267
5.4.2 看门狗定时器 286
5.4.3 实时时钟RTC 290
5.4.4 系统定时器ST 301
5.5 A/D和D/A转换器 307
5.5.1 A/D转换器 307
5.5.2 D/A转换器 314
5.6 电源管理 320
5.6.1 电源管理控制器PMC 320
5.6.2 先进电源管理控制器APMC 330
5.6.3 省电模块PS 343
5.7 特殊功能寄存器SF 347
第六章 ATMEL的ARM开发环境 351
6.1 AT91评估板 351
6.1.1 概述 351
6.1.2 评估板设置 352
6.1.3 评估板上软件 353
6.1.4 评估板上元器件 355
6.2 AT91集成函数库 356
6.2.1 AT91库的定义规则 356
6.2.2 AT91库的层次结构 358
6.2.3 AT91库的使用 360
6.3 AT91内部资源的库函数编程 365
6.3.1 并行口编程 365
6.3.2 串行口编程 368
6.3.3 定时器/计数器编程 372
6.3.4 A/D转换器编程 376
6.3.5 D/A转换器编程 379
6.3.6 先进中断控制器编程 383
6.4 AT91函数库 390
6.4.1 省电模块 390
6.4.2 SPI接口 393
6.4.3 EBI接口 394
6.4.4 I2C接口 394
7.1 ARM开发工具 397
7.1.1 ARM开发工具综述 397
第七章 ARM开发工具和开发流程 397
7.1.2 ARM SDT 398
7.1.3 ARM ADS 400
7.1.4 MULTI 2000 403
7.1.5 Nucleus UDB 407
7.1.6 visionCLICK/visionXD 407
7.1.7 Hitool for ARM 408
7.1.8 Embest IDE 409
7.1.9 BDI 1000/BDI 2000 410
7.1.10 Multi-ICE 411
7.1.11 JEENI仿真器 411
7.1.12 TRACE32-ICD 412
7.1.13 visionPROBE/visionICE Ⅱ 412
7.2 Hitool for ARM开发系统 413
7.2.1 ARM的开发方案 413
7.2.2 Hitool for ARM软件产品特征 414
7.2.3 Hitool for ARM功能及使用 415
7.3 嵌入式系统开发流程 428
7.4 Angel调试监控程序 432
7.4.1 Angel概述 432
7.4.2 Angel系统的组成 435
7.4.3 Angel系统的资源需求 436
7.4.4 Angel操作 437
7.4.5 Angel接口 438
7.4.6 Angel的通信结构 439
7.4.7 Angel调试协议 439
7.5 启动代码 441
8.1 MICETEK的AT91微控制器开发平台 448
8.1.1 EV40评估板的组成 448
第八章 AT91微控制器开发平台 448
8.1.2 评估板的各模块功能介绍 449
8.1.3 片选信号设置及外围地址空间分配 452
8.1.4 以太网接口程序设计 453
8.2 BMR的AT91微控制器开发平台 455
8.2.1 NetCARM7的结构 455
8.2.2 开发套件特点 456
8.2.3 NetCARM7开发板硬件资源 456
8.2.4 系统软件的移植 458
第九章 uClinux嵌入式操作系统开发平台 460
9.1 uClinux简介 460
9.2 uClinux源代码结构 465
9.3 Hitool for uClinux开发套件 465
第十章 ATMEL基于ARM的专用标准产品 480
10.1 Internet电器 480
10.2 无线数据通信 481
10.3 数码相机 482
10.4 高速无线通信 484
附录B AT91库函数说明 487
B.1 并行I/O接口 487
附录A ATMEL公司带ARM核的芯片 487
B.2 串行口USART 488
B.3 定时器/计数器 490
B.4 A/D转换器 492
B.5 D/A转换器 494
B.6 先进中断控制器 495
B.7 实时时钟计数器 496
B.8 省电模块 501
B.9 SPI接口 502
B.10 EBI接口 503
B.11 I2C接口 503
6.3.7 实时时钟计数器编程 555