标题：嵌入式系统与应用
基本信息
书名：  嵌入式系统与应用嵌入式系统与应用
书号：7-113-12194
作者：周鸣争 等
定价：33.00元
出版日期：2011年3月
套系名称：高等学校计算机类课程应用型人才培养规划教材
版次：1版1次　
开本：16开
出版单位：中国铁道出版社
内容简介
本书以当前主流嵌入式系统技术为背景，以嵌入式系统原理为基础，以嵌入式系统开发体系为构架，针对嵌入式系统领域的最新发展趋势与嵌入式应用型人才知识结构的需求，总结编者多年的教学和科研经验，系统全面地介绍了嵌入式系统的基本概念、软硬件的基本体系结构、软硬件设计方法、相关开发工具及应用，同时配有相应的实验指导方便读者开发实践。通过本书的学习，不但可以使读者掌握使用工具开发嵌入式软硬件，具备较为实用的技能，而且帮助读者从总体的角度系统掌握嵌入式系统基本知识，选择适当的技术与方法，全面规划和设计嵌入式系统。
本书可作为高等学校计算机及相关信息专业“嵌入式系统”课程教材，同时也可供嵌入式产品开发的工程技术人员自学与参考使用。[1]
图书目录
第1章  嵌入式系统概述 1
1.1  嵌入式系统的概念 1
1.1.1  嵌入式系统的发展历程 2
1.1.2  嵌入式系统的定义 4
1.1.3  嵌入式系统的主要特征 5
1.1.4  嵌入式系统与PC的区别 6
1.2  嵌入式系统的组成 6
1.2.1  嵌入式硬件组成 6
1.2.2  嵌入式软件组成 9
1.3  嵌入式系统的类型 13
1.3.1  缩减PC系统 13
1.3.2  高端嵌入式系统 13
1.3.3  单片机系统 14
1.4  嵌入式系统的应用领域与发展趋势 14
1.4.1  嵌入式系统的应用领域 14
1.4.2  嵌入式系统的发展趋势 15
本章小结 16
习题 16
第2章  嵌入式系统的开发模式与方法 17
2.1  嵌入式系统的相关知识 18
2.1.1  存储器管理单元 18
2.1.2  板级支持包 18
2.1.3  Bootloader与OSLoader 19
2.1.4  ICE与ICD 19
2.1.5  编译器与交叉编译器 20
2.1.6  JTAG 20
2.1.7  模拟器与仿真器 21
2.2  嵌入式系统的开发模式 22
2.2.1  面向硬件的开发模式 22
2.2.2  面向操作系统的开发模式 22
2.3  嵌入式系统的设计方法 23
2.3.1  嵌入式系统设计方法 23
2.3.2  嵌入式系统编程 26
2.3.3  嵌入式系统测试 27
2.3.4  嵌入式软件的复用 29
2.3.5  嵌入式软件开发环境 29
本章小结 34
习题 34
第3章  ARM微处理器体系结构 35
3.1  ARM概述 36
3.2  ARM的版本 36
3.3  ARM微处理器系列 41
3.4  ARM微处理器结构 44
3.4.1  ARM微处理器的工作状态 44
3.4.2  ARM微处理器的工作模式 44
3.4.3  ARM微处理器的寄存器组织 45
3.4.4  ARM微处理器的存储器格式 50
3.4.5  ARM微处理器的异常中断 51
3.5  基于ARM9的S3C2410AX微处理器 55
本章小结 59
习题 59
第4章  ARM指令系统 60
4.1  ARM指令概述 61
4.1.1  ARM指令的分类 61
4.1.2  ARM指令的条件域 62
4.2  ARM微处理器的寻址方式 63
4.2.1  立即数寻址 63
4.2.2  寄存器寻址 63
4.2.3  寄存器移位寻址 64
4.2.4  寄存器间接寻址 64
4.2.5  寄存器基址寻址 65
4.2.6  多寄存器寻址 65
4.2.7  相对寻址 66
4.2.8  堆栈寻址 66
4.2.9  块拷贝寻址 66
4.3  ARM指令集 66
4.3.1  ARM指令的基本格式 67
4.3.2  ARM指令集的内容 68
4.4  Thumb指令集 79
4.4.1  Thumb指令集的内容 80
4.4.2  Thumb指令集与ARM指令集的区别 88
本章小结 88
习题 89
第5章  ARM应用软件开发环境 90
5.1  RealView MDK集成开发环境 91
5.1.1  安装与启动 91
5.1.2  工程项目的管理 91
5.1.3  工程项目的配置 94
5.1.4  编译 95
5.1.5  仿真调试 95
5.2  汇编语言编程 97
5.2.1  汇编语言程序中常用的符号 97
5.2.2  汇编语言程序中的表达式和运算符 98
5.2.3  ARM汇编器所支持的伪指令 100
5.2.4  汇编语言的程序结构 110
5.3  嵌入式C语言编程 113
5.4  汇编语言与C/C++的混合编程 113
5.4.1  在C/C++代码中嵌入汇编指令 114
5.4.2  在汇编程序和C/C++程序之间进行变量的互访 117
5.4.3  汇编程序、C/C++程序间的相互调用 118
5.5  RealView MDK环境下ARM程序开发举例 121
本章小结 123
习题 123
第6章  应用接口设计 124
6.1  嵌入式微处理器系统核心的硬件设计 125
6.1.1  芯片选择 125
6.1.2  时钟与电源管理 126
6.1.3  中断系统 133
6.2  存储器接口 141
6.2.1  S3C2410A的存储器组织 141
6.2.2  S3C2410A的SDRAM存储器接口 147
6.2.3  S3C2410A的Nand Flash存储器接口 149
6.2.4  S3C2410A的Nor Flash存储器接口 152
6.3  通用I/O接口 153
6.3.1  S3C2410A的通用I/O接口 154
6.3.2  通用I/O接口相关的寄存器 154
6.3.3  通用I/O接口设计 163
6.3.4  通用I/O接口驱动程序 164
6.3.5  通用I/O接口的应用实例 164
6.4  键盘接口 165
6.4.1  矩阵式键盘接口 165
6.4.2  标准的计算机通用键盘接口 168
6.5  显示器接口 168
6.5.1  LED数码管显示接口 168
6.5.2  LCD显示接口 169
6.6  触摸屏接口 180
6.6.1  触摸屏的工作原理 180
6.6.2  触摸屏的接口模式 181
6.6.3  触摸屏相关的寄存器 182
6.6.4  触摸屏的接口设计 184
6.6.5  触摸屏的驱动程序设计 185
6.6.6  触摸屏接口实例 185
6.7  A/D接口 188
6.7.1  A/D转换的基本原理 188
6.7.2  S3C2410A的A/D转换控制器 189
6.7.3  A/D接口电路 189
6.7.4  A/D转换的程序设计 189
6.8  IIS音频接口 190
6.8.1  IIS总线格式 190
6.8.2  S3C2410A内置的IIS控制器 191
6.8.3  IIS控制相关的寄存器 192
6.8.4  IIS接口电路 194
6.8.5  IIS的接口程序设计 194
本章小结 198
习题 198
第7章  通信接口设计 200
7.1  UART接口 200
7.1.1  UART通信数据格式 201
7.1.2  S3C2410A的UART接口 201
7.1.3  UART相关的寄存器 202
7.1.4  UART接口设计 206
7.1.5  UART接口驱动程序 208
7.2  IIC接口 210
7.2.1  IIC通信数据格式 210
7.2.2  S3C2410A的IIC接口 210
7.2.3  IIC相关的寄存器 211
7.2.4  IIC接口设计 212
7.2.5  IIC接口驱动程序 213
7.3  SPI接口 215
7.3.1  SPI接口 215
7.3.2  S3C2410A的SPI控制器 217
7.3.3  SPI相关的寄存器 217
7.3.4  SPI接口的初始化程序 219
7.4  USB接口 220
7.4.1  USB接口 220
7.4.2  S3C2410A的USB控制器 220
7.4.3  USB接口设计 220
7.4.4  USB接口编程 221
7.5  常用网络接口 221
7.5.1  以太网技术协议 221
7.5.2  以太网接口控制器 221
7.5.3  以太网接口电路 222
7.5.4  以太网接口编程 222
本章小结 224
习题 224
第8章  基于嵌入式Linux的应用开发 225
8.1  嵌入式Linux内核组成与启动过程 226
8.1.1  嵌入式Linux内核组成 226
8.1.2  嵌入式Linux的启动过程 227
8.2  嵌入式Linux的开发步骤 228
8.3  嵌入式Linux开发环境的构建 229
8.3.1  嵌入式Linux交叉开发环境 229
8.3.2  安装Linux操作系统 231
8.3.3  配置开发工具 236
8.3.4  交叉编译环境的建立 238
8.4  嵌入式系统的Bootloader技术 242
8.4.1  嵌入式软件运行过程 242
8.4.2  Bootloader的开发过程 243
8.4.3  常用的Bootloader 246
8.4.4  Bootloader的移植 247
8.5  嵌入式Linux系统的构建 250
8.5.1  嵌入式Linux内核的构建 250
8.5.2  嵌入式Linux根文件系统的构建 255
8.5.3  基于嵌入式Linux的应用系统开发 258
8.6  Linux系统下设备驱动程序的开发 265
8.6.1  Linux下设备驱动程序简介 265
8.6.2  设备驱动程序的结构 267
8.6.3  设备驱动程序的开发 269
8.6.4  Linux设备驱动开发实例 275
8.7  Linux用户图形接口GUI 277
8.7.1  嵌入式系统的GUI 277
8.7.2  Qt/Embedded基础 280
8.7.3  Qt/Embedded开发环境 282
8.7.4  Qt/Embedded开发实例 289
本章小结 292
习题 292
第9章  嵌入式应用系统的开发实例 294
9.1  嵌入式应用系统的开发步骤 294
9.1.1  方案论证 294
9.1.2  硬件系统设计 295
9.1.3  应用软件设计 295
9.1.4  软硬件调试 296
9.1.5  程序下载 296
9.2  基于ARM和GPRS的无线抄表终端（开发实例1） 296
9.2.1  方案论证 297
9.2.2  硬件系统设计 298
9.2.3  应用软件设计 298
9.2.4  实验与测试 300
9.2.5  程序下载 302
9.3  基于嵌入式Linux的视频监控系统（开发实例2） 302
9.3.1  方案论证 302
9.3.2  硬件系统设计 302
9.3.3  Linux系统制作 303
9.3.4  应用软件设计 306
9.3.5  系统测试 308
本章小结 308
附录A  S3C2410A方框图 309
附录B  S3C2410A引脚图 310
附录C  S3C2410A引脚功能 311
附录D  S3C2410A的IO引脚功能 314
附录E  S3C2410A专用寄存器 319
附录F  S3C2410A启动代码的配置 330
参考文献 335