开篇10问 1
第1篇 引入篇 5
第1章 状态机建模平台与入门实验 5
1.1 基于状态机的嵌入式系统开发平台IAR visualSTATE 5
1.1.1 visualSTATE的概念 6
1.1.2 visualSTATE事件处理机制 6
1.1.3 使用visualSTATE开发的应用案例 7
1.1.4 嵌入式系统 12
1.2 IAR visualSTATE安装及入门实验学习 13
1.2.1 安装visualSTATE 6.2 13
1.2.2 动手实践visualSTATE入门实验 14
第2篇 理论与实践篇 29
第2章 UML状态机理论基础 29
2.1 统一建模语言(UML) 30
2.2 UML状态机 30
2.2.1 状态机的概念 30
2.2.2 UML状态图 32
2.3 状态机与外部环境的接口 33
2.3.1 事件 33
2.3.2 动作 34
2.4 层次化的状态机 34
第3章 visualSTATE状态机 37
3.1 visualSTATE状态机模型 37
3.1.1 实现状态机的传统方法 38
3.1.2 UML和visualSTATE状态机设计规则 38
3.2 visualSTATE状态机元素 38
3.2.1 visualSTATE中的状态 39
3.2.2 visualSTATE中的转换 46
3.2.3 visualSTATE中的激励 48
3.3 visualSTATE状态机的并发结构 50
3.3.1 并发编程 50
3.3.2 交通灯控制器实例 51
3.3.3 状态机同步 53
3.4 讨论 55
第4章 visualSTATE工具链 57
4.1 IAR visualSTATE Designer 58
4.2 测试 59
4.2.1 动态规范性验证(VERIFICATION) 60
4.2.2 交互式模拟(确认VALIDATION) 62
4.2.3 原型(PROTOTYPING) 65
4.3 代码生成(CODE GENERATION) 66
4.4 文档生成(PROJECT REPORT) 67
4.5 产品集成(IMPLEMENTATION) 68
4.6 在目标系统内测试(IN-TARGET TEST) 70
4.7 维护一个visualSTATE项目的系统构架 70
第5章 visualSTATE状态机建模案例 72
5.1 案例分析——用UML状态机模型描述“轿车车厢灯”系统 72
5.2 根据需求设计状态机 73
5.2.1 识别事件和动作 73
5.2.2 识别状态 74
5.2.3 按层次划分组 74
5.2.4 按并发划分组 75
5.2.5 引入转换 76
5.2.6 引入同步 77
5.3 使用visualSTATE工具链设计本案例的具体流程 80
5.3.1 visualSTATE Designer中画状态图 80
5.3.2 visualSTATE Verificator动态规范性验证状态图 90
5.3.3 visualSTATE Validator中交互式模拟状态机 92
5.3.4 visualSTATE Coder中生成代码 98
5.3.5 visualSTATE Documentation中生成文档 100
第6章 系统整合 102
6.1 硬件系统简介 102
6.1.1 NE-STR750开发学习板简介 102
6.1.2 NE-STR750开发学习板的硬件资源 103
6.1.3 硬件布局及配置 103
6.1.4 EK-STM32F开发学习板简介 111
6.2 IAR Embedded Workbench集成开发环境 116
6.2.1 EWARM集成开发环境及配套仿真器 117
6.2.2 创建工程、编译和链接应用程序 120
6.2.3 用C-SPY调试应用程序 126
6.3 visualSTATE代码生成和在目标系统中执行 131
6.3.1 目标代码结构 132
6.3.2 实际运行环境 135
6.3.3 目标代码的资源需求 136
6.4 用C-SPY调试应用程序 139
6.4.1 开始调试 139
6.4.2 组织窗口 139
6.4.3 检查源语句 139
6.4.4 检查变量 140
6.4.5 设置和监视断点 141
6.4.6 在反汇编窗口中调试 142
6.4.7 监视寄存器 142
6.4.8 查看存储器 143
6.4.9 观察Terminal I/O 144
6.4.10 执行程序到结束 144
第7章 状态机在μC/OS-Ⅱ中的应用 146
7.1 实时操作系统μC/OS-Ⅱ概述 146
7.1.1 μC/OS-Ⅱ的组成部分 147
7.1.2 μC/OS-Ⅱ应用程序基本结构 147
7.2 visualSTATE集成到μC/OS-Ⅱ的说明 148
7.2.1 在多任务系统中组织多visualSTATE systems 149
7.2.2 创建多任务控制一个或者更多的visualSTATE systems 150
第3篇 创新设计篇 159
第8章 基于STM32的状态机建模 159
8.1 简易ATM取款机 159
8.1.1 软硬件环境 159
8.1.2 案例分析 160
8.1.3 状态机的建模分析 160
8.2 使用visualSTATE工具链设计、验证状态机 162
8.2.1 visualSTATE Designer设计状态图 162
8.2.2 状态机验证、仿真 165
8.2.3 visualSTATE Coder中生成代码 169
8.3 visualSTATE系统在STM32上的模拟实现方案 173
8.4 集成应用程序代码到STM32 175
8.4.1 在IAR Embedded Workbench中建立工程 175
8.4.2 在IAR Embedded Workbench中编写用户代码 182
8.4.3 在C-SPYLink中调试visualSTATE应用程序 192
8.4.4 用state-chart同步观察调试过程 194
第9章 车灯系统的快速建模 198
9.1 车灯系统的需求分析 198
9.1.1 系统综述 198
9.1.2 系统的控制描述 199
9.1.3 内部照明系统框图 202
9.2 车灯系统的状态图设计 202
参考文献 208