第1章 嵌入式系统概论 1
1.1嵌入式系统 1
嵌入式系统的定义 1
嵌入式系统的组成 2
嵌入式系统的特点 2
1.2嵌入式处理器 3
嵌入式处理器的分类 3
ARM微处理器 5
1.3嵌入式操作系统 8
操作系统的概念 8
嵌入式Linux 8
μC/OS- Ⅱ 9
Windows CE 9
VxWorks 9
IAR PowerPac 10
习题 10
第2章 ARM体系结构 11
2.1ARM7TDMI程序员模型 11
ARM处理器的体系结构 11
ARM处理器核 11
ARM7TDMI内核 12
2.2ARM处理器的工作状态和工作模式 13
ARM处理器的工作状态 13
ARM处理器的工作模式 14
2.3ARM处理器的寄存器组织 15
ARM状态下的寄存器组织 15
Thumb状态下的寄存器组织 17
程序状态寄存器 18
2.4ARM处理器的存储器组织 20
2.5异常 21
ARM体系结构所支持的异常类型 21
异常向量 23
异常优先级 23
对异常的响应 23
从异常返回 24
应用程序中的异常处理 25
习题 25
第3章 ARM指令系统 27
3.1ARM处理器的指令格式 27
ARM指令集的特点 27
ARM指令的格式 27
3.2ARM指令的寻址方式 28
立即寻址 28
寄存器寻址 29
寄存器间接寻址 29
基址变址寻址 29
多寄存器寻址 30
寄存器移位寻址 30
相对寻址 31
堆栈寻址 31
3.3ARM指令集 32
加载/存储指令 32
数据处理指令 34
乘法指令与乘加指令 38
跳转指令 40
程序状态寄存器访问指令 41
协处理器指令 42
异常中断指令 43
3.4Thumb指令集 44
3.5伪指令 44
ARM伪指令 45
数据定义伪指令 45
符号定义伪指令 46
段定义伪指令 47
模块控制伪指令 49
汇编控制伪指令 49
宏处理伪指令 50
3.6ARM汇编语言的规范 51
语句的格式 51
符号 51
常量和变量 52
3.7ARM汇编语言的程序结构 52
汇编语言的程序结构 52
一个简单的ARM汇编语言程序 52
3.8ARM程序设计举例 53
分支程序 53
循环程序 54
子程序调用 54
查表法 55
汇编语言与C/C++的混合编程 55
3.9用ARM汇编语言编写系统启动程序 57
编写启动程序的一般规则 57
IAR EWARM软件包给出的一般启动程序 58
习题 61
第4章 LPC2400系列处理器原理 63
4.1LPC2400系列处理器简介 63
LPC2400系列处理器特性 63
LPC2400系列处理器结构 64
4.2处理器引脚配置 64
引脚配置 64
引脚连接模块 80
引脚连接模块的使用举例 82
4.3存储器管理 83
存储器映射 83
存储器加速模块 89
外部存储器控制器 92
4.4系统控制模块 96
系统控制和状态寄存器 96
外部中断 97
4.5时钟和功率控制 100
晶体振荡器 100
锁相环(PLL) 102
时钟分频 104
功率控制 106
时钟和功率控制举例 108
4.6向量中断控制器 110
LPC2400中断特性 110
功能概述 110
中断控制器结构 111
寄存器描述 112
中断源 117
vIC使用注意事项 118
应用举例 118
4.7LPC2400最小系统 121
习题 122
第5章 LPC2400系列处理器接口技术 123
5.1GPIO接口 123
特性 123
应用场合 124
寄存器描述 124
使用注意事项 133
应用举例 134
5.2定时器 136
特性 136
应用场合 136
定时器结构 136
引脚功能描述 136
寄存器功能描述 138
应用举例 143
5.3看门狗 145
功能描述 145
看门狗的结构 146
寄存器功能描述 146
应用举例 148
5.4实时时钟 149
功能描述 149
实时时钟的结构 150
寄存器功能描述 150
预分频器 156
电池存储器 158
使用注意事项 158
应用举例 159
5.5UART.串口通信 161
概述 161
UART的结构 162
寄存器功能描述 163
基本操作 170
应用举例 171
5.6数模转换器和模数转换器 173
DAC的特性 173
DAC引脚和寄存器描述 174
DAC基本操作 174
ADC的特性 174
ADC引脚描述 175
ADC寄存器描述 175
ADC基本操作 178
应用举例 178
5.7I2C接口 180
12C总线基本原理 180
12C接口概述 181
I2C操作模式 182
12C接口寄存器描述 185
应用举例 193
5.8以太网接口 196
概述 196
结构和引脚描述 196
寄存器描述 198
应用举例 215
5.9其他外设接口 219
GPDMA控制器 219
SPI接口 221
CAN控制器 223
PWM接口 226
I2S接口 230
USB接口 232
SD/MMC卡接口 239
LCD控制器 241
习题 244
第6章 IAR集成开发环境 245
6.1IAR EWARM集成开发环境与配套仿真器 245
IAR EWARM软件的特点 245
IAR J-Link仿真器简介 249
6.2工程的创建、编译和连接 250
在IAR EWARM中生成新项目 250
在IAR EWARM中编译项目 253
在IAR EWARM中连接项目 254
6.3C-SPY调试器 255
习题 260
第7章 嵌入式应用开发实例 261
7.1基于LPC2400的uCLinux开发平台配置 261
uCLinux操作系统概述 261
建立uCLinux开发环境 262
编译uCLinux内核 263
内核的加载运行 264
7.2在uCLinux下开发应用程序 264
串行通信 265
socket编程 269
添加用户应用程序到uCLinux 276
7.3嵌入式产品开发实例:条码称 279
嵌入式系统设计简介 279
应用背景 279
系统简介 279
芯片选型 280
硬件原理设计 281
终端软件设计 287
7.4嵌入式产品开发实例:野外数据采集器 290
应用背景 290
系统简介 290
芯片选型 291
硬件原理设计 292
参考文献 297