第1章 嵌入式系统及其软件与嵌入技术 1
1.1 嵌入式系统概述 1
1.1.1 一般性描述 1
1.1.2 国际电气与电子工程协会(IEEE)定义 1
1.1.3 《ARTEMIS》报告定义 1
1.1.4 从应用的角度看 2
1.1.5 从与信息技术相关性的角度看 2
1.2 嵌入式系统、嵌入式软件发展前景展望 3
1.3 新的视角 3
1.3.1 一部曲嵌入技术的前世今生 4
1.3.2 二部曲军阀混战 5
1.3.3 三部曲中国人的登场 7
1.4 各国竞相发展嵌入技术 7
1.4.1 中国核高基 7
1.4.2 欧美也启动了嵌入式技术的国家和多国合作专项开发项目 8
1.4.3 工业4.0和中国制造2025 16
1.5 从最新技术发展看嵌入技术 17
1.5.1 从应用来看 17
1.5.2 从技术上看 25
第2章 软件和嵌入式软件的开发技术和测试 27
2.1 软件的概念 27
2.1.1 一般软件的定义 27
2.1.2 软件的特性 27
2.1.3 软件担当的角色 28
2.1.4 软件的分类 28
2.2 嵌入式应用 29
2.3 嵌入式软件 29
2.3.1 嵌入式软件的复杂度在增高 30
2.3.2 嵌入式系统软硬件紧密耦合 30
2.3.3 嵌入式系统及其软件的其他特点 31
2.4 嵌入式开发技术 32
2.4.1 嵌入式调试 33
2.4.2 嵌入式软件调试器的实现技术 33
2.4.3 片上调试(On Chip Debugging,OCD) 34
2.4.4 嵌入式软件调试工具 34
2.4.5 参考资料 35
2.4.6 ROM监控器(ROM monitor) 37
2.5 从嵌入式软件测试开始新基本认知 37
2.5.1 对嵌入式软件测试的基本认识 37
2.5.2 嵌入式软件的测试 38
2.6 嵌入式软件测试的通用策略和一般流程 39
2.6.1 嵌入式软件测试各个阶段的通用策略 39
2.6.2 嵌入式软件测试一般流程 42
第3章 嵌入式系统及其软件的新理论体系 43
3.1 嵌入式系统及其软件的基本理论和原则概述 43
3.1.1 从嵌入式软件测试说起 43
3.1.2 嵌入式技术的基础理论 43
3.1.3 嵌入技术仿真平台建立及嵌入式系统工程的理论与方法论 45
3.1.4 仿真平台及嵌入式系统工程理论与方法论的国学方法论 45
3.2 实现的原则(原理) 46
第4章 全数字虚拟化方法 62
4.1 单机系统的全数字仿真技术 62
4.1.1 嵌入式系统及其软件开发环境的仿真方式 62
4.1.2 传统“白盒”测试工具的局限性 62
4.1.3 传统“黑盒”测试工具的局限性 63
4.2 全数字虚拟化软硬件的分离需要考虑的方面 64
4.3 全数字仿真用于嵌入式系统及其软件的解决方案 65
4.3.1 全数字仿真概念 65
4.3.2 全数字仿真工作方式 66
4.4 全数字仿真嵌入式软件测试的功能 67
4.4.1 外部事件仿真技术 67
4.4.2 各种白盒测试 68
4.4.3 汇编语言(目标码、机器码)全数字仿真 69
4.4.4 高级语言全数字仿真 70
4.4.5 对通用开发环境的测试支持与集成 71
4.4.6 全数字仿真的实时 71
4.5 详论全数字仿真侵入/干预/插桩方式 71
4.5.1 非嵌入式打点与嵌入式打点的例子 72
4.5.2 嵌入式插桩的例子 74
4.6 简化的自动化单元测试 75
4.6.1 过程 75
4.6.2 环境构造器 75
4.6.3 测试实例执行管理器 76
4.6.4 测试报告生成器 76
4.6.5 代码覆盖率 76
4.7 超实时、欠实时全数字仿真 77
4.8 软硬件协同验证全数字仿真技术 77
4.8.1 EDA设计概述 77
4.8.2 问题的提出 77
4.8.3 协同仿真Co Simulation环境 77
4.8.4 软硬件协同验证的模型开发 79
4.8.5 里程与实施 79
4.8.6 计划实施的时间与内容分配 80
4.9 全数字仿真嵌入式软件测试应用适用性 80
4.9.1 适用性 80
4.9.2 局限性 81
第5章 半数字/半物理固件方法 82
5.1 基于仿真目标机的嵌入式仿真(单机系统) 82
5.1.1 原则 82
5.1.2 软硬件分离 82
5.1.3 构成 82
5.1.4 基本概念 83
5.1.5 目的 84
5.1.6 仿真实时(Simulated Real Time)(源自原则(8)) 85
5.1.7 特点(Features) 85
5.1.8 开环测试 87
5.1.9 闭环测试 87
5.1.10 故障注入 88
5.1.11 测试 88
5.1.12 广义测试(源自原则(7)) 88
5.1.13 总结 89
5.2 基于真实目标机的半数字半物理嵌入式仿真(单机系统) 89
5.2.1 原则 89
5.2.2 软硬件分离 89
5.2.3 构成 90
5.2.4 基本概念 90
5.2.5 目的 91
5.2.6 仿真的实时Simulated Real Time(原则(8)) 91
5.2.7 特点 91
5.2.8 开环测试 91
5.2.9 闭环测试 92
5.2.10 故障注入 92
5.2.11 测试 92
5.2.12 总结 92
5.3 基于原型目标机半数字仿真嵌入式仿真(单机系统) 93
5.3.1 原则 93
5.3.2 软硬件分离 93
5.3.3 构成 94
5.3.4 基本概念 94
5.3.5 目的 95
5.3.6 仿真的实时(Simulated Real Time)(原则(8)) 95
5.3.7 特点 95
5.3.8 开环测试 95
5.3.9 闭环测试 96
5.3.10 故障注入 96
5.3.11 测试 96
5.3.12 总结 96
5.4 对通用开发环境的测试支持与集成 97
5.4.1 测发一体化原则的应用 97
5.4.2 GPS原则的应用 97
5.5 半物理仿真侵入/干预/插桩方式 97
5.5.1 侵入(干预,插桩)的基本思想 97
5.5.2 侵入/干预/插桩方式的功能 97
5.6 半物理半数字仿真嵌入式软件测试应用适用性 98
5.6.1 适用性 98
5.6.2 局限性 98
第6章 嵌入式在环的全物理方法 99
6.1 对真实目标机进行实时白盒开发/测试(硬件辅助实时在线) 99
6.1.1 问题的提出 99
6.1.2 方案比较和基本方法 99
6.1.3 软件系统的“逻辑分析仪” 102
6.2 实时仿真技术概述 104
6.2.1 概述 104
6.2.2 实时仿真的概念/构成实例 108
6.3 嵌入式快速原型目标机 111
6.3.1 一般仿真原型机系统构建 111
6.3.2 嵌入式快速原型目标机 113
6.4 全物理仿真 113
6.4.1 全物理仿真黑盒开发/仿真/测试原理 114
6.4.2 全物理仿真黑盒开发/仿真/测试拓扑 114
6.4.3 全物理仿真黑盒开发/仿真/测试功能 114
6.4.4 实时操作系统简介 116
6.4.5 系统测试 116
6.4.6 嵌入式仿真测试环境 117
6.5 虚拟仪器技术 117
6.5.1 概念 117
6.5.2 思想的形成 118
6.5.3 虚拟仪器系统 118
6.5.4 虚拟仪器的组成 118
6.5.5 虚拟仪器的功能 118
6.5.6 虚拟仪器的特点 118
6.5.7 虚拟仪器的数据采集(DAQ)方式 119
6.5.8 虚拟仪器技术的发展 119
6.6 全物理黑、白盒结合(灰盒)的测试 120
6.6.1 如何结合 120
6.6.2 黑、白盒结合的结构 120
6.7 全物理仿真应用适用性 121
6.7.1 适用性 121
6.7.2 局限性 121
第7章 基于嵌入式系统的复杂系统 122
7.1 复杂系统概述 122
7.1.1 原理 122
7.1.2 总体布局 122
7.1.3 系统框架环境 122
7.2 任务调度及时序控制 123
7.2.1 特点 123
7.2.2 优势 123
7.2.3 贯穿全生命周期 124
7.2.4 构成 124
7.2.5 特性 126
7.2.6 详细特征 127
7.3 面向任务的工作环境建立 129
7.3.1 基本概念 129
7.3.2 什么叫工作区 130
7.3.3 简单历史 130
7.3.4 面向对象的访问 130
7.3.5 面向最终用户的终端界面 131
7.3.6 面向任务的工作环境建立的CORBA结构 131
7.3.7 GUI:用户接口交互 131
7.3.8 其他工具集成 132
7.3.9 面向任务的工作环境建立工作流 132
7.3.10 结论 132
7.4 基于全数字虚拟化的复杂系统仿真 133
7.4.1 全数字仿真复杂系统概述 133
7.4.2 嵌入式在环全数字超实时仿真技术概念及其原理 134
7.4.3 嵌入式在环全数字超实时仿真系统架构及其应用 137
7.4.4 全数字仿真平台构成 138
7.5 基于半数字/半物理的复杂系统仿真 140
7.5.1 半数字/半物理复杂系统仿真概述 140
7.5.2 半数字/半物理仿真平台构成 141
7.6 基于全物理的复杂系统仿真 142
7.6.1 概述 142
7.6.2 仿真总体架构图 142
7.6.3 全物理仿真拓扑 142
7.6.4 全物理仿真平台构成 143
7.7 可测试性与故障诊断 143
7.7.1 可测试性(testability)的定义 143
7.7.2 黑盒测试面临的问题 143
7.7.3 故障诊断和健康管理的需求 144
7.7.4 软件的可测试性 144
7.7.5 可测试性概念下的单机级故障 144
7.7.6 故障诊断综合管理子系统 145
7.7.7 处置专家子系统 146
7.7.8 可测试性及故障注入子系统 146
7.8 复杂系统测试应用适用性 147
7.8.1 适用性 147
7.8.2 局限性 147
第8章 新一代系统论及其基础上的人/机/物工程管理 148
8.1 第二次软件危机——复杂性引起 148
8.1.1 软件工程概念的提出 148
8.1.2 工程与软件工程的概念 148
8.1.3 软件工程的具体含义 149
8.1.4 软件工程活动 149
8.1.5 软件工程原则 149
8.1.6 软件工程的基本原理 149
8.1.7 软件工程生命周期 150
8.1.8 软件工程框架 150
8.1.9 软件工程目标 150
8.1.10 软件工程本质特征 151
8.1.11 软件工程的技术和方法 151
8.1.12 结构化与面向对象 151
8.1.13 软件开发工具和环境概念 152
8.1.14 软件开发过程和软件项目管理概念 152
8.1.15 软件工程中的技术复审和管理复审 152
8.1.16 软件工程学 152
8.1.17 结论 154
8.1.18 总结与发展 154
8.2 嵌入式系统及其软件工程的困境 154
8.2.1 从F-22、F-35说起 154
8.2.2 F-35战斗机 157
8.3 系统工程 160
8.3.1 系统工程的概念起自对整体的看法 160
8.3.2 系统工程 161
8.3.3 系统工程定义 162
8.3.4 系统工程的特点 163
8.4 更一般性的广泛思考 164
8.4.1 再论系统工程 164
8.4.2 新的发展对系统工程的要求 165
8.5 国学指导下的方法论及新一代系统工程 171
8.5.1 嵌入式复杂系统困境 171
8.5.2 系统工程在嵌入式系统及其软件中的实践与应用 172
8.5.3 超系统论与太极盒 173
8.5.4 基于需求的嵌入式人/工程两化融合管理解决方案 173
第9章 理论结合实践——工具平台及其实施 177
9.1 典型工具平台 177
9.1.1 全数字仿真工具 177
9.1.2 半数字/半物理仿真测试工具 187
9.1.3 嵌入式在环的全物理仿真测试工具 192
9.1.4 复杂系统工具 203
9.1.5 嵌入式工程人/机/物管理工具 205
9.2 以服务为实施理论和工具平台的媒介 208
9.2.1 嵌入式公共服务平台 208
9.2.2 云计算服务平台方式 209
附录1 TCL脚本语言教程 211
1.1 概述 211
1.1.1 TCL背景 211
1.1.2 定义 211
1.1.3 TCL结构图(图中的黑方块代表组件) 212
1.1.4 TCL语言特点 212
1.2 TCL基础 213
1.2.1 交互方式 213
1.2.2 非交互方式 213
1.2.3 TCL与C++、Java的区别 214
1.3 TCL语法 214
1.3.1 命令结构 214
1.3.2 TCL核心命令 215
1.3.3 注释 215
1.3.4 数据类型 216
1.3.5 变量 216
1.3.6 引用和置换 217
1.3.7 字符串操作 218
1.3.8 表达式综述 220
1.3.9 数字、数学表达式和数学函数的操作 220
1.3.10 控制结构 221
1.3.11 数组变量 224
1.3.12 过程和作用域 226
1.3.13 输入输出 229
1.3.14 规则表达式 231
附录2 卫星导航定位与位置服务产品及软件测评 233
2.1 卫星导航定位 233
2.1.1 全球导航卫星系统 233
2.1.2 北斗卫星导航系统 234
2.1.3 导航定位产品 236
2.2 地图导航定位产品测评 236
2.2.1 测评大纲 237
2.2.2 检测指标 240
2.2.3 检测方法 242
2.2.4 导航定位设备技术性能测试 244
2.2.5 测评结果判定 246
2.3 测评的实施流程 246
2.3.1 前期准备 246
2.3.2 测评流程和执行 246
2.4 室内测试的原理(信号仿真) 250
2.4.1 功能 251
2.4.2 性能 252
2.4.3 软件 253
2.5 白盒测试的原理及方法 253
2.5.1 相关背景 253
2.5.2 技术内容 254
2.5.3 应用举例 255
附录3 卫星导航定位与位置服务公共云服务平台 265
3.1 公共服务平台 265
3.1.1 嵌入式公共服务平台 265
3.1.2 基于云服务的公共服务平台 277
3.1.3 卫星导航定位公共服务 278
3.2 云服务平台 282
3.2.1 云服务 282
3.2.2 卫星导航定位及位置服务公共服务平台 284
参考文献 292