Page 172 - The Art of Designing Embedded Systems
P. 172
Troubleshooting Tools 159
A Canadian company had a PCMCIA-based product whose CPU’s
whisker-thin TQFP leads defeated every ICE connection attempt. Their
wonderfully clever solution was to design the card with a large extra con-
nector-a 100-pin header-to which all of the CPU signals went. This, of
course, doubled the size of the board. The connector sat at the far side of
the board, outside of the PCMCIA’s nominal form factor (i.e., when the
board was plugged into a laptop computer, the connector protruded into
space outside of the PC). The engineers ensured that the connector’s pinout
exactly matched that of the emulator they selected, so the ICE’S pod
plugged in with no adaptors or other reliability reducers. When it came
time to ship the product they cut the connector off, and the board down to
size, with a bandsaw. Production versions, of course, were proper-sized
cards without the connector.
If your product uses a card cage, no doubt the board-to-board spac-
ing is insanely tight. Too often extender cards don’t work, since the CPU
becomes unstable driving the extra long lines. Just debugging the hardware
is hard enough-try slipping a scope probe in between boards! It’s not un-
usual to see a card with a dozen wires hastily soldered on. snaked out to
where the scope or logic analyzer can connect.
Why make life so hard? Either design a robust processor board that
works properly on an extender, or come up with a mechanical strategy that
lets you put the CPU near the end of the cage, with the cage’s metal covers
removed, so you and the software people can gain the access so essential
to high-productivity debugging.
One DOD system’s card cage is so tightly packed into the rack of
equipment that the developers could only remove the “wrong” (i.e., circuit)
side of the card cage cover. Their solution: solder the processor socket on
the circuit side of the board, and then make a pin swapping jig for the logic
analyzer. Using a ROM emulator in a similarly tight situation? Consider
the same trick, inverting one or more ROM sockets.
Make sure the CPU (when using an ICE or logic analyzer) or ROM
sockets (ROM emulator) are positioned so it’s possible to connect the tool.
Be sure the chip’s orientation matches that needed by the emulator or an-
alyzer.
Nonintrusive Myths
Debugging tool vendors all promote the myth of “nonintrusive
tools.” In fact, we demand just the opposite-what could be more intru-
sive, after all, than hitting a breakpoint?
Other forms of intrusion are less desirable but inevitable as the hard-

