Preface |
|
xi | |
|
Chapter 1 What's the problem? |
|
|
1 | (12) |
|
|
11 | (2) |
|
Chapter 2 A systematic approach to debugging |
|
|
13 | (20) |
|
The six stages of debugging |
|
|
13 | (18) |
|
|
31 | (2) |
|
Chapter 3 Best practices for debugging embedded software |
|
|
33 | (30) |
|
|
33 | (1) |
|
What makes embedded systems different? |
|
|
34 | (7) |
|
What are the best practices for debugging an embedded system? |
|
|
41 | (5) |
|
Best practices for software in general |
|
|
46 | (5) |
|
Best practices for debugging embedded software in particular |
|
|
51 | (1) |
|
|
52 | (3) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
57 | (1) |
|
|
58 | (1) |
|
|
59 | (1) |
|
|
60 | (3) |
|
Chapter 4 Best practices for debugging embedded hardware |
|
|
63 | (30) |
|
|
63 | (1) |
|
The debug process for hardware |
|
|
64 | (1) |
|
|
65 | (3) |
|
|
68 | (2) |
|
|
70 | (1) |
|
|
71 | (6) |
|
|
77 | (4) |
|
Microprocessor design best practices |
|
|
81 | (10) |
|
|
91 | (1) |
|
|
91 | (1) |
|
|
92 | (1) |
|
Chapter 5 An overview of the tools for embedded design and debug |
|
|
93 | (34) |
|
|
93 | (1) |
|
|
94 | (4) |
|
|
98 | (6) |
|
|
104 | (5) |
|
|
109 | (8) |
|
|
117 | (1) |
|
|
118 | (1) |
|
|
119 | (7) |
|
|
126 | (1) |
|
|
126 | (1) |
|
Chapter 6 The hardware/software integration phase |
|
|
127 | (30) |
|
|
127 | (1) |
|
The HW/SW integration diagram |
|
|
127 | (3) |
|
The case of the nonstandard hard disk drive interface |
|
|
130 | (1) |
|
The last gasp of the vector display |
|
|
130 | (1) |
|
Underpowered emulator card cage |
|
|
131 | (1) |
|
Feature creep and the big customer |
|
|
131 | (23) |
|
|
154 | (3) |
|
Chapter 7 On-chip debugging resources |
|
|
157 | (14) |
|
|
157 | (2) |
|
|
159 | (1) |
|
|
160 | (5) |
|
|
165 | (1) |
|
|
166 | (4) |
|
|
170 | (1) |
|
Chapter 8 Systems on a chip |
|
|
171 | (18) |
|
|
171 | (1) |
|
Field-programmable gate arrays |
|
|
172 | (9) |
|
|
181 | (5) |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
187 | (2) |
|
Chapter 9 Testing methods for isolating defects |
|
|
189 | (32) |
|
|
189 | (1) |
|
Barriers to finding problems |
|
|
189 | (2) |
|
|
191 | (1) |
|
|
191 | (1) |
|
|
192 | (5) |
|
Performance-related faults |
|
|
197 | (2) |
|
|
199 | (1) |
|
|
199 | (6) |
|
|
205 | (1) |
|
Spread spectrum oscillators |
|
|
206 | (2) |
|
|
208 | (4) |
|
|
212 | (1) |
|
Power supply-related faults |
|
|
213 | (3) |
|
|
216 | (2) |
|
|
218 | (3) |
|
Chapter 10 Debugging real-time operating systems (RTOS) |
|
|
221 | (18) |
|
|
221 | (1) |
|
Defect issues in RTOS systems |
|
|
222 | (1) |
|
|
222 | (2) |
|
|
224 | (1) |
|
Interrupt-related problems |
|
|
225 | (3) |
|
Unintended compiler optimizations |
|
|
228 | (1) |
|
|
229 | (2) |
|
RTOS-aware tools: An example |
|
|
231 | (6) |
|
|
237 | (2) |
|
Chapter 11 Serial communication systems |
|
|
239 | (18) |
|
|
239 | (1) |
|
|
240 | (1) |
|
Wrong COM port assignment |
|
|
241 | (1) |
|
|
242 | (1) |
|
Wrong baud rate (clock frequency) |
|
|
243 | (1) |
|
|
244 | (1) |
|
|
245 | (5) |
|
|
250 | (3) |
|
|
253 | (1) |
|
Controller area network (CAN-bus) |
|
|
254 | (1) |
|
|
255 | (1) |
|
|
255 | (1) |
|
|
255 | (2) |
|
Chapter 12 Memory systems |
|
|
257 | (22) |
|
|
257 | (1) |
|
General testing strategies |
|
|
257 | (2) |
|
|
259 | (7) |
|
|
266 | (4) |
|
|
270 | (3) |
|
|
273 | (1) |
|
Software-based memory errors |
|
|
274 | (1) |
|
|
275 | (2) |
|
|
277 | (2) |
Index |
|
279 | |