《普通高等教育“十一五”国家级规划教材·计算机系列教材:嵌入式系统教程》是一本全面介绍嵌入式系统的教材,内容包括系统概述到硬件系统、软件系统、操作系统以及嵌入式系统的实现,覆盖面广,系统深入,并重点介绍了嵌入式Linux。全书共分为12章,分别为嵌入式系统概述,嵌入式系统设计的系统工程方法,嵌入式处理器,嵌入式系统的I/O模块,嵌入式系统的软件,嵌入式网络与协议栈,嵌入式操作系统,嵌入式Linux的开发环境,嵌入式Linux系统的组成和构建,嵌入式Linux系统内核原理和移植,嵌入式Linux系统的驱动程序,嵌入式系统的实现和调试。
《普通高等教育“十一五”国家级规划教材·计算机系列教材:嵌入式系统教程》结构合理,内容系统、全面,可作为高等院校计算机专业、电类专业、自动化以及机电一体化专业本科生“嵌入式系统”、“嵌入式系统体系结构”、“嵌入式系统原理及应用”及“嵌入式系统设计”等课程的教材和参考书,也可供希望了解和掌握嵌入式系统的技术人员参考阅读。
本书是普通高等教育“十一五”国家级规划教材。适用于计算机专业及相关专业本科生或研究生,可作为嵌入式系统相关课程的教材和参考书。
随着计算机技术的飞速发展,嵌入式技术已经是继网络技术之后,又一个得到广泛应用的新的技术发展方向,已成为IT领域的基础技术之一。嵌入式系统是计算机软件与硬件的完美结合,近年来已广泛地应用于军事、家庭、工业、商业、办公、医疗等社会各个方面。
本书系统地介绍了嵌入式系统,从系统概述到硬件系统、软件系统、操作系统以及嵌入式系统的实现,并重点介绍了嵌入式Linux。本书详细介绍了嵌入式系统各组成部分的功能与设计,由浅入深地对嵌入式系统的基本理论知识和技巧进行详细分析和论述,帮助学生掌握嵌入式系统的基本概念,学会使用系统开发工具,学习系统开发方法和开发流程。本书不仅注意介绍技术和方法,而且注重对经典的结构和思想等的论述和分析。
本教材具有如下主要特点。
(1) 取材先进,体系完整,覆盖面广,深度与广度相结合。
(2) 重点突出,可读性好,语言简练,通俗易懂。
(3) 结构合理,内容系统,主题安排逻辑性强。
(4) 表达明晰,突出强调示例。
全书共有12章。第1章为“嵌入式系统概述”,简单介绍了嵌入式系统的概念以及嵌入式系统的发展,并介绍了嵌入式系统的应用。第2章从工程设计的角度,介绍了嵌入式系统的设计方法。第3章为“嵌入式处理器”,讲述了嵌入式系统的硬件组成,介绍了嵌入式处理器的发展,并详细讲述了几种典型的嵌入式处理器,特别是ARM系列的嵌入式处理器。第4章介绍了嵌入式系统的I/O模块的基本结构,包括通信接口、通用并行接口、中断接口等I/O接口的内部结构和基本操作,并以实例说明了接口的实现方式。第5章讲述了嵌入式系统软件的开发方式、嵌入式系统软件的结构,介绍了嵌入式Linux中的常用软件。第6章为“嵌入式网络与协议栈”,讲述了嵌入式网络及嵌入式系统的联网,介绍了嵌入式Internet技术、蓝牙技术。第7章为“嵌入式操作系统”,讲述了嵌入式操作系统及实时系统的基本概念和功能,介绍了几种常用的嵌入式操作系统,并介绍了一个嵌入式操作系统的实例——μC/OSⅡ操作系统。第8章和第9章分别讲述了嵌入式Linux的开发环境和系统组成及构建。第8章介绍程序生成工具GCC工具链、工程管理工具Make和Makefile、GDB调试工具以及主机开发环境设置。第9章介绍嵌入式Linux系统的结构、嵌入式Linux的BootLoader、嵌入式Linux内核的构建、根文件系统等。第10章为“嵌入式Linux系统内核原理和移植”,讲述了嵌入式Linux内核的工作原理,介绍了Linux内核的移植工作,并以基于S3C2410 嵌入式系统的Linux 2.6的移植为例,介绍了嵌入式Linux操作系统移植的基本步骤。第11章为“嵌入式Linux系统的驱动程序”,讲述了Linux系统的内核编写及驱动程序的编写基础,介绍了嵌入式Linux中的几种驱动程序。第12章为“嵌入式系统的实现和调试”,讲述嵌入式系统的软件测试流程,介绍了嵌入式系统的调试和嵌入式系统的集成开发环境,并分析了嵌入式系统设计中的功耗、电磁兼容性等问题。
本书借鉴了国内外经典的相关教材,吸取了它们各自的优点,并将其内容有机地结合在一起。本书按层次和模块化结构组织教学内容,授课老师可以根据需要及课时的多少,对内容进行灵活的取舍。教学课时可以安排为48~64学时。
本书由同济大学的张晨曦教授、清华大学的韩超、国防科技大学的沈立、同济大学的李江峰以及清华大学的陈渝编写。张晨曦教授对全书进行了统稿。
本书直接或间接地引用了许多专家和学者的文献或著作,在此向他们表示衷心的感谢。
由于作者水平有限,书中难免有疏漏和不妥之处,敬请读者批评指正。请把相关的信息发送到xzhang2000@sohu.com。
欢迎访问张晨曦教授的微博和个人网站: weibo.com/FotoSky,www.FotoSky.com
编者
2012年2月于上海
第1章 嵌入式系统概述
1.1 嵌入式系统的概念
1.2 嵌入式系统的发展
1.2.1 嵌入式系统的产生
1.2.2 嵌入式系统的发展历史
1.2.3 嵌入式系统的发展趋势
1.3 嵌入式系统的特点
1.4 嵌入式系统的组成
1.4.1 嵌入式系统的硬件
1.4.2 嵌入式系统的软件
1.5 嵌入式系统的分类
1.6 嵌入式系统的应用
习题
第2章 嵌入式系统设计的系统工程方法
2.1 嵌入式系统设计模型和设计步骤
2.2 系统需求分析
2.2.1 需求描述阶段
2.2.2 规格说明阶段
2.3 系统设计
2.3.1 体系结构设计
2.3.2 硬件平台的选择
2.3.3 软件平台的选择
2.3.4 硬件和软件的划分
2.3.5 嵌入式系统设计方法
2.4 系统集成与调试
2.4.1 系统集成
2.4.2 系统调试
2.5 系统测试
2.5.1 嵌入式系统的测试方法
2.5.2 嵌入式系统的测试工具
2.5.3 嵌入式系统的测试策略
2.6 系统维护
习题
第3章 嵌入式处理器
3.1 嵌入式系统的硬件组成
3.1.1 处理器
3.1.2 存储器
3.1.3 附属电路与I/O模块
3.1.4 调试接口
3.2 嵌入式处理器
3.2.1 嵌入式微处理器
3.2.2 嵌入式微控制器
3.2.3 数字信号处理器
3.2.4 如何选择嵌入式处理器
3.2.5 嵌入式处理器的发展
3.3 SoC嵌入式处理器
3.4 典型的嵌入式处理器
3.4.1 ARM系列
3.4.2 PowerPC系列
3.4.3 MC68HC12系列
3.4.4 ColdFire系列
3.4.5 x86系列
3.4.6 Intel 8051系列微控制器
3.4.7 Microchip系列微控制器
3.4.8 TI公司TMS320系列DSP
3.5 ARM体系结构
3.5.1 ARM处理器的运行模式
3.5.2 ARM微处理器的工作状态
3.5.3 ARM吏持的数据类型
3.5.4 ARM微处理器的寄存器组织
3.5.5 ARM微处理器的异常处理机制
3.5.6 ARM处理器的应用选型
习题
第4章 嵌入式系统的I/O模块
4.1 110接口的基本结构
……
第5章 嵌入式系统的软件
第6章 嵌入式网络与协议
第7章 嵌入式操作系统
第8章 嵌入式Linux的开发环境
第9章 嵌入式Linux系统的组成和构建
第10章 嵌入式Linux系统内核原理和移植
第11章 嵌入式Linux系统的驱动程序
第12章 嵌入式系统的实现和调试
习题
网络表现出的优先级倒置现象,主要存在以下两种情况。
(1)报文的优先级不同。当一个低优先级的报文在网络上传输时,网络的使用权就被分配给这个低优先级的报文,并允许它阻塞任何高优先级的报文,直到把它传输完为止。因为每个报文的长度都是有限的,所以这种优先级倒置现象不会导致死锁,但是可能会延迟关键性的通信。对此,唯一能做的就是分析网络的行为来确定优先级倒置是否可能导致一些报文延迟时间过长。
(2)报文的优先级相同。例如,采用循环仲裁的网络中,所有的通信具有相同的优先级。但是,每个设备中运行的进程的优先级不同,从整个网络方面来考虑,认为网络的用户具有不同的优先级。在某一时刻,低优先级用户的发送操作会阻碍高优先级用户的发送,这种现象也属于优先级倒置问题。
6.3.2系统性能分析
由于网络的复杂性,使得对嵌入式网络系统的性能分析非常困难。对复杂的基于网络应用的嵌入式系统进行精确的性能分析,要使用CAD工具。有些算法可以有效地确定进程开始和完成时间的上界和下界,
如果没有计算机辅助工具来帮助分析性能,那么手工设计必须满足硬实时要求的嵌入式系统时要非常小心。系统在力图达到硬实时的时间确定性要求时,应该确保关键性的任务是活动的,这一点非常重要。例如,设计一个嵌入式硬实时系统,包括通信部分、数据处理部分、人机界面部分,为了保证系统的时间确定性,通常用户界面的活动和其他非基本任务都可以临时关掉。
……