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-
   167   168   169   170   171   172   173   174   175   176   177