前言 IX
简介 XIII
第一章 嵌入式设计生命周期 1
概述 1
产品定义 3
硬件与软件划分 6
迭代与实现 9
详细的硬件与软件设计 9
硬件与软件集成 10
产品测试与发布 13
维护和升级现有产品 15
小结 16
参考文献 16
第二章 选择过程 17
封装芯片 19
优越的性能 22
EEMBC 25
执行基准测试 26
可选的RTOS 27
语言与微处理器支持 28
工具兼容性 28
性能 29
设备驱动程序 29
调试工具 29
标准兼容性 30
技术支持 30
源代码与目标代码 30
服务 31
开发套件可用性 31
编译器 32
硬件与软件调试工具 33
选择过程的其他问题 34
以前对某处理器系列的投入 34
以前在编程语言上的限制 35
上市时间 35
参考资料 36
小结 37
参考文献 38
第三章 划分决策 39
硬件与软件的双重性 39
硬件趋势 41
“编写”硬件 43
ASIC革命 46
ASIC及返工费用 48
风险管理 49
协同验证 50
参考资料 54
小结 55
参考文献 56
第四章 开发环境 57
执行环境 57
系统启动 60
中断响应周期 61
函数调用与栈帧 62
运行时环境 64
对象布局 69
使用连接器 71
参考资料 73
小结 74
参考文献 74
第五章 独特的软件技术 75
控制硬件 75
内嵌式汇编 75
内存映射访问 77
按位操作 78
使用存储类限定符volatile 79
速度与代码密度 81
中断与中断服务例程(ISRs) 83
从轮询循环到中断驱动 84
可嵌套的中断与可重入性 85
测量执行时间 86
看门狗定时器 88
看门狗定时器与调试目标系统 89
闪存 90
设计方法学 91
参考资料 94
小结 95
参考文献 95
第六章 基本工具套件 97
基于主机的调试 97
字长 98
字节排序 98
远程调试器与调试内核 101
ROM仿真器 106
限制 108
干扰和实时调试 109
逻辑分析仪 114
条件触发 117
触发资源 118
状态转换 121
限制 122
物理连接 123
逻辑分析仪与高速缓存 124
编译器优化 126
成本收益 126
其他用途 127
细节统计 127
小结 129
参考文献 130
第七章 BDM. JTAG和Nexus 132
背景调试模式(BDM) 133
联合测试行动组(JTAG) 137
Nexus 141
小结 146
第八章 一种集成解决方案——ICE 147
坚不可摧的运行控制 147
实时跟踪 150
硬件断点 153
覆盖存储器 155
时序限制 158
用法问题 160
设置触发条件 161
参考资料 162
小结 162
参考文献 163
第九章 测试 164
为什么要测试 164
何时测试 166
测试什么 167
何时停止 168
选择测试用例 169
测试嵌入式软件 172
实时失败模式 173
测量测试覆盖率 174
性能测试 179
如何测试性能 179
维护和测试 183
参考资料 184
小结 184
参考文献 185
第十章 未来 186
可重配置硬件 186
关于开发工具市场商业活动的一些评论 190
三个月后 194
工具与芯片 196
小结 199
参考文献 200