标题：ARM嵌入式系统原理与开发
基本信息
书　名　ARM嵌入式系统原理与开发(工业和信息化普通高等教育“十二五”规划教材立项项目)
丛 书 名　21世纪高等院校信息与通信工程规划教材——精品系列
标准书号　ISBN 978-7-115-25252-4[1]
编目分类　TP332
作　者　王诚 梅霆 主编
译　者　--  
责任编辑　蒋亮
开　本　16 开
印　张　23
字　数　566 千字
页　数　362 页
装　帧　平装
版　次　第1版第1次
初版时间　2011年6月
本 印 次　2011年6月
首 印 数　-- 册
定　价　42.00 元
内容提要
《ARM嵌入式系统原理与开发》从实际应用的角度出发，全面介绍嵌入式系统相关的概念、基于ARM系统的嵌入式开发模式及编程、ARM体系结构、ARM汇编及C语言编程、基于S3C2410的硬件结构与接口编程、嵌入式Linux原理及编程、基于嵌入式系统的应用开发方法及应用实例，最后结合具体实验箱给出了嵌入式系统实验指导等方面的知识。
《ARM嵌入式系统原理与开发》重点突出，层次分明，注重理论与实践的联系，紧跟最新的开发技术及平台，不仅有详细的理论基础知识介绍，还有相关的开发案例以供参考，学习性和实用性较强。
《ARM嵌入式系统原理与开发》可作为高等学校电子信息工程、通信工程、广电工程、软件工程、电气工程、自动化等相关专业的本科教材，同时也可供从事嵌入式系统应用与开发的工程技术人员学习参考。
作者简介
王诚，南京邮电大学通信学院副教授，2004年开始嵌入式系统方面的教学工作，先后开设《单片机原理》、《DSP与嵌入式系统》、《嵌入式系统》、《嵌入式系统实验》等课程。指导学生实践性环境如软件设计、课程设计、学生创新实践、毕业设计，内容都和嵌入式系统相关。涉及的项目有智能家居系统、智慧社区、智能电力控制、开放式实验室系统等。具有丰富的嵌入式系统方面的教学和实践能力。在2009年01月，采用嵌入式系统获得南邮教学成果奖《适应形势大胆变革——新环境下学生综合实践能力培养方法的研究和探索》，并作为南邮通信学院嵌入式系统的教学负责人，主持嵌入式系统课程的教学大纲、实验大纲的编写。
目录
第1章　嵌入式系统概述　1
1.1　嵌入式系统的概念　1
1.2　嵌入式系统的历史　2
1.3　嵌入式系统的组成　4
1.3.1　嵌入式系统的组成结构　4
1.3.2　嵌入式处理器　8
1.3.3　典型的嵌入式操作系统　9
1.4　嵌入式系统的特点　12
1.5　嵌入式系统的应用　12
1.6　嵌入式系统的发展趋势　16
思考题与习题　18
第2章　ARM体系结构与指令集　19
2.1　ARM处理器基础　19
2.1.1　ARM体系架构发展　19
2.1.2　ARM处理器内核系列　20
2.1.3　ARM体系架构分析　24
2.1.4　ARM处理器模式　27
2.1.5　ARM内部寄存器　27
2.1.6　ARM体系的异常处理　31
2.1.7　ARM体系的存储系统　33
2.2　ARM指令系统　34
2.2.1　ARM指令格式　34
2.2.2　ARM指令寻址方式　35
2.2.3　ARM指令集　38
2.3　Thumb指令系统　48
2.3.1　Thumb状态寄存器组织　49
2.3.2　Thumb指令集　50
思考题与习题　59
第3章　ARM汇编语言程序设计　60
3.1　ARM汇编的语句格式　60
3.1.1　符号命名规则　60
3.1.2　ARM汇编语言伪操作　60
3.1.3　ARM汇编语言伪指令　61
3.2　ARM汇编的程序结构　62
3.3　ARM汇编语言程序设计举例　64
3.4　ARM C语言基础及混合编程　65
3.4.1　ATPCS概述　66
3.4.2　基本ATPCS　66
3.4.3　支持ARM程序和Thumb程序混合使用的ATPCS　68
3.4.4　C语言及汇编语言混合编程　68
思考题与习题　74
第4章　基于S3C2410的硬件结构与接口编程　75
4.1　S3C2410简介　75
4.1.1　S3C2410X集成的主要片上功能　76
4.1.2　S3C2410X的特点　77
4.2　S3C2410X的存储器及其控制　81
4.2.1　S3C2410X的存储器控制器　81
4.2.2　NAND Flash控制器　82
4.3　时钟和电源管理　85
4.4　DMA　85
4.4.1　DMA请求源　86
4.4.2　DMA工作过程　86
4.4.3　基本的DMA时序　87
4.4.4　DMA传输尺寸　87
4.4.5　DMA专用寄存器　88
4.4.6　DMA编程实例　94
4.5　I/O端口　97
4.5.1　S3C2410X I/O端口的工作机制　97
4.5.2　S3C2410X端口的编程实例　106
4.6　定时器　106
4.6.1　S3C2410X定时器概述　106
4.6.2　S3C2410X定时器的工作原理　107
4.6.3　PWM输出控制直流电动机编程实例　116
4.7　异步串口通信　119
4.7.1　异步串口通信概述　119
4.7.2　S3C2410X的异步串行口简介　121
4.7.3　S3C2410X UART工作原理　123
4.7.4　S3C2410X UART编程实例　130
4.8　A/D转换器　133
4.8.1　A/D转换器简介　133
4.8.2　A/D转换的重要指标　135
4.8.3　ARM自带的10位A/D转换器　136
4.8.4　A/D转换器在扩展版的接法　138
4.8.5　A/D编程实例　138
4.9　ARM中断　139
4.10　LCD　149
4.10.1　LCD原理　149
4.10.2　LCD的驱动控制　150
4.10.3　与ARM自带LCD驱动器有关的寄存器　152
4.10.4　LCD编程实例　160
4.11　触摸屏　164
4.11.1　触摸屏的工作原理　164
4.11.2　触摸屏的控制　165
4.11.3　编程要点　167
4.11.4　S3C2410X中触摸屏接口的相关寄存器　167
4.11.5　触摸屏编程实例　168
4.12　键盘及LED控制　172
4.12.1　键盘及LED的接口原理　172
4.12.2　I2C总线　179
4.12.3　键盘及LED控制编程实例　187
第5章　嵌入式Linux操作系统　197
5.1　操作系统简介　197
5.1.1　操作系统　197
5.1.2　嵌入式操作系统　198
5.2　嵌入式Linux操作系统　199
5.2.1　Linux介绍　200
5.2.2　Linux作为嵌入式操作系统的优势　202
5.2.3　进程管理　203
5.2.4　存储管理　219
5.2.5　文件系统　227
5.2.6　设备管理　245
5.2.7　嵌入式Linux引导过程　261
5.3　基于嵌入式Linux开发应用实例　266
5.3.1　Linux启动流程　266
5.3.2　从“零”到一套精简的Linux平台　267
5.3.3　从x86平台到嵌入式平台　272
5.3.4　Linux平台上用户空间程序与内核交互方式　273
5.3.5　Linux平台上网络工具工作框架　277
思考题与习题　282
第6章　嵌入式系统应用开发及实例　283
6.1　引言　283
6.2　软件工程及嵌入式软件工程　285
6.2.1　概述　285
6.2.2　软件需求　287
6.2.3　软件设计　288
6.2.4　统一建模语言　289
6.2.5　嵌入式软件编程　293
6.3　基于ECX嵌入式平台的旅游系统应用实例　294
6.3.1　应用实例背景　294
6.3.2　设计目标　295
6.3.3　系统总体设计　295
6.4　基于Android操作系统平台的点餐系统应用实例　312
6.4.1　Android简介　312
6.4.2　Android架构　313
6.4.3　Android未来及前景　314
6.4.4　Android应用程序基础　315
6.4.5　Android开发环境搭建　317
6.4.6　Android工程目录结构　318
6.4.7　点餐系统实现　319
思考题与习题　328
第7章　嵌入式系统开发的实验基础　329
7.1　引言　329
7.2　ADS集成开发环境简介　329
7.2.1　ADS软件组成　329
7.2.2　使用CodeWarrior IDE　333
7.2.3　使用AXD IDE　340
7.3　基于嵌入式Linux系统的软件开发基础　344
7.3.1　嵌入式Linux系统介绍　344
7.3.2　Linux常用命令介绍　344
7.3.3　Linux系统下的vi编辑器　347
7.4　嵌入式Linux下交叉开发环境的建立与软件开发过程　348
7.4.1　嵌入式教学实验系统简介　349
7.4.2　嵌入式交叉开发环境的建立　352
7.4.3　基于Linux的应用程序的开发步骤　359
思考题与习题　361
参考文献　362