第1章 嵌入式系统基础 1
1.1嵌入式系统概述 1
1.1.1嵌入式系统的定义 1
1.1.2嵌入式系统与PC 2
1.1.3嵌入式系统的现状与发展 2
1.2嵌入式系统的特点和应用 4
1.2.1嵌入式系统的特点 4
1.2.2嵌入式系统的应用 4
1.3嵌入式系统的组成 6
1.3.1嵌入式系统的硬件平台 6
1.3.2嵌入式操作系统 8
1.3.3典型嵌入式系统的组成结构 10
1.4嵌入式系统的学习 11
1.5实训 嵌入式产品技术讨论 11
1.6习题 12
第2章ARM体系结构 13
2.1嵌入式处理器内核 13
2.2 ARM系列处理器介绍 14
2.2.1 ARM7系列 14
2.2.2 ARM9系列 15
2.2.3 ARM9E系列 15
2.2.4 ARM 1 0E系列 16
2.2.5 SecurCore系列 16
2.2.6 StrongARM系列 16
2.2.7 XScale系列 17
2.3 ARM9微处理器 17
2.3.1 ARM9的结构特点 17
2.3.2 ARM9的工作模式 17
2.3.3 ARM9的流水线技术 18
2.4 ARM9的存储组织结构 19
2.4.1大端存储格式与小端存储格式 19
2.4.2 I/O端口的访问方式 19
2.4.3内部寄存器 20
2.5 ARM9的异常 24
2.5.1异常的种类 24
2.5.2异常的优先级 25
2.5.3异常的响应和返回 26
2.6实训 嵌入式技术小论文 26
2.7习题 27
第3章 嵌入式处理器指令系统 28
3.1 ARM指令分类及指令格式 28
3.1.1 ARM指令分类及一般格式 28
3.1.2 ARM指令中的操作数符号 29
3.1.3 ARM指令中的移位操作 30
3.2 ARM指令的寻址方式 31
3.2.1立即寻址 31
3.2.2寄存器寻址 32
3.2.3寄存器间接寻址 32
3.2.4基址加变址寻址 32
3.2.5相对寻址 32
3.2.6堆栈寻址 33
3.2.7多寄存器寻址 33
3.3 ARM指令集 34
3.3.1数据处理类指令 34
3.3.2程序状态寄存器访问指令 40
3.3.3分支指令 41
3.3.4加载/存储指令 43
3.3.5协处理器指令 46
3.3.6异常中断指令 48
3.4 Thumb指令集 48
3.4.1数据处理类指令 49
3.4.2分支指令 50
3.4.3加载/存储指令 50
3.4.4异常中断指令 51
3.5实训 μVision 3 IDE for ARM开发环境 52
3.6习题 57
第4章 嵌入式系统程序开发基础 58
4.1 ARM汇编器所支持的伪指令 58
4.1.1符号定义伪指令 58
4.1.2数据定义伪指令 60
4.1.3汇编控制伪指令 62
4.1.4宏指令 63
4.1.5其他常用的伪指令 64
4.2汇编语言的语句格式 68
4.2.1汇编语言程序中的常用符号 69
4.2.2汇编语言程序中的表达式 69
4.3 ARM汇编语言程序结构 72
4.3.1汇编语言的程序结构 72
4.3.2汇编语言的子程序调用 73
4.3.3汇编语言与C/C+++的混合编程 73
4.4 RealView MDK简介 75
4.5 ULINK2仿真器简介 76
4.6实训 77
4.6.1 ARM汇编指令实训 77
4.6.2 Thumb汇编指令实训 79
4.6.3 C语言编程实训 80
4.6.4 C语言与汇编语言的相互调用 82
4.7习题 84
第5章S3C2410系统电路及接口技术 85
5.1 SoC概述 85
5.2 S3C2410系统概述 85
5.3 S3C2410系统接口电路 86
5.3.1概述 86
5.3.2系统电源电路 88
5.3.3系统时钟 89
5.3.4复位电路 89
5.3.5 JTAG接口电路 90
5.3.6存储器电路 91
5.3.7串行接口电路 94
5.3.8以太网接口电路 95
5.3.9 USB接口电路 97
5.3.10 IIS接口电路 97
5.3.11 LCD接口电路 98
5.4实训 99
5.4.1 I/O接口实训 99
5.4.2串口通信实训 103
5.4.3中断实训 110
5.4.4键盘控制实训 119
5.4.5“看门狗”实训 125
5.5习题 128
第6章 嵌入式Linux操作系统 129
6.1嵌入式Linux简介 129
6.1.1 Linux概述 129
6.1.2 Linux的组成 130
6.1.3嵌入式Linux及其特点 130
6.2嵌入式Linux的体系结构 131
6.2.1 Linux系统内核结构 132
6.2.2 μClinux内存管理 134
6.2.3 μClinux内核结构 136
6.2.4内存保护 137
6.2.5 应用程序库 138
6.2.6文件系统的支持 138
6.3移植Linux内核到S3C2410平台 138
6.3.1内核移植简介 138
6.3.2内核移植方法 139
6.4构建嵌入式Linux的开发环境 140
6.4.1预备知识 141
6.4.2交叉开发环境介绍 142
6.4.3安装交叉开发工具 142
6.4.4主机交叉开发环境配置 144
6.5实训 147
6.5.1 Linux操作系统的安装与应用基础实训 147
6.5.2搭建嵌入式Linux开发环境 154
6.6习题 157
第7章 嵌入式系统的Boot Loader 158
7.1 Boot Loader概述 158
7.2 Boot Loader与嵌入式系统的关系 158
7.2.1 Boot Loader的操作模式 159
7.2.2 Boot Loader的总体设计 160
7.3 Boot Loader的应用 161
7.3.1 Boot Loader的种类 161
7.3.2 U-Boot工程简介 163
7.3.3 U-Boot编译 163
7.3.4 U-Boot的移植思路 166
7.3.5 U-Boot的烧写 167
7.3.6 U-Boot的常用命令 168
7.4实训 175
7.4.1烧写U-Boot实训 175
7.4.2 Linux内核编译与下载实训 177
7.5习题 180
第8章 嵌入式系统设计 181
8.1嵌入式系统设计概述 181
8.2嵌入式系统的设计方法 182
8.2.1嵌入式系统的设计步骤 182
8.2.2嵌入式系统的一般设计方法 183
8.2.3嵌入式系统的硬、软件协同设计技术 184
8.3 ARM微处理器芯片的选择 185
8.3.1选择ARM微处理器芯片应考虑的因素 186
8.3.2选择ARM芯片示例 188
8.4嵌入式系统设计实例 190
8.4.1车载信息系统的功能分析 190
8.4.2车载信息系统的设计方案 190
8.4.3车载系统硬件设计 191
8.4.4车载系统软件平台 193
8.5实训 195
8.5.1嵌入式产品总体设计 195
8.5.2车载系统IC卡子模块设计实训(选) 195
8.6习题 210
参考文献 211