第1章 面向对象与UML建模
1.1 面向对象思想及其应用简介1
1.1.1 面向对象的问题描述2
1.1.2 面向对象的基本特征3
1.1.3 面向对象技术的其他重要概念4
1.2 UML建模的基本概念7
1.2.1 模型8
1.2.2 UML建模概念简介10
1.2.3 UML的构造事物12
1.2.4 UML的关系和图17
1.3 基于模型的计算系统28
思考练习题31
第2章 实时嵌入式系统基础知识
2.1 嵌入式系统的基本概念32
2.1.1 通用计算与嵌入式计算33
2.1.2 为什么要使用微处理器35
2.1.3 嵌入式系统的组成37
2.2 实时性、正确性与健壮性43
2.2.1 实时性及其他术语和概念44
2.2.2 正确性与健壮性48
2.3 资源受限的目标运行环境52
2.3.1 嵌入式系统的运行资源52
2.3.2 嵌入式系统的制造成本53
2.3.3 嵌入式系统的开发资源54
2.4 嵌入式操作系统55
2.4.1 硬件独立性56
2.4.2 可伸缩的框架58
2.4.3 任务调度61
2.4.4 内存分配63
2.4.5 任务间的通信65
2.4.6 时间管理以及其他可选的系统服务68
2.4.7 RTOS的选择68
思考练习题70
第3章 迭代和增量式的嵌入式系统开发过程
3.1 智力劳动与机械劳动72
3.2 用例驱动、以框架为中心和迭代增量式过程74
3.2.1 用例驱动75
3.2.2 以框架为中心78
3.2.3 迭代和增量式过程81
3.3 嵌入式系统软件框架89
3.3.1 什么是系统软件框架89
3.3.2 组成框架的三种模型90
3.3.3 框架模型间的关系93
3.4 过程中的阶段制品95
思考练习题97
第4章 面向对象的嵌入式系统分析
4.1 嵌入式系统分析的内容与目标99
4.2 用例驱动的嵌入式系统需求分析100
4.2.1 用例103
4.2.2 用例的行为描述104
4.2.3 外部事件和消息107
4.2.4 需求模型109
4.2.5 实例: PDA中一个模块的需求模型112
4.3 嵌入式系统结构分析117
4.3.1 领域分析与问题陈述118
4.3.2 发现对象118
4.3.3 标识关联124
4.3.4 标识对象属性126
4.3.5 建立系统的类模型127
4.3.6 创建类图的讨论132
4.4 嵌入式系统行为分析134
4.4.1 对象行为134
4.4.2 状态行为135
4.4.3 建立状态模型140
4.4.4 建立交互模型144
4.4.5 增加类的主要操作145
思考练习题147
第5章 面向对象的嵌入式系统设计
5.1 嵌入式系统设计的内容与目标148
5.2 设计模式及其在嵌入式系统设计中的作用150
5.2.1 什么是设计模式150
5.2.2 设计模式的基本结构151
5.2.3 在开发中使用设计模式152
5.3 嵌入式系统体系结构设计154
5.3.1 物理体系结构问题155
5.3.2 软件体系结构问题157
5.4 嵌入式系统机制设计160
5.5 嵌入式系统详细设计171
思考练习题180
第6章 以框架为中心的嵌入式系统程序设计
6.1 嵌入式系统程序设计与通用计算程序设计的区别181
6.2 嵌入式系统程序设计的开发环境184
6.3 有限状态机的程序实现方法187
6.3.1 有限状态机的本质187
6.3.2 标准状态机的实现190
6.4 程序设计与优化201
6.4.1 基本的C数据类型在目标微处理器上的映射201
6.4.2 C循环结构的效率205
6.4.3 寄存器分配209
6.4.4 函数调用的效率211
6.4.5 指针别名和冗余变量214
6.4.6 结构体内的变量安排215
6.4.7 除法217
6.4.8 关于程序优化的讨论219
思考练习题219
第7章 嵌入式系统的实现
7.1 软硬件协同设计与实现221
7.2 嵌入式系统的硬件实现223
7.2.1 微处理器的选择223
7.2.2 外围及接口电路的确定224
7.2.3 硬件原理图的建立226
7.2.4 PCB图的建立227
7.2.5 电路板的组装228
7.2.6 电路板的调试228
7.3 嵌入式系统硬件驱动程序229
7.3.1 嵌入式系统硬件驱动程序229
7.3.2 嵌入式系统的启动过程231
7.3.3 嵌入式系统分层设备驱动234
7.4 实时操作系统在嵌入式系统实现中的应用234
7.4.1 移植的条件235
7.4.2 移植的内容236
7.5 嵌入式系统的软件实现241
7.6 嵌入式系统的测试与调试245
7.6.1 调试工具和方法245
7.6.2 制造测试249
思考练习题253
附录 255
参考文献263