第1章 嵌入式系统基础知识 1
1.1嵌入式系统概述 2
1.1.1嵌入式系统简介 2
1.1.2嵌入式系统的特点 2
1.1.3嵌入式系统的发展 3
1.2嵌入式系统的组成 5
1.2.1嵌入式系统硬件组成 6
1.2.2嵌入式系统软件组成 7
1.3嵌入式操作系统举例 7
1.3.1商业版嵌入式操作系统 8
1.3.2开源版嵌入式操作系统 8
1.4嵌入式系统开发概述 9
1.5本章小结 17
1.6本章习题 17
第2章 ARM技术概述 18
2.1 ARM体系结构的技术特征及发展 19
2.1.1 ARM公司简介 19
2.1.2 ARM技术特征 20
2.1.3 ARM体系结构的发展 20
2.2 ARM微处理器简介 22
2.2.1 ARM7处理器系列 23
2.2.2 ARM9处理器系列 24
2.2.3 ARM9E处理器系列 24
2.2.4 ARM 11处理器系列 25
2.2.5 SecurCore处理器系列 25
2.2.6 StrongARM和Xscale处理器系列 25
2.2.7 MPCore处理器系列 26
2.2.8 Cortex处理器系列 26
2.3 ARM微处理器结构 29
2.4 ARM微处理器的应用选型 29
2.4.1 ARM芯片选择的一般原则 29
2.4.2选择一款适合高职、高专教学的ARM芯片 30
2.5 ARM920T内部功能及特点 34
2.6数据类型 35
2.6.1 ARM的基本数据类型 35
2.6.2浮点数据类型 36
2.6.3存储器大/小端 36
2.7 ARM920T内核工作模式 38
2.8 ARM920T存储系统 39
2.8.1协处理器(CP 15) 40
2.8.2存储管理单元(MMU) 41
2.8.3高速缓冲存储器(Cache) 41
2.9流水线 42
2.9.1流水线的概念与原理 42
2.9.2流水线的分类 43
2.9.3影响流水线性能的因素 44
2.10寄存器组织 45
2.11通用寄存器 46
2.12程序状态寄存器 48
2.13三星S3C2410X处理器介绍 50
2.14本章小结 52
2.15 本章习题 52
第3章 ARM微处理器的指令系统 53
3.1 ARM处理器的寻址方式 54
3.1.1数据处理指令寻址方式 54
3.1.2内存访问指令寻址方式 55
3.2 ARM处理器的指令集 58
3.2.1数据操作指令 58
3.2.2乘法指令 65
3.2.3 Load/Store指令 68
3.2.4跳转指令 74
3.2.5状态操作指令 77
3.2.6协处理器指令 79
3.2.7异常产生指令 81
3.3本章小结 83
3.4本章习题 83
第4章 ARM汇编语言程序设计 85
4.1 ARM汇编器支持的伪操作 86
4.1.1伪操作概述 86
4.1.2符号定义伪操作 86
4.1.3数据定义(Data Defiinition)伪操作 89
4.1.4汇编控制伪操作 96
4.1.5杂项伪操作 100
4.2 ARM汇编器支持的伪指令 108
4.3 ARM汇编语言的语句格式 111
4.3.1 ARM汇编语言中的符号 111
4.3.2 ARM汇编语言中的表达式和运算符 114
4.3.3 ARM汇编语言内置的变量 120
4.4 ARM汇编语言的程序结构 121
4.4.1汇编语言的程序格式 121
4.4.2汇编语言子程序调用 122
4.4.3过程调用标准AAPCS 122
4.4.4 scatter文件的使用 124
4.4.5汇编语言程序设计举例 126
4.5汇编语言与C语言的混合编程 128
4.5.1内联汇编 129
4.5.2嵌入型汇编 131
4.5.3汇编代码访问C全局变量 133
4.5.4混合编程调用举例 134
4.6本章小结 135
4.7本章习题 135
第5章 ARM RealView MDK集成开发环境 136
5.1 RealView MDK环境介绍 137
5.2 ULINK2仿真器简介 138
5.3 RealView MDK的使用 139
5.3.1选择工具集 139
5.3.2创建工程并选择处理器 139
5.3.3建立一个新的源文件 141
5.3.4工程中文件的加入 141
5.3.5工程基本配置 141
5.3.6工程的编译链接 149
5.3.7工程的调试 150
5.3.8映像文件下载 152
5.4本章小结 152
5.5本章习题 153
第6章 GPIO编程 154
6.1 GPIO功能介绍 155
6.2 S3C2410X芯片的GPIO控制器详解 155
6.2.1 S3C2410X GPIO常用寄存器分类 156
6.2.2 S3C2410X I/O口常用寄存器详解 156
6.3 S3C2410X GPIO的应用 164
6.3.1电路连接 164
6.3.2寄存器设置 165
6.3.3程序的编写 165
6.4本章小结 166
6.5本章习题 167
第7章 ARM异常中断处理及编程 168
7.1 ARM异常中断处理概述 169
7.2 ARM体系异常种类 170
7.3 ARM异常的优先级 174
7.4 ARM处理器模式和异常 175
7.5 ARM异常响应和处理程序返回 175
7.5.1中断响应的概念 175
7.5.2 ARM异常响应流程 176
7.5.3从异常处理程序中返回 178
7.6 ARM应用系统中异常中断处理程序的安装 179
7.6.1使用汇编语言安装异常处理程序 179
7.6.2使用C语言编写安装处理函数 180
7.7 ARM的SWI异常中断处理程序设计 181
7.8 FIQ和IRQ异常中断程序设计 184
7.9基于ARM9芯片S3C2410X异常中断程序设计 187
7.9.1 S3C2410X中断机制分析 187
7.9.2 S3C2410X中断处理程序实例 192
7.10本章小结 194
7.11本章习题 194
第8章 串行通信接口 195
8.1串行通信 196
8.1.1串行通信与并行通信的概念 196
8.1.2异步串行方式的特点 196
8.1.3异步串行方式的数据格式 196
8.1.4同步串行方式的特点 197
8.1.5同步串行方式的数据格式 197
8.1.6比特率、比特率因子与位周期 197
8.1.7 RS-232C串口规范 198
8.2 S3C2410X异步串行通信 200
8.2.1 S3C2410X串口控制器概述 200
8.2.2 S3C2410X串口控制器寄存器详解 201
8.3接口电路与程序设计 204
8.3.1电路连接 204
8.3.2寄存器设置 205
8.3.3程序的编写 205
8.3.4调试与运行结果 207
8.4本章小结 209
8.5本章习题 209
第9章 存储器接口 210
9.1 Flash ROM介绍 211
9.2 NOR Flash操作 213
9.2.1 SST39VF160芯片介绍 213
9.2.2 SST39VF160字编程操作 215
9.2.3 SST39VF160扇区/块擦除操作 215
9.2.4 SST39VF160芯片擦除操作 216
9.2.5 SST39VF160与S3C2410X的接口电路 216
9.2.6 SST39VF160存储器的程序设计 217
9.3 NAND Flash操作 219
9.3.1 K9F1280芯片介绍 219
9.3.2读操作过程 220
9.3.3擦除操作过程 221
9.3.4写操作过程 222
9.4 S3C2410X中NAND Flash控制器的操作 223
9.4.1 S3C2410X NAND Flash控制器概述 223
9.4.2 S3C2410X NAND Flash控制器寄存器详解 224
9.5 S3C2410X NAND Flash接口电路与程序设计 225
9.5.1 K9F1208和S3C2410X的接口电路 225
9.5.2 S3C2410X NAND Flash寄存器设置 226
9.5.3 S3C2410X控制K9F 1208的程序设计 226
9.6 SDRAM芯片介绍 230
9.6.1 SDRAM介绍 230
9.6.2 HY57V561620的结构 232
9.6.3接口电路 234
9.6.4寄存器设置 235
9.7本章小结 239
9.8本章习题 239
第10章 定时器 240
10.1 S3C2410X PWM定时器 241
10.1.1 PWM定时器概述 241
10.1.2 PWM定时器的寄存器 243
10.1.3 PWM定时器操作示例 247
10.2 S3C2410X看门狗定时器 248
10.2.1 S3C2410X看门狗定时器概述 248
10.2.2看门狗定时器寄存器 249
10.2.3看门狗定时器程序编写 250
10.3本章小结 253
10.4本章习题 253
第11章 A/D转换器 254
11.1 A/D转换器原理 255
11.1.1 A/D转换基础 255
11.1.2 A/D转换的技术指标 255
11.1.3 A/D转换器类型 256
11.1.4 A/D转换的一般步骤 261
11.2 S3C2410X A/D转换器 261
11.2.1 S3C2410X A/D转换器概述 261
11.2.2 S3C2410X A/D控制器寄存器 262
11.3 A/D转换器应用举例 264
11.3.1电路连接 264
11.3.2程序的编写 264
11.3.3调试与运行结果 265
11.4本章小结 266
11.5本章习题 266
第12章 LCD接口设计 267
12.1 LCD控制器 268
12.1.1 LCD控制器介绍 268
12.1.2 S3C2410X LCD控制器介绍 268
12.1.3 S3C2410X LCD控制器操作 270
12.1.4 LCD控制器寄存器 272
12.2接口电路与程序设计 277
12.2.1 S3C2410X LCD电路连接 277
12.2.2程序的编写 278
12.2.3调试与运行结果 281
12.3本章小结 282
12.4本章习题 283
第13章 温度监测仪开发实例 284
13.1项目功能描述 285
13.2系统组成 285
13.3接口电路图设计 285
13.4程序设计 287
13.5运行结果 289
13.6本章小结 290
第14章 Cortex-A8和Cortex-MO简介 291
14.1 Cortex-A8处理器 292
14.1.1 Cortex-A8简介 292
14.1.2 Cortex-A8架构特性 293
14.1.3 S5PC100介绍 294
14.1.4 FS S5PC100介绍 296
14.2 Cortex-MO处理器 298
14.2.1 Cortex-MO介绍 298
14.2.2 ARM Cortex-M技术 299
14.2.3基于Cortex-MO的处理器 299
14.2.4 FS 11C14物联网教学开发板 301
14.3本章小结 303