嵌入式系统原理及应用 - 中国高校教材图书网
|
书名: |
嵌入式系统原理及应用
|
| ISBN: | 978-7-5606-2351-1 |
责任编辑: | |
| 作者: |
刘卫光
相关图书
|
装订: | 平装 |
| 印次: | 1-1 |
开本: | 16开 |
| 定价: |
¥26.00
折扣价:¥24.70
折扣:0.95
节省了1.3元
|
字数: |
430千字
|
| 出版社: |
西安电子科技大学出版社 |
页数: |
|
| 出版日期: |
2010-02-01 |
每包册数: |
|
| 国家规划教材: |
|
省部级规划教材: |
|
| 入选重点出版项目: |
|
获奖信息: |
|
|
|
| 内容简介: |
本书以嵌入式系统为核心,全面介绍了32位ARM嵌入式系统的基础理论知识,主要内容包括:嵌入式系统基本概念、ARM体系结构与调试方法、软件与硬件开发技术、存储与接口技术、总线与外围设备、实时操作系统与调度算法、液晶触摸屏应用程序开发实例。本书在内容设计上,首先完整讲述了嵌入式系统的基础知识和ARM技术,然后结合基于ARM处理器的实际工程例程,讲述了嵌入式应用开发流程,形成了从易到难、相对完整、贴近实际工程应用的嵌入式理论教学体系。结合本书的实验内容,可使读者快速、全面地掌握嵌入式系统开发与应用技术。 本书可作为高等院校计算机、电类专业本科生或研究生嵌入式系统教学的教材,也可作为基于ARM核嵌入式系统开发的工程技术人员的参考资料。
|
| 作者简介: |
|
|
| 章节目录: |
目 录
第1章 嵌入式系统概论 1
1.1 嵌入式系统 1
1.1.1 嵌入式系统概述 1
1.1.2 嵌入式系统的定义 2
1.2 嵌入式系统的发展 2
1.3 嵌入式系统的特点 3
1.4 嵌入式系统的基本分类 4
1.5 嵌入式系统的组成结构 4
1.6 嵌入式处理器 9
1.7 嵌入式系统的发展趋势 11
1.7.1 嵌入式系统的现状 11
1.7.2 嵌入式系统的发展方向 12
1.8 嵌入式系统的相关研究领域 12
1.8.1 嵌入式系统的主干学科领域 12
1.8.2 与嵌入式系统关系密切的技术领域 13
本章小结 14
习题与思考题 14
第2章 ARM核及ARM处理器的体系结构 15
2.1 ARM的发展历史 15
2.2 ARM系列处理器概述 15
2.2.1 ARM处理器家族 15
2.2.2 ARM核与体系结构版本 17
2.2.3 ARM体系结构版本的变种 18
2.2.4 ARM体系结构版本的命名规则 18
2.3 ARM芯片选型 19
2.4 ARM处理器的结构 21
2.4.1 ARM处理器的RSIC特征 21
2.4.2 流水线 22
2.4.3 ARM的工作模式和工作状态 25
2.4.4 ARM寄存器的组织 26
2.5 ARM存储器的组织 29
2.5.1 ARM存储器的数据类型和存储格式 29
2.5.2 ARM的存储体系 30
2.5.3 片内存储器的用法 31
2.5.4 协处理器CP15 31
2.6 存储管理单元 31
2.7 ARM处理器的Cache 36
2.8 快速上下文切换扩展 37
2.9 写缓存区 37
2.10 哈佛结构 38
2.11 桶型移位器 39
2.12 看门狗定时器 39
2.13 边界对准与端序 40
2.14 地址重映射 41
2.15 ARM处理器的片上总线标准AMBA 42
2.16 AMBA 2.0片上总线的主控单元和从动单元 43
2.17 AMBA 2.0总线的时序 43
2.18 ARM7处理器核的S3C4510B 44
2.18.1 复位 45
2.18.2 总线周期 45
2.18.3 ARM7TDMI处理器的总线优先级 47
2.19 I/O端口统一编址与特殊功能寄存器 47
本章小结 49
习题与思考题 49
第3章 ARM指令集与程序设计 51
3.1 ARM体系结构指令集 51
3.2 ARM处理器的寻址方式和指令系统 52
3.2.1 ARM指令集的编码格式和语法 52
3.2.2 ARM处理器的寻址方式 55
3.2.3 ARM指令的分类说明 59
3.3 ARM的异常中断处理 68
3.3.1 ARM的异常中断响应过程 68
3.3.2 从异常中断处理程序返回 69
3.4 ARM汇编语言程序设计 69
3.4.1 ARM汇编语言程序的格式 70
3.4.2 ARM汇编语言程序编写规范 74
3.4.3 ARM汇编语言指示符 74
3.4.4 ARM过程调用标准ATPCS和AAPCS 81
3.5 典型ARM汇编语言程序举例 83
3.5.1 入门的范例 83
3.5.2 基本结构 84
3.6 ARM汇编、C和C++混合编程 86
3.6.1 内嵌汇编 86
3.6.2 C/C++与汇编程序的相互调用 89
3.6.3 软中断和半主机方式ARM汇编程序设计 93
3.7 GNU格式的ARM汇编语言程序设计 95
3.7.1 GNU格式的ARM汇编语言程序的设计要点 95
3.7.2 GNU格式ARM汇编语言程序举例 97
本章小结 98
习题与思考题 98
第4章 嵌入式系统外部设备 100
4.1 嵌入式系统的半导体存储器 100
4.1.1 静态存储器和同步动态存储器 100
4.1.2 嵌入式处理器上配接SDRAM 102
4.2 闪速存储器 104
4.3 嵌入式系统总线 110
4.3.1 I2C总线 110
4.3.2 SPI总线接口 113
4.3.3 CAN总线 114
4.3.4 PC104总线 115
4.4 嵌入式系统接口 116
4.4.1 UART接口 116
4.4.2 通用输入/输出接口 121
4.4.3 USB接口 122
4.4.4 以太网接口 126
4.5 嵌入式系统的外部设备 130
4.5.1 键盘 131
4.5.2 液晶显示器 135
4.5.3 触摸屏 141
本章小结 145
习题与思考题 145
第5章 嵌入式系统开发工具 146
5.1 基于ARM的嵌入式开发工具概述 146
5.1.1 交叉开发 146
5.1.2 指令集模拟器 151
5.1.3 ROM仿真器 151
5.1.4 片上调试技术与背景调试模式(BDM) 151
5.1.5 半主机调试方式 152
5.1.6 评估电路板 153
5.2 各种ARM开发工具简介 154
5.2.1 ARM SDT 154
5.2.2 ARM ADS 155
5.2.3 RealView MDK 156
5.2.4 ARM的Multi-ICE仿真器 156
5.2.5 ULINK 2.0仿真器 157
5.3 基于ARM的嵌入式系统开发方法 158
5.4 Embest ARM实验教学系统 159
5.4.1 教学系统介绍 159
5.4.2 μVision IDE集成开发环境 159
5.4.3 ULINK USB-JTAG仿真器 162
5.4.4 Embest Edukit-III嵌入式教学实验平台 163
5.4.5 教学系统的安装 163
5.5 集成开发环境使用说明 166
5.5.1 μVision IDE 主框架窗口 166
5.5.2 工程管理 166
5.5.3 工程基本配置 170
5.5.4 工程的编译链接 178
5.5.5 加载调试 179
5.5.6 Flash 编程工具 185
本章小结 186
第6章 嵌入式操作系统概论 187
6.1 嵌入式操作系统概述 187
6.1.1 基本特点 187
6.1.2 抢占式内核 188
6.2 嵌入式操作系统分类 191
6.3 实时系统 194
6.3.1 概念 194
6.3.2 实时系统的属性和指标 196
6.3.3 实时系统的分类 197
6.3.4 实时调度 198
6.4 嵌入式系统启动程序BootLoader 207
6.4.1 嵌入式系统的启动方式 207
6.4.2 BootLoader的程序结构与调试 209
6.4.3 BootLoader人机交互接口设计 212
6.5 嵌入式实时操作系统内核 213
6.5.1 实时操作系统内核 213
6.5.2 网络支持 215
6.5.3 用户交互环境界面 215
6.6 嵌入式Linux系统 215
6.6.1 基于Linux的嵌入式系统 216
6.6.2 μCLinux 217
6.6.3 实时RTLinux 222
6.6.4 嵌入式RTLinux的创建 233
本章小结 235
第7章 嵌入式Linux系统开发环境 236
7.1 Linux的历史和现状 236
7.2 协同开发模式 237
7.3 基于Edukit-Ш开发板的开发环境介绍 240
7.3.1 交叉编译工具链的创建 240
7.3.2 Linux宿主机环境设置及项目空间建立 243
7.3.3 Windows工作机环境设置 245
7.4 嵌入式系统移植 246
7.4.1 系统移植概述 246
7.4.2 基于Edukit-Ш开发板的BootLoader实现 248
7.4.3 嵌入式Linux内核移植 254
7.4.4 嵌入式根文件系统创建 261
7.4.5 系统烧写过程 268
7.4.6 系统测试结果 270
7.5 触摸屏驱动程序设计 271
7.5.1 嵌入式Linux驱动程序 271
7.5.2 触摸屏硬件原理 272
7.5.3 触摸屏驱动流程设计 274
7.5.4 触摸屏驱动设计分析 275
7.5.5 配置和编译驱动程序 279
7.5.6 测试触摸屏驱动程序 280
本章小结 281
参考文献 282
参考网站 283
|
| 精彩片段: |
|
|
| 书 评: |
前 言
随着嵌入式计算机技术的发展,嵌入式系统已经深入到社会生活与工作的方方面面,各种信息家电产品、信息高速公路(网络设备等)、汽车电子、国防军用等产品均包含有嵌入式系统。现在每年有许多IT公司投入大量科研力量研究开发新的嵌入式产品,产业界每年均需要大量的嵌入式系统的开发人才。出于对嵌入式高技术知识的追求,广大在校学生纷纷选修嵌入式系统课程,以获得嵌入式系统理论知识和开发技能。教育部门也积极推动嵌入式系统教学质量和水平的提高。
在整个社会对嵌入式系统需求背景下,本书作者在几年的教学实践与科研基础上,编写了这本面向本科生和研究生的嵌入式系统基础教材。
本书是基于32位ARM的嵌入式系统教学体系建设的理论教学部分。本书以嵌入式系统的基本开发技术为主线,以ARM处理器核及应用广泛的SAMSUNG公司的S3C2410(ARM9)为主要硬件平台,系统讲述了嵌入式系统开发的基本知识、基本流程和基本方法及以ARM微处理器为核心的嵌入式系统开发过程。为了提高目前我国嵌入式系统的教学水平而又不脱离教学实际,在本课程的理论内容和实验内容的安排中,我们既强调嵌入式基础教育,打好嵌入式系统开发与应用的基础,又面向实际工程应用,加强嵌入式系统教学的实用性和工程性。
本书按内容分为7章,各章节具体内容如下。
第1章主要介绍了嵌入式系统开发的基础知识。内容包括:嵌入式系统基本概念、组成结构、硬件组成、操作系统、应用软件开发、开发流程和发展趋势。通过本章的学习,可使读者系统地建立起嵌入式系统开发的整体概念和知识体系。
第2章主要对ARM体系结构进行全面论述。本章首先讲解了ARM处理器的体系结构版本、处理器型号以及两者之间的关系;进而讲解了ARM处理器的三种应用类型、ARM处理器结构、ARM存储器和AMBA总线的内容,向读者揭示了ARM处理器的核心架构,归纳出嵌入式微处理器常用的典型技术;然后介绍了嵌入式系统的调试技术,分别是指令集模拟器、实时在线仿真、片上调试技术与背景调试模式、边界扫描测试技术和JTAG接口以及半主机调试方式等;通过介绍经典的ARM7TDMI核的总线周期和总线优先级,为读者理解ARM处理器核的基本运行机制提供了帮助。通过本章的学习,可使读者对ARM技术有一个全面的了解。
第3章主要讨论了ARM指令集与应用程序设计。首先介绍了伪操作、宏指令和伪指令等嵌入式汇编语言程序设计基础知识;然后讲述了ARM汇编语言程序设计,主要包括ARM和Thumb两种指令集的嵌入式编程基础;最后讲述如何运用前面学过的汇编指令并结合C语言来进行嵌入式程序设计。本章以实际的C语言例程讲述了嵌入式C语言程序设计基础,并在此基础上列举嵌入式C程序设计实例;对于嵌入式编程技巧和C语言与汇编语言混合编程技术也进行了简述。通过本章学习,可使读者掌握嵌入式程序设计的基本知识、基本方法和基本流程。
第4章主要讲解了嵌入式系统常用的存储器,包括Nor Flash、Nand Flash和SDRAM。前两种是构成固态盘的主要存储器件,后一种是构成内存储器的主要器件,随后讲解了常用的嵌入式总线技术和接口技术,其中总线包括I2C、SPI、现场总线、CAN以及PC104,接口包括UART、GPIO、USB和以太网。嵌入式系统的联网需求比较突出,我们还给出了串行接口以及以太网接口的软、硬件开发实例方案。本章最后介绍了嵌入式系统常用的外部设备,包括键盘、液晶显示器和触摸屏。
第5章主要讨论了嵌入式系统交叉开发环境。首先对组成ARM交叉开发环境的宿主机到目标机的调试通道进行分析,包括片上调试技术与背景调试模式BDM、边界扫描电路JTAG。首先,简要介绍了几种比较流行的ARM开发工具,包括ARM SDT、ARM ADS等集成开发环境以及Multi-ICE仿真器、ULINK 2.0仿真器等,主要介绍了RealView MDK μVision 3的具体使用技术;然后,通过一个基于Embest IDE for ARM与MDK开发环境下的嵌入式软件开发与调试实例讲述了嵌入式软件开发流程和开发工具的使用。
第6章介绍了嵌入式系统的操作系统基础知识,主要内容包括:嵌入式操作系统的基本特点和分类、实时系统和实时操作系统的概念、实时操作系统的调度算法、嵌入式系统的启动代码Bootloader和实时操作系统内核原理,使读者能够深入了解嵌入式系统的操作系统的构成与原理。
第7章介绍了嵌入式Linux的开发过程,主要对于嵌入式μCLinux与RTLinux的基本知识进行讲述,在此基础上分别对基于S3C2410的移植及应用开发进行介绍。嵌入式Linux所开发出来的程序的运行目标环境是特定的嵌入式开发板或设备;然后以S3C2410为例,对嵌入式系统开发进行全面介绍,涉及片上基本功能模块及这些模块的应用开发;在此基础上还给出了触摸屏驱动程序的开发例子,并对启动程序开发进行了讲述。通过本章学习,可使读者对嵌入式系统软件的开发有个全面了解。本章内容可以作为嵌入式Linux开发的参考文献。
通过本书的学习,可使学生用较短的时间掌握32位嵌入式系统应用开发的基础理论知识,培养学生良好的实际操作能力和高端嵌入式产品研发设计能力,从而满足社会对高素质、开拓型嵌入式系统开发人才的需求。本书包含大量软件和硬件设计资源,可作为基于ARM核嵌入式系统开发的技术参考手册,也可作为计算机、电类专业本科生和研究生以及相关工程技术人员进行嵌入式系统培训的教材。
基于ARM的嵌入式系统教学体系建设刚刚开始,而嵌入式应用开发又涉及软、硬件及操作系统等复杂的知识,因此它的教学体系,尤其是面向实际开发应用的教学体系的建立,是一项复杂的系统工程。本书力求为该系统工程的建设做一些基础性工作,并真诚地欢迎读者就此提出宝贵的意见和建议。
西安邮电大学计算机系的任东陕、周元哲老师为本书的编写提供了很好的建议,并撰写了第1、3章;中原工学院软件学院的赖海玲老师为本书的实验范例提供了良好的实验环境,并进行部分文稿的录入工作;中原工学院的郭永锋、李娟、崔士儒、吴延明、杨起龙等同学参加了本书部分例程的编写、调试工作以及部分文稿的校对工作。深圳英倍特公司为作者开展嵌入式系统教学提供了技术资料和业务支持。作者在此向他们表示感谢。
|
| 其 它: |
|
|
|