《嵌入式软件开发技术》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:何坚著
  • 出 版 社:北京:科学出版社
  • 出版年份:2014
  • ISBN:9787030418937
  • 页数:259 页
图书介绍:本书重点讨论复杂嵌入式软件的分析设计问题。首先本书从嵌入式系统的总体构架出发,阐述嵌入式软件、硬件之间的紧密关系,以及嵌入式软件开发的流程和关键技术;其次,针对当前主流的Linux和WindowsCE嵌入式平台,在介绍这些平台的总体结构、软件开发过程的基础上,通过实例介绍相关引导程序定制、内核裁剪、驱动和应用程序的开发技术;此外,从系统的角度出发,介绍面向对象的嵌入式软件分析设计技术,并按照软件开发的过程详细介绍嵌入式软件需求分析、系统设计、详细设计及相关测试技术。

第1章 嵌入式软件开发导论 1

1.1 概述 1

1.1.1 定义 1

1.1.2 发展历史 2

1.1.3 应用领域 3

1.1.4 特点 5

1.2 嵌入式系统的组成 6

1.2.1 嵌入式处理器 6

1.2.2 嵌入式外围设备 7

1.2.3 嵌入式操作系统 8

1.2.4 嵌入式应用软件 8

1.3 嵌入式软件的开发流程 9

1.3.1 需求分析阶段 10

1.3.2 设计阶段 11

1.3.3 生成代码阶段 13

1.3.4 固化阶段 16

1.3.5 嵌入式软件开发的特点 16

1.4 嵌入式系统开发的硬件资源 18

1.4.1 在线仿真器 18

1.4.2 逻辑分析仪 19

1.4.3 ROM仿真器 19

1.4.4 源程序模拟器 20

1.4.5 示波器 20

1.5 嵌入式系统开发的软件资源 20

1.5.1 语言编译工具 20

1.5.2 交叉调试器 21

1.5.3 实时多任务操作系统 21

1.5.4 集成开发环境 21

1.5.5 板级支持包 22

1.6 嵌入式软件的可移植性和可重用性 23

1.7 小结 25

参考文献 25

第2章 嵌入式操作系统 26

2.1 嵌入式操作系统基础 26

2.1.1 概念 26

2.1.2 设计原则 27

2.1.3 发展和趋势 29

2.2 嵌入式操作系统的体系结构 30

2.2.1 单模块结构 31

2.2.2 层次结构 31

2.2.3 微内核结构 32

2.2.4 层次与微内核相结合的结构 33

2.3 嵌入式操作系统的分类 34

2.4 常见嵌入式实时操作系统 35

2.4.1 VxWorkS 35

2.4.2 pSOS 36

2.4.3 QNX 37

2.4.4 DeltaOS 37

2.4.5 μC/OSII 38

2.5 嵌入式Linux操作系统 39

2.5.1 系统特点 39

2.5.2 引导程序 40

2.5.3 Linux内核 42

2.5.4 文件系统 45

2.6 Windows CE 47

2.6.1 简介 47

2.6.2 体系结构 49

2.7 小结 52

参考文献 52

第3章 UML建模技术 53

3.1 面向对象基础 53

3.1.1 基本概念 53

3.1.2 特征 55

3.1.3 要素 56

3.2 UML语义 57

3.2.1 元模型理论 57

3.2.2 UML的组织结构 58

3.2.3 UML建模概念 59

3.2.4 UML的构造事物 61

3.2.5 UML中的关系 62

3.3 UML图形表示 63

3.3.1 UML静态结构图 64

3.3.2 use case图 68

3.3.3 UML交互图 69

3.3.4 UML状态图 71

3.3.5 UML活动图 73

3.3.6 UML实现图 74

3.4 基于UML的软件建模 75

3.4.1 UML建模过程 75

3.4.2 UML建模过程的特点 76

3.4.3 UML建模实例 79

3.5 小结 84

参考文献 85

第4章 面向对象的嵌入式软件开发过程 86

4.1 面向对象开发过程中的基本概念 86

4.1.1 模式 86

4.1.2 复用 86

4.1.3 构架 87

4.1.4 框架 87

4.1.5 模型 87

4.2 面向对象软件开发原则 88

4.2.1 迭代式开发 88

4.2.2 模型驱动 89

4.2.3 MDA的开发模式 89

4.3 用例驱动、以框架为核心的迭代增量开发过程 92

4.3.1 用例驱动 92

4.3.2 以框架为核心 95

4.3.3 迭代和增量式过程 96

4.4 统一软件开发过程 97

4.4.1 先启阶段 98

4.4.2 精化阶段 98

4.4.3 构建阶段 99

4.4.4 产品化阶段 99

4.4.5 迭代开发与控制管理 99

4.5 嵌入式系统快速面向对象开发过程 100

4.5.1 ROPES中的主要活动 101

4.5.2 ROPES过程中的阶段工件 103

4.5.3 嵌入式软件框架 107

4.6 小结 109

参考文献 109

第5章 面向对象的嵌入式软件需求分析 110

5.1 基本概念 110

5.1.1 需求分析目标和内容 110

5.1.2 用例模型 112

5.1.3 用例的补充描述 115

5.2 需求分析 119

5.3 结构分析 121

5.3.1 领域分析与问题陈述 122

5.3.2 发现对象 122

5.3.3 标识关联 125

5.3.4 标识对象属性 126

5.3.5 建立系统的类模型 127

5.4 行为分析 132

5.4.1 对象行为 132

5.4.2 状态行为 132

5.4.3 建立状态模型 136

5.4.4 建立交互模型 138

5.4.5 增加类的主要操作 140

5.5 小结 140

参考文献 141

第6章 面向对象的嵌入式系统软件设计 142

6.1 软件构架设计 142

6.1.1 系统分解 142

6.1.2 软件体系结构 144

6.1.3 并发性 149

6.1.4 选择持续数据管理基础设施 150

6.1.5 选择完整性控制策略 150

6.1.6 选择全局控制流机制 151

6.1.7 边界条件处理 151

6.1.8 人机界面设计 152

6.2 嵌入式系统机制设计 153

6.2.1 设计模式 153

6.2.2 Adapter设计模式 154

6.2.3 匹配合适的模式 160

6.2.4 确定问题内部的并发性 161

6.2.5 选择软件控制策略 162

6.2.6 处理边界条件 163

6.2.7 权衡开发策略的优先级 163

6.2.8 填补从高层需求到底层服务间的空白 164

6.2.9 用操作实现用例 164

6.2.10 将操作分配给类 165

6.2.11 设计优化 165

6.2.12 组织类 167

6.3 嵌入式系统详细设计 168

6.3.1 数据结构 168

6.3.2 关联的实现 169

6.3.3 对象接口 172

6.3.4 操作及其可见性 172

6.3.5 用于实现操作的算法 172

6.4 小结 173

参考文献 173

第7章 Linux系统嵌入式软件开发 175

7.1 驱动程序开发 175

7.1.1 驱动程序结构 175

7.1.2 驱动程序分类 177

7.1.3 驱动程序加载方式 180

7.1.4 字符设备驱动程序实例 182

7.2 Linux应用软件开发 184

7.2.1 嵌入式视频服务器 184

7.2.2 嵌入式Linux的GUI 187

7.2.3 Qt/Embedded简介 189

7.2.4 Qt/Embedded的开发环境 192

7.2.5 Qt/Embedded常用类 194

7.3 代码优化 196

7.3.1 代码优化分类 196

7.3.2 源代码优化 197

7.3.3 中间代码优化 199

7.3.4 目标代码优化 200

7.4 小结 200

参考文献 200

第8章 Windows CE嵌入式软件开发 201

8.1 Windows CE开发基础 201

8.1.1 BootLoader定制 201

8.1.2 Windows CE开发工具 203

8.2 Windows CE驱动程序开发 205

8.2.1 Windows CE驱动程序分类 205

8.2.2 Windows CE流接口驱动结构 208

8.2.3 Windows CE流接口驱动开发实例 211

8.3 Windows CE应用程序开发 221

8.3.1 开发Windows CE流接口驱动测试程序 221

8.3.2 Windows CE中访问数据库 225

8.4 小结 229

参考文献 229

第9章 嵌入式软件测试 231

9.1 MISRA-C编程规范 231

9.2 嵌入式软件静态测试 243

9.2.1 代码分析 243

9.2.2 错误分析 244

9.2.3 代码检查 244

9.3 嵌入式软件动态测试 245

9.3.1 白盒测试 246

9.3.2 黑盒测试 247

9.3.3 灰盒测试 247

9.4 嵌入式软件测试过程 248

9.4.1 过程模型 249

9.4.2 单元测试 251

9.4.3 集成测试 252

9.4.4 确认测试 253

9.4.5 系统测试 254

9.5 嵌入式软件测试工具 255

9.5.1 纯软件的测试工具 255

9.5.2 纯硬件的测试工具 256

9.5.3 软硬件结合的测试工具 256

9.5.4 主流嵌入式软件测试工具比较 257

9.6 小结 258

参考文献 258