第一篇 项目导学区 3
第1章 系统概念与市场需求 3
1.1 下班后的工作室 5
1.1.1 下班后的工作室 5
1.1.2 Allen与Tim的技术背景 7
Allen的技术背景 7
Tim的技术背景 8
1.2 第一笔交易 9
1.2.1 第一笔交易 9
1.2.2 新兴市场 11
1.3 深入探讨 12
1.3.1 什么是系统 13
子系统的重要性 15
子系统的次序性 16
小结 17
1.3.2 什么是系统工程 17
系统需求 18
风险评估 18
制定系统规格 19
系统规划 19
系统设计 19
系统实现 19
系统测试 19
售后服务 20
项目讨论 20
提供明确的步骤 21
注重进程、人力资源与成本之间的均衡 21
有效地记忆项目历史,帮助系统发展组织的成长 22
小结 22
1.3.3 什么是系统化方法 23
一号工具:Mind Map 24
二号工具:有效率的阅读 25
三号工具:问题分析与决策分析 25
小结 26
1.3.4 什么是嵌入式系统 26
小结 28
系统概念总结 28
1.4 市场需求 29
小结 30
1.5 进入嵌入式系统职场 30
1.5.1 嵌入式系统应用未来发展的趋势 30
无线网络 31
定址服务 32
射频身份识别(RFID)晶片 33
汽车通信/信息系统(Telematics) 34
机器人 34
显示器 35
小结 35
1.5.2 嵌入式系统工程师所需具备的基本技术条件 36
综合能力 36
相关硬件 37
小结 40
第2章 风险分析与规格制定 41
2.1 要不要接这个项目 43
2.2 客户到底要什么 47
2.3 深入探讨 57
2.3.1 风险分析 57
需求风险 58
时间风险 58
资金风险 58
项目管理风险 59
风险分析 59
小结 59
2.3.2 外包的考虑 60
外包的优点 60
外包风险 61
关于外包项目 62
小结 64
2.3.3 规格制定 64
系统功能 65
系统限制 65
系统开发资源 65
小结 66
2.3.4 和不同领域的专家合作 66
时间的优势 66
可靠性优势 67
风险 67
小结 67
本章结论 68
第3章 系统规划与设计 69
3.1 请先等一等 71
3.2 想好再动手 78
3.3 两难的抉择 84
3.4 深入探讨 85
3.4.1 系统规划 86
规格分析 86
预估项目进程 86
小结 87
3.4.2 系统设计 87
设计系统架构 88
寻找适当方案 89
系统设计 89
3.4.3 由上而下或由下而上的设计 90
3.4.4 设计阶段的一些决策 92
硬件方面 93
ICE和ICD 96
软件方面 97
Hard Real-Time System 98
Soft Real-Time System 98
小结 101
3.4.5 设计模板 101
本章结论 102
第4章 系统实现与测试 103
4.1 按图施工 105
4.2 突然想到的好主意 108
4.3 工作室传来的笑声 110
4.4 跑道上的悲歌 111
4.5 深入探讨 114
4.5.1 系统实现 114
系统实现考虑 114
从硬件做起 115
从驱动程序移植开始做起 116
从现成平台开始做起 116
软件实现 117
学习微控器的架构与外设控制 118
设计驱动程序 118
撰写与测试驱动程序 118
和系统集成 119
硬件实现 121
小结 122
4.5.2 版本控制 122
如果没有版本控制 123
软件控制的工具 124
人员训练 127
小结 127
4.5.3 系统测试 127
测试的目的 127
测试的方向 128
测试的种类 129
小结 130
4.5.4 系统调试 131
系统调试 131
调试方向 131
调试方式 134
小结 136
本章结论 137
第5章 售后服务与项目总结 139
5.1 售后服务 140
EMI问题的后话 142
5.2 项目总结 143
5.3 深入探讨 145
5.3.1 售后服务 145
5.3.2 项目讨论 146
本章结论 147
第二篇 项目装备区 151
第6章 Mind Map 151
6.1 什么是Mind Map 152
6.2 为什么要使用Mind Map 153
Mind Map在记录事情上的优点 153
Mind Map在问题讨论与沟通上的优点 154
Mind Map在项目执行上的优点 155
本书为什么要使用Mind Map 156
6.3 如何绘制第一幅Mind Map 156
如何绘制Mind Map 156
使用软件制作Mind Map 158
6.4 范例 159
本章结论 159
第7章 有效率的阅读 161
7.1 什么是有效率的阅读 162
7.2 为何需要有效率的阅读 162
7.2.1 何谓阅读效率 163
7.2.2 效率阅读带来的好处 164
7.3 如何达到有效率的阅读 164
7.3.1 环境准备 164
加内存法 165
加内存法是如何运行的 166
7.3.2 预习 167
7.3.3 有指引的阅读 168
7.3.4 复习 169
7.3.5 反复使用与练习 169
7.3.6 专业文件攻略 170
Data Book 170
专业书籍 171
专业杂志 172
撰写报告 172
7.3.7 再一次测试 172
本章结论 172
第8章 问题分析与决策分析 175
8.1 问题分析 177
8.1.1 什么是问题分析 177
8.1.2 为何需要问题分析 177
8.1.3 如何进行问题分析 178
8.1.4 问题模式 179
问题模式基本观念 180
环路式思考 180
时间延迟 182
双重恶性循环 183
8.1.5 问题分析实例——麻烦的USB Driver 184
新的挑战 184
练功之旅 184
开什么玩笑 185
原来Spec.上面写着 185
Byte Alignment 186
超频问题 186
另一种CPU(Endean) 186
时序问题 187
另一种CPU时序问题 187
小结 188
8.2 决策分析 188
8.2.1 什么是决策分析 188
8.2.2 为何需要决策分析 189
8.2.3 如何进行决策分析 189
8.2.4 决策分析实施案例——要不要接这个项目 191
MEI委托案的决策分析 191
决策分析实施案例——微控器的选择 192
小结 196
本章结论 196
第9章 数据收集 197
9.1 为何需要收集数据 198
9.2 要收集哪些数据 198
决定要设计何种系统 199
研究如何进行系统设计 199
实际进行设计 200
系统验证与微调 200
推出产品 200
9.3 如何进行数据收集 201
查市场报告与趋势分析 201
查论文 201
查技术报告 202
查规格与标准 202
查专利 202
用搜索引擎查数据 203
9.4 范例 203
本章结论 207
第10章 在嵌入式项目中使用UML 209
10.1 什么是UML 210
10.2 使用UML的好处 211
10.3 UML范例 211
基本程序流程图 212
Use Case Diagram 212
Activity Diagram 213
State Chart Diagram 214
Sequence Diagram 215
Deployment Diagram 217
Class Diagram 218
10.4 利用UML描述系统 220
系统分析阶段 221
系统设计阶段 223
本章结论 224
第11章 PCB How-To 225
11.1 需求 227
11.2 规格 227
11.3 规划 227
11.4 逻辑设计 229
11.5 工程外包 230
11.6 焊接 231
测试 232
取得硬件检查点 233
分模块测试 234
撰写功能完整的测试程序 234
11.7 调试 234
本章结论 235
附录 缩写简表 237