标题：嵌入式系统设计与实例开发
基本信息
作者：王田苗，魏洪兴
ISBN：10位[7302164673]13位[9787302164678]
出版社：清华大学出版社
出版日期：2008-1-1
定价：￥33.00元
内容提要
本书定位为教材，适合作为计算机、软件、电子信息工程和自动化等专业本科生或研究生《嵌入式系统》、《嵌入式系统设计》、《嵌入式系统设计导论》等课程的教材使用。
本书配套较完整的课程大纲、PPT讲稿，这部分内容可以从清华大学出版社网站下载。
编辑推荐
本书是《嵌入式系统设计与实例开发》一书的第3版，其特点是体系结构完整、基本概念清晰，易读易学。本书主要以ARM9嵌入式微处理器与?C/OS-II实时操作系统作为教学对象，分别介绍了嵌入式系统的概念及应用领域，嵌入式系统软硬件及设计方法基本知识，ARM微处理器体系结构与汇编语言程序设计，?C/OS-II实时操作系统分析，嵌入式系统硬件接口设计，嵌入式系统软件设计与编程以及嵌入式系统的应用开发案例等知识体系。
本书定位为教材，适合作为计算机、软件、电子信息工程和自动化等专业本科生或研究生《嵌入式系统》、《嵌入式系统设计》、《嵌入式系统设计导论》等课程的教材使用。
本书配套较完整的课程大纲、PPT讲稿，这部分内容可以从清华大学出版社网站下载。
作者简介
王田苗，1960.2出生，教授，博士生导师，国家教育部长江学者特聘教授。现任国家“十一五”863计划先进制造领域专家组组长，中国电子学会嵌入式系统专家委员会主任委员，北京航空航天大学机械工程及自动化学院院长。主要研究方向为先进机器人技术，在医用机器人、仿生机器鱼与嵌入式技术等方面取得过突出成绩。
近年来在国内外核心刊物上发表论文约20篇，合作出版专著3部。“机器人行动规划与控制技术”项目荣获国家电子工业部科技进步一等奖、“基于多传感器局部自主的臂手集成系统”项目荣获国家航空部科技进步二等奖、“立体定向恼外科机器人集成系统”项目荣获北京市科技进步二等奖。先后被国家人事部列为全国首批20名重点资助优秀回国留学人员，被授予北京高等学校学科带头人和中国航空总公司有突出贡献的青年专家称号，荣获茅以升北京青年科技提名奖、美国联合技术容阔科技教育奖等。
图书目录
第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
图书前言
时间如白驹过隙，距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实验室
2007年10月15日