全书共12章,深入而全面的论述了嵌入式系统的开发与设计方法。主要内容包括:嵌入式系统设计流程、硬件设计(基础电路、存储设备、接口及I/O设备)、软件设计(结构与方法、异常和中断)、定时器和定时器服务、内存管理、软件设计的常见问题,等等。
大连理工大学是教育部直属全国重点大学,教育部985和211建设院校,学校已形成以理工为主,经、管、文、法等学科协调发展的多学科体系。现有一级学科国家重点学科 4 个,涵盖二级学科 15 个,有二级学科国家重点学科 6 个,13 个“985 工程”二期建设项目,18 个一级学科博士点,110 个二级学科博士点,150 个硕士点, 20 个博士后科研流动站。有 60个本科专业。
本书系统论述嵌入式系统设计、嵌入式硬件设计方法(存储设备、I/O接口等)、嵌入式操作系统和嵌入式软件设计方法(软件结构、设计范型、异常和中断处理、内存管理等)、嵌入式软硬件设计应用中的普遍问题和解决方法,并将工程实践中得到的经验以案例形式介绍给读者。全书凝聚了作者多年的嵌入式系统教学和科研的经验、案例与思想。
本书特色
n 知识的系统性和先进性,系统和全面介绍了嵌入式设计的原理,并融合了嵌入式系统的最新发展和成果的介绍。
n 理论和实践联系紧密,以实际应用案例来阐述相关理论知识模块,原理知识指导解决设计实践中的问题。
n 注重嵌入式软硬件设计中普遍问题和解决方法的介绍。阐述嵌入式设计开发中容易出现的问题,并给出常用的解决方法。
涵盖内容
n 嵌入式系统设计
n 嵌入式系统的硬件设计-电路
n 嵌入式系统的硬件设计-存储设备
n 嵌入式系统的硬件设计-接口及I/O设备
n 嵌入式系统的软件设计-结构与方法
n 嵌入式系统的软件设计-设计范型与编程
n 嵌入式系统的软件设计-嵌入式操作系统
n 嵌入式系统的软件设计-异常与中断
n 定时器和定时器服务
n 嵌入式设计中的典型问题及解决方法
嵌入式技术是在自动化和计算机技术基础上发展而来,是计算机发展的一个分支。嵌入式系统的应用无处不在,尤其体现于信息家电、汽车电子、消费类电子、航空航天等应用领域。
伴随着嵌入式技术的发展,国内外各高校陆续开设了“嵌入式系统原理与设计”的相关课程,介绍微控制器与微处理器的结构、原理及应用。然而,现有嵌入式教材,有的偏重于结构、原理的阐述,比较抽象,学生难于掌握和应用;有的侧重阐述某一个具体的微控制器或微处理器应用方法,缺少嵌入式系统的一般知识与原理,读者难以举一反三。据此,编者精心组织编写了本书,以利于教学和应用。
内容安排上,全书共分12章,分别介绍了嵌入式系统的基本概念、嵌入式系统的整体设计方法、嵌入式系统的组成结构、嵌入式系统的硬件设计和嵌入式系统的软件设计等。在嵌入式系统硬件设计部分,重点阐述了硬件的整体设计、存储设备、接口和I/O设备等。在嵌入式系统软件设计部分,重点阐述了嵌入式操作系统的软件设计、中断和异常的处理、定时服务、软件设计中的普遍问题等。
叙述方法上,各章首先介绍了相应知识模块的基本原理,然后通过实例设计来阐述相应的实践应用,这种叙述方法最大限度地使读者易于掌握嵌入式原理及其应用。此外,本书的案例均是作者多年科研实践的项目总结,具有很强的工程实用性。
本书的读者对象为高年级本科生、研究生和从事嵌入式系统开发设计的工程技术人员。
本书由多位教师合力完成,吴国伟撰写了第1、2、8、9章,徐子川撰写了第3、4、10、11章,姚琳撰写了第5、6、7、12章;郭禾教授对全书进行了审读。
本书编写过程中参考并引用了大量国内外相关书籍,不再一一列举,对作者表示感谢。
本书的出版得到教育部特色专业建设的支持,以及Intel教育部精品课程建设和大连理工大学精品课程建设的支持。感谢大连理工大学软件学院领导对本书出版的关怀和支持;同时,本书的出版也得到了机械工业出版社的大力支持,对华章分社编辑们的辛苦工作表示感谢。
嵌入式是一门蓬勃发展的技术,各种新器件、新应用不断涌现;由于作者学疏才浅,书中错误在所难免,敬请读者批评指正。作者的联系方式为Email:wgwdut@dluteducn。
编者
2010年7月1日
计算机\嵌入式编程
本书内容
? 嵌入式系统设计流程。
? 嵌入式系统硬件设计。
? 嵌入式系统软件设计。
? 定时器和定时器服务。
? 嵌入式实时系统的内存管理。
? 嵌入式软件设计的普遍问题。
本书特色
? 知识系统:注重嵌入式系统知识的系统性和全面性;不是局限于某一具体类型的嵌入式芯片,而是以点带面,全面介绍嵌入式系统原理与设计。
? 注重实践:以工程实例来阐述知识模块,理论联系实际,注重培养工程应用能力。
读者对象
? 高等院校电子信息工程、通信工程、软件工程、电气工程、自动化等专业的本科生与研究生教材。
? 也可作为相关工程技术人员的参考用书。
前言
第1章嵌入式系统简介
11嵌入式系统的基本概念
111现代计算机发展的历史
112嵌入式系统的定义和特点
113嵌入式系统的独立发展
12嵌入式系统的架构
13嵌入式处理器
131嵌入式处理器分类
132典型嵌入式处理器介绍
133嵌入式处理器选型原则
14嵌入式操作系统
141概述
142典型的嵌入式操作系统
15嵌入式系统的开发方法
16嵌入式系统的现状和发展趋势
思考题
第2章嵌入式系统设计
21统一建模语言UML
211UML概述
212UML的发展历史
213UML基本元素
22需求
221需求信息的获取
222需求定义
23规格说明
24体系结构设计
25设计硬件构件和软件构件
思考题
第3章嵌入式系统的硬件设计——电路
31嵌入式硬件基础
311电路原理图阅读与绘制
312印制电路板的基础知识
32电路设计示例:复位电路设计
321基本复位电路
322复位电路设计的注意点
323复位芯片的选择
324复位电路的调试
思考题
第4章嵌入式系统的硬件设计——存储设备
41存储设备概述
411存储器的基本概念
412存储器的作用
413存储设备的分类
414存储器系统层次结构
415存储器的性能指标
416存储器的基本构成
42常用存储器
421IC卡
422CF卡
423MMC卡
424SD卡
425TF卡
426工业电子盘
427U盘
43存储器件的选择
思考题
第5章嵌入式系统的硬件设计——接口及I/O设备
51接口
511概述
512常用接口
52定时器和计数器
53A/D和D/A转换器
531概述
532A/D和D/A转换原理
54键盘
541概述
542键盘原理
55显示器
551CRT显示器
552液晶显示器
553发光二极管显示器
554等离子显示器
555显示器的驱动方式
556设计实例:大屏幕LED显示屏的设计
56触摸屏
561概述
562触摸屏分类
57I/O性能
思考题
第6章嵌入式系统的软件设计——结构与方法
61嵌入式系统的软件结构
611概述
612板级支持包BSP
613轮转结构
614带有中断的轮转结构
615实时操作系统结构
616嵌入式软件结构的选择
62软件开发工具
621宿主机与目标机
622嵌入式系统的定位器
623调试技术
63软件的设计方法
631无嵌入式操作系统
632有嵌入式操作系统
思考题
第7章嵌入式系统的软件设计——设计范型与编程
71嵌入式系统软件的范型
711范型
712两种范型
72编程模型
721数据流图
722控制/数据流图
73程序设计语言及基本编译技术
731语句翻译
732过程
733数据结构
734表达式简化
735死代码清除
736过程内嵌
737循环变换
738寄存器分配
739指令选择
7310理解并使用编译程序
7311解释程序与适时编译程序
74程序的质量保证和测试
思考题
第8章嵌入式系统软件设计——嵌入式操作系统
81概述
811基本概念
812内核
813可裁剪性
82嵌入式操作系统的服务
821消息队列、信箱和管道
822定时器服务
823事件
824存储管理
825中断服务
83嵌入式操作系统的开发
831多进程多线程设计
832进程间通信
833进程的功率优化策略
84调度器
841可调度实体
842多任务
843上下文切换
844调度算法
845μC/OSII任务调度
846Linux任务调度
85性能问题
86设计实例:嵌入式Linux中的进程管理
87完全公平调度算法
871概述
872CFS原理
88Linux在嵌入式系统中实时调度算法改进
881概述
882Linux实时性改造
883RTLinux和RTAI
思考题
第9章嵌入式系统软件设计——异常和中断
91异常和中断的基本概念
92异常的分类和优先级
921异常的分类
922异常和中断的优先权
93可编程中断控制器
94异常和中断的处理
941异常和中断处理程序的安装
942保存处理器状态
943装入和调用异常处理程序
95ARM异常中断机制
951概述
952ARM的异常中断响应过程
953ARM异常中断优先级
954中断控制寄存器
96嵌入式操作系统对中断的支持
961嵌入式Linux对异常和中断的处理
962μC/OSII异常和中断的处理
963WinCE异常和中断的处理
97中断编程实例
971中断编程模式
972中断编程过程
思考题
第10章定时器和定时器服务
101实时时钟和系统时钟
102可编程间隔定时器
103定时器中断服务例程
104软定时器操作和相关问题处理
105设计实例:S3C2410的可编程间隔定时器应用
1051实时时钟部件
1052Timer部件
1053看门狗定时器
思考题
第11章嵌入式实时系统的内存管理
111概述
1111嵌入式实时系统内存管理的特点
1112嵌入式实时系统对内存管理的要求
1113内存分配方案
1114实时系统的内存模式
1115内存碎片
112常用内存分配算法
1121最先匹配算法
1122伙伴算法
113典型嵌入式实时操作系统中内存管理
1131μC/OSII的内存管理
1132VxWorks的内存管理
1133WinCE的内存管理
思考题
第12章嵌入式软件设计中的几个问题
121同步与通信
1211资源同步
1212评估关键段
1213解决方案
1214应用实例:Linux信号量接口的应用
122死锁及其处理
1221死锁检测
1222死锁恢复
1223死锁避免和死锁预防
1224应用实例:银行家算法
123优先级倒置
1231资源共享引发的问题
1232优先级倒置技术
1233两种优先级倒置方案
124堆栈溢出
思考题
参考文献