嵌入式系统设计与实例开发——基于ARM微处理器与μC/OSⅡ实时操作系统(第3版)
定 价:33 元
- 作者:王田苗、魏洪兴
- 出版时间:2008/1/1
- ISBN:9787302164678
- 出 版 社:清华大学出版社
- 中图法分类:TP360.21
- 页码:
- 纸张:胶版纸
- 版次:1
- 开本:16
本书是《嵌入式系统设计与实例开发》一书的第3版,其特点是体系结构完整、基本概念清晰,易读易学。本书主要以ARM9嵌入式微处理器与and#61549;C/OS-II实时操作系统作为教学对象,分别介绍了嵌入式系统的概念及应用领域,嵌入式系统软硬件及设计方法基本知识,ARM微处理器体系结构与汇编语言程序设计,and#61549;C/OS-II实时操作系统分析,嵌入式系统硬件接口设计,嵌入式系统软件设计与编程以及嵌入式系统的应用开发案例等知识体系。
本书定位为教材,适合作为计算机、软件、电子信息工程和自动化等专业本科生或研究生《嵌入式系统》、《嵌入式系统设计》、《嵌入式系统设计导论》等课程的教材使用。
本书配套较完整的课程大纲、PPT讲稿,这部分内容可以从清华大学出版社网站(www.tup.tsinghua
.edu.cn)下载。
前 言
时间如白驹过隙,距2003年本书第2版的出版已有4年多时间了。期间,第2版已第10次印刷,而我们却一直未能对第2版进行系统性的修订和完善,实在有愧于各位读者的厚爱。这4年中我们收到了许多读者的邮件和电话,他们对本书第2版提出了很多好的建议和意见。此外,我们自己在研究生《嵌入式系统概论》和本科生《嵌入式系统设计导论》的教学实践中,也积累了较丰富的实践教学经验,这些都为本书第3版的修订工作奠定了基础。
近几年,嵌入式系统技术得到了广泛的应用和爆发性的增长,普适计算、无线传感器网络、可重构计算等新兴技术的出现又为嵌入式系统技术的研究与应用注入了新的活力。智能手机、信息家电、汽车电子、家用机器人……嵌入式系统已“无处不在”。产业繁荣的背后带来的是隐藏的危机,作为“世界制造中心”的中国,在全球产业链中的地位举足轻重,但中国企业缺乏核心技术,劳动密集型产业过多也是不争的事实。如何从“制造大国”向“制造强国”转变已成为中国企业界共同面对的挑战。在这个转变过程中,加快发展制造业“心脏”的嵌入式芯片和软件技术已成为众多企业家的共识,而普及嵌入式技术、加快嵌入式技术人才的培养则是原动力。
2004年,ACM和IEEE联合制定了新版的计算机学科的课程体系(2004版),其中一个主要的改革就是把“Embedded System”课程列为本科生的专业基础课程,并且给出了基本的课程体系。同时,美国卡内基?梅隆大学、伯克利大学等国外高校也不断地在完善他们的嵌入式教育体系,欧盟也推出了面向欧盟高校和企业的嵌入式研究计划,这些信息为本书第3版的内容体系结构提供了指导和参考。
本书第3版定位为教材,适合作为本科生或研究生《嵌入式系统概论》、《嵌入式系统设计》、《嵌入式系统设计导论》等课程的教材使用,其特点是体系结构完整、基本概念清晰,易读易学。与第2版相比,本书第3版做了较大的修改和完善,主要包括以下 方面:
?在体系结构上,以ARM9嵌入式微处理器与?C/OS-II实时操作系统作为教学内容,新增加了第3章ARM微处理器体系结构与指令集和第4章?C/OS-II嵌入式实时操作系统内核分析两部分内容,使本书的体系结构更加完整。
?为了兼顾不同专业的学生学习使用,增加了第2章嵌入式系统的基础知识,主要介绍嵌入式系统硬件体系结构、嵌入式软件与实时操作系统、嵌入式系统内核设计与开发方法等基础知识,扩大了本书的适用范围。
?在第5章嵌入式系统硬件平台与接口设计部分,以ARM9微处理器为设计平台,在内容上做了较大的修订和完善,更加符合目前国内嵌入式系统教学的主流情况。
?在第8章嵌入式系统的应用开发案例部分,介绍了嵌入式数控系统的设计,这是一个较完整的嵌入式产品设计案例,具有较大的参考价值。
?第1章、第6章、第7章保留了原书的特色,也进行了内容的更新和修订。
参加本书第3版修订工作的有王田苗、魏洪兴、陈友东、陶永、刘淼等,其中王田苗、魏洪兴负责统稿。在修订过程中,得到了山东大学贾智平教授、北京航空航天大学康一梅教授、清华大学湛卫军博士和北京航空航天大学ITM实验室全体老师及研究生的大力支持和帮助,大连理工大学金建设教授提供了第8章嵌入式智能家居的开发案例,北京博创科技提供了实验用的UP-NETARM系列教学平台和附录B的部分实验体系,在此向他们表示诚挚的感谢。
由于作者知识所限,书中不足之处在所难免,恳请各位专家和读者赐正。
王田苗 魏洪兴
于北京航空航天大学新主楼
ITM实验室(http://itm.buaa.edu.cn)
2007年10月15日
目 录
第1章 嵌入式系统概述1
1.1 嵌入式系统简介1
1.1.1 什么是嵌入式系统1
1.1.2 嵌入式系统的特点6
1.1.3 嵌入式系统的组成7
1.1.4 嵌入式系统的分类13
1.2 嵌入式系统的应用领域17
1.3 嵌入式系统在机电控制方面的应用19
1.4 嵌入式系统的现状和发展趋势21
1.4.1 嵌入式系统的现状21
1.4.2 未来嵌入式系统的发展趋势22
练习题24
第2章 嵌入式系统的基本知识25
2.1 嵌入式系统硬件知识25
2.1.1 嵌入式微处理器简介25
2.1.2 嵌入式微处理器体系结构26
2.1.3 嵌入式微处理器的分类32
2.2 嵌入式系统软件知识36
2.2.1 嵌入式软件概述36
2.2.2 嵌入式软件体系结构37
2.2.3 嵌入式操作系统的分类39
2.2.4 嵌入式操作系统的几个重要概念42
2.2.5 常见的实时嵌入式操作系统介绍44
2.3 嵌入式系统中的选型原则和设计工具48
2.3.1 嵌入式系统的选型原则48
2.3.2 嵌入式系统的设计工具51
2.3.3 嵌入式系统开发模式53
2.3.4 嵌入式软件开发工具55
练习题61
第3章 ARM微处理器体系结构与指令集62
3.1 ARM嵌入式微处理器概述62
3.1.1 嵌入式微处理器简介62
3.1.2 ARM微处理器概述63
3.1.3 ARM架构版本与产品系列64
3.2 ARM微处理器体系结构67
3.2.1 ARM微处理器体系结构概述67
3.2.2 流水线73
3.2.3 ARM的寄存器组织76
3.2.4 ARM处理器模式81
3.2.5 异常81
3.3 ARM处理器的指令系统86
3.3.1 ARM指令系统概述86
3.3.2 ARM指令的条件域88
3.3.3 ARM指令的寻址方式88
3.3.4 ARM指令集90
3.3.5 Thumb指令集98
3.4 ARM处理器编程简介99
3.4.1 ARM汇编语言的文件格式99
3.4.2 ARM汇编语言的语句格式99
3.4.3 C语言与汇编语言的混合编程101
3.5 ARM处理器初始化分析107
3.5.1 嵌入式系统初始化流程107
3.5.2 ARM嵌入式处理器的初始化分析110
练习题114
第4章 ?C/OS-Ⅱ嵌入式实时操作系统内核分析115
4.1 ?C/OS-II实时操作系统简介115
4.2 ?C/OS-II的内核结构分析116
4.2.1 多任务116
4.2.2 任务调度120
4.2.3 中断与时间管理123
4.2.4 ?C/OS-II的初始化125
4.3 ?C/OS-II的任务通信和同步126
4.3.1 任务互斥和同步126
4.3.2 任务间的通信129
4.3.3 μC/OS-II的任务通信机制130
4.4 ?C/OS-II在S3C2410微处理器上的移植分析134
4.4.1 移植μC/OS-II的基本要求134
4.4.2 设置与处理器和编译器相关的代码136
4.4.3 用C语言编写6个操作系统相关的函数137
4.4.4 用汇编语言编写4个与处理器相关的函数140
4.4.5 移植测试143
练习题144
第5章 嵌入式系统硬件平台与接口设计145
5.1 基于S3C2410A微处理器的硬件平台体系结构145
5.1.1 S3C2410A微处理器简介145
5.1.2 基于S3C2410A微处理器的硬件平台结构146
5.2 存储器系统设计148
5.2.1 存储器系统概述148
5.2.2 S3C2410A的存储系统设计151
5.3 串行接口设计154
5.3.1 串行通信的基本概念154
5.3.2 通用异步收发器(UART)159
5.4 I/O接口设计162
5.4.1 GPIO接口设计162
5.4.2 A/D转换器164
5.5 人机交互接口169
5.5.1 LCD和触摸屏接口设计169
5.5.2 触摸屏接口设计172
5.5.3 键盘接口设计173
5.6 嵌入式系统的网络接口设计178
5.6.1 以太网接口的基本知识178
5.6.2 嵌入式以太网接口的实现182
5.6.3 基于ARM的RTL8019AS网络接口芯片的设计183
5.7 嵌入式系统的调试接口ARM JTAG的设计188
5.7.1 ARM的JTAG调试接口189
5.7.2 JTAG的基本知识190
练习题194
第6章 基于?C/OS-II的软件体系结构设计195
6.1 基于?C/OS-II扩展RTOS的体系结构195
6.2 建立文件系统197
6.2.1 文件系统简介197
6.2.2 文件系统的实现过程205
6.2.3 文件系统相关的API函数功能详解208
6.3 外设及驱动程序210
6.3.1 串行口210
6.3.2 液晶显示驱动程序211
6.3.3 键盘驱动程序212
6.4 网络通信协议213
6.4.1 基于ARM和?C/OS-II的TCP/IP协议213
6.4.2 网络编程接口214
6.5 图形用户接口(GUI)函数217
6.5.1 基于Unicode的汉字字库217
6.5.2 Unicode字库的显示及相关函数222
6.5.3 基本绘图函数223
6.5.4 典型的控件231
6.6 系统的消息队列241
6.6.1 系统消息241
6.6.2 消息相关函数242
6.7 其他实用的应用程序接口(API)函数243
练习题248
第7章 嵌入式软件应用程序实例249
7.1 建立基于?C/OS-II的应用程序249
7.1.1 在?C/OS-II系统上运行的应用程序的结构249
7.1.2 系统的消息循环252
7.1.3 创建新任务以及任务之间的同步252
7.2 绘图API函数254
7.2.1 绘图的API函数应用举例254
7.2.2 绘图的API函数应用举例的源代码256
7.3 系统的消息循环261
7.3.1 使用系统的消息循环261
7.3.2 系统消息循环使用的源代码264
7.4 文件的使用268
7.4.1 文件的读取应用举例269
7.4.2 文件的读取实现的源代码270
7.5 列表框控件的使用271
7.5.1 列表框控件的使用举例272
7.5.2 列表框控件举例的源代码274
7.6 文本框控件的使用276
7.6.1 文本框控件的使用举例276
7.6.2 文本框控件的举例源代码278
7.7 系统的多任务和系统时钟281
7.7.1 系统的多任务和系统时钟应用举例281
7.7.2 系统的多任务和系统时钟举例源代码283
7.8 UDP通信实验287
7.8.1 UDP协议简介287
7.8.2 socket简介289
7.8.3 实验步骤293
7.9 综合举例296
7.9.1 综合举例的设计思路296
7.9.2 综合举例的源代码297
练习题309
第8章 嵌入式系统的应用开发案例310
8.1 嵌入式系统的设计方法310
8.1.1 嵌入式系统的设计流程310
8.1.2 嵌入式系统的软硬件划分312
8.1.3 嵌入式系统软硬件协同设计313
8.1.4 系统集成和测试315
8.2 嵌入式数控系统设计开发实例315
8.2.1 数控系统简介315
8.2.2 需求分析316
8.2.3 系统体系结构设计317
8.2.4 软件设计320
8.2.5 系统集成与测试322
8.3 智能家居远程监控系统设计实例323
8.3.1 智能家居远程监控系统简介323
8.3.2 系统功能分析324
8.3.3 系统方案设计325
8.3.4 系统硬件结构设计327
8.3.5 系统软件结构设计329
附录A ADS1.2嵌入式开发环境配置简介334
附录B 《嵌入式系统设计与实例开发》 配套实验体系介绍342
B.1 UP-NETARM2410-S实验教学平台介绍342
B.2 实验教学内容及其基本要求343
B.3 北京航空航天大学《嵌入式系统概论》实验课程大纲349
参考文献353