嵌入式软件高级开发技术(研究生) 版权信息
- ISBN:9787560655741
- 条形码:9787560655741 ; 978-7-5606-5574-1
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 所属分类:>>
嵌入式软件高级开发技术(研究生) 本书特色
结合多年嵌入式软件开发与教学经验,本书首先系统介绍嵌入式操作系统的概念、体系结构及其发展趋势,并重点介绍主流的嵌入式Linux操作系统的移植及相关设备驱动程序开发技术。其次,在介绍UML基本概念基础上,介绍了嵌入式系统快速面向对象过程模型(ROPES),并结合案例阐述相关嵌入式软件分析设计技术。*后,结合MISRAC:2004规则,阐述嵌入式软件测试相关模型与技术。随着移动互联技术发展嵌入式软件日益复杂,嵌入式软件需要通过系统需求模型、动态与静态模型相互补充才能系统全面地建模。因此书中全面介绍了ROPES中的需求分析、结构分析、行为分析等分析技术,并系统介绍嵌入式软件构架设计、机制设计及详细设计等关键设计技术。力图结合嵌入式软件的特点,将软件工程领域成熟的分析设计方法引入到嵌入式软件的分析设计中。
本书可作为嵌入式软件开发相关专业的研究生及高年级大学生教材。同时,也可作为有志于从事嵌入式软件开发的专业技术人员的参考书。
嵌入式软件高级开发技术(研究生) 内容简介
本书在编写时,结合编者多年嵌入式软件开发与教学经验,首先系统介绍嵌入式操作系统的概念、体系结构及其发展趋势,并重点介绍主流的嵌入式Linux操作系统的移植及相关设备驱动程序开发技术;其次,在介绍UML基本概念的基础上,介绍了嵌入式系统快速面向对象过程模型,并结合案例阐述相关嵌入式软件分析设计技术;*后,结合MISRAC:2004规则,阐述了嵌入式软件测试相关模型与技术。本书力图结合嵌入式软件的特点,将软件工程领域成熟的分析设计方法引入到嵌入式软件的分析设计中。
本书可作为嵌入式软件开发相关专业的研究生及高年级本科生教材。同时,也可作为有志于从事嵌入式软件开发的专业技术人员的参考书。
嵌入式软件高级开发技术(研究生) 目录
第1章 嵌入式软件开发导论 1
1.1 概述 1
1.1.1 定义 1
1.1.2 发展历史 2
1.1.3 应用领域 3
1.1.4 特点 5
1.2 嵌入式系统的组成 5
1.2.1 嵌入式处理器 6
1.2.2 嵌入式外围设备 7
1.2.3 嵌入式操作系统 7
1.2.4 嵌入式应用软件 8
1.3 嵌入式软件的开发流程 9
1.3.1 需求分析阶段 9
1.3.2 设计阶段 10
1.3.3 生成代码阶段 12
1.3.4 固化阶段 14
1.3.5 嵌入式软件开发的特点 15
1.4 嵌入式系统开发的硬件资源 16
1.4.1 在线仿真器 16
1.4.2 逻辑分析仪 17
1.4.3 ROM仿真器 17
1.4.4 源程序模拟器 17
1.4.5 示波器 17
1.5 嵌入式系统开发的软件资源 18
1.5.1 语言编译工具 18
1.5.2 交叉调试器 19
1.5.3 实时多任务操作系统 19
1.5.4 集成开发环境 19
1.5.5 板级支持包 19
1.6 嵌入式软件的可移植性和
?可重用性 21
1.7 小结 22
课后习题 22
参考文献 22
第2章 嵌入式操作系统 23
2.1 嵌入式操作系统基础 23
2.1.1 嵌入式操作系统概念 23
2.1.2 嵌入式操作系统设计原则 24
2.1.3 嵌入式操作系统发展及趋势 25
2.2 嵌入式操作系统的体系结构 27
2.2.1 单模块结构 27
2.2.2 层次结构 27
2.2.3 微内核结构 28
2.2.4 层次与微内核相结合的结构 29
2.3 嵌入式操作系统的分类 30
2.4 常见嵌入式实时操作系统 31
2.4.1 VxWorks 31
2.4.2 pSOS 32
2.4.3 QNX 32
2.4.4 Delta OS 33
2.4.5 μC/OS-II 33
2.5 嵌入式Linux操作系统 34
2.5.1 嵌入式Linux操作系统的特点 34
2.5.2 嵌入式Linux的引导程序 35
2.5.3 Linux内核 36
2.5.4 嵌入式Linux文件系统 39
2.6 Windows CE 40
2.6.1 Windows CE简介 41
2.6.2 Windows CE 的体系结构 42
2.7 小结 45
课后习题 45
参考文献 45
第3章 UML建模技术 46
3.1 OO基础 46
3.1.1 OO基本概念 46
3.1.2 OO的特征 48
3.1.3 OO的要素 48
3.2 UML语义 50
3.2.1 UML元模型理论 50
3.2.2 UML的组织结构 51
3.2.3 UML建模概念 51
3.2.4 UML的构造事物 53
3.2.5 UML中的关系 53
3.3 UML图形表示 54
3.3.1 UML静态结构图 56
3.3.2 Use Case图 59
3.3.3 UML交互图 60
3.3.4 UML状态图 61
3.3.5 UML活动图 63
3.3.6 UML实现图 64
3.4 基于UML的软件建模 65
3.4.1 UML建模过程 65
3.4.2 UML建模过程的特点 66
3.4.3 UML建模实例 68
3.5 小结 72
课后习题 72
参考文献 73
第4章 面向对象的嵌入式软件
开发过程 74
4.1 OO开发过程中的基本概念 74
4.1.1 模式 74
4.1.2 复用 75
4.1.3 构架 75
4.1.4 框架 75
4.1.5 模型 75
4.2 OO软件开发原则 76
4.2.1 迭代式开发 76
4.2.2 模型驱动 77
4.2.3 MDA的开发模式 77
4.3 用例驱动、以框架为核心的迭代
增量开发过程 79
4.3.1 用例驱动 80
4.3.2 以框架为核心 82
4.3.3 迭代和增量式过程 82
4.4 统一软件开发过程 83
4.4.1 先启阶段 84
4.4.2 精化阶段 85
4.4.3 构建阶段 85
4.4.4 产品化阶段 85
4.4.5 迭代开发与控制管理 86
4.5 嵌入式系统快速面向对象
?开发过程 86
4.5.1 ROPES中的主要活动 87
4.5.2 ROPES过程中的阶段工件 89
4.5.3 嵌入式软件框架 92
4.6 小结 93
课后习题 93
参考文献 94
第5章 面向对象的嵌入式软件
需求分析 95
5.1 基本概念 95
5.1.1 需求分析目标及内容 95
5.1.2 用例模型 97
5.1.3 用例的补充描述 101
5.2 嵌入式系统需求分析 103
5.2.1 确定系统边界 103
5.2.2 寻找参与者 104
5.2.3 寻找用例 104
5.2.4 寻找初始和终止事件 105
5.2.5 准备普通场景 105
5.2.6 增加变化和异常场景 106
5.2.7 寻找外部事件 106
5.2.8 画顺序图 106
5.2.9 组织参与者和用例 107
5.3 嵌入式系统结构分析 107
5.3.1 领域分析与问题陈述 107
5.3.2 发现对象 107
5.3.3 标识关联 110
5.3.4 标识对象属性 111
5.3.5 建立系统的类模型 112
5.4 嵌入式系统行为分析 116
5.4.1 对象行为 116
5.4.2 状态行为 117
5.4.3 建立状态模型 120
5.4.4 建立交互模型 122
5.4.5 增加类的主要操作 124
5.5 小结 125
课后习题 126
参考文献 126
第6章 面向对象的嵌入式系统
软件设计 127
6.1 软件构架设计 127
6.1.1 系统分解 127
6.1.2 软件体系结构 129
6.1.3 并发性 134
6.1.4 选择持续数据管理基础设施 135
6.1.5 选择完整性控制策略 135
6.1.6 选择全局控制流机制 136
6.1.7 边界条件处理 136
6.1.8 人机界面设计 136
6.2 嵌入式系统机制设计 137
6.2.1 设计模式 137
6.2.2 Adapter设计模式 139
6.2.3 匹配合适的模式 143
6.2.4 确定问题内部的并发性 145
6.2.5 选择软件控制策略 145
6.2.6 处理边界条件 146
6.2.7 权衡开发策略的优先级 147
6.2.8 填补从高层需求到低层
服务间的空白 147
6.2.9 用操作实现用例 147
6.2.10 将操作分配给类 148
6.2.11 设计优化 149
6.2.12 组织类 150
6.3 嵌入式系统详细设计 151
6.3.1 数据结构 151
6.3.2 关联的实现 152
6.3.3 对象接口 154
6.3.4 操作及其可见性 155
6.3.5 用于实现操作的算法 155
6.4 小结 155
课后习题 156
参考文献 156
第7章 Linux系统嵌入式软件开发 157
7.1 驱动程序开发 157
7.1.1 驱动程序结构 157
7.1.2 驱动程序分类 158
7.1.3 驱动程序加载方式 161
7.1.4 字符设备驱动程序实例 163
7.2 Linux应用软件开发 165
7.2.1 嵌入式视频服务器 165
7.2.2 嵌入式Linux的GUI 167
7.2.3 Qt/Embedded简介 169
7.2.4 Qt/Embedded的开发环境 170
7.2.5 Qt/Embedded常用类 172
7.3 代码优化 174
7.3.1 代码优化分类 174
7.3.2 源代码优化 175
7.3.3 中间代码优化 177
7.3.4 目标代码优化 178
7.4 小结 178
课后习题 178
参考文献 178
第8章 Android嵌入式软件开发 179
8.1 Android开发基础 179
8.1.1 Android操作系统特性 179
8.1.2 Android系统架构 180
8.1.3 Android开发环境搭建 182
8.2 Android驱动程序开发 186
8.2.1 Android Things 186
8.2.2 LED灯条驱动程序开发 186
8.3 Android应用开发 189
8.3.1 Android开发模式 189
8.3.2 Android数据库开发 191
8.3.3 Android开发实例 193
8.4 小结 199
课后习题 199
参考文献 199
第9章 嵌入式软件测试 200
9.1 MISRA C语言编程规范 200
9.2 嵌入式软件静态测试 211
9.2.1 代码分析 211
9.2.2 错误分析 211
9.2.3 代码检查 212
9.3 嵌入式软件动态测试 213
9.3.1 白盒测试 213
9.3.2 黑盒测试 214
9.3.3 灰盒测试 214
9.4 嵌入式软件测试过程 215
9.4.1 过程模型 215
9.4.2 单元测试 218
9.4.3 集成测试 219
9.4.4 确认测试 219
9.4.5 系统测试 220
9.5 嵌入式软件测试工具 221
9.5.1 纯软件测试工具 221
9.5.2 纯硬件测试工具 221
9.5.3 软硬件结合的测试工具 222
9.5.4 主流嵌入式软件测试
工具比较 222
9.6 小结 224
课后习题 224
参考文献 224
展开全部
嵌入式软件高级开发技术(研究生) 作者简介
北京市物联网软件与系统工程技术中心核心成员,荣获省部级科学技术奖二等奖2项。获国家留学基金委“青年骨干教师”项目资助,2010年1月至2011年2月于佐治亚理工学院做访问学者,在Gregory D. Abowd 教授指导下从事普适计算在健康护理应用理领域研究,并参与美国国家自然科学基金重大项目“Computing Techniques for Measuring and Analyzing Child Behavior”研究。承担/参与国家和北京市科研项目10项,主持企业横向课题逾10项。在在国内外核心期刊、国际会议上发表论文逾30篇,EI/SCI检索论文逾20篇。出版专著1部,合作出版著作2部。申报国家发明专利10余项,获批专利8项。当前主要研究领域:物联网、嵌入式系统、智能人机交互。