Volume 3, Number 9 Copyright 1998 TGG May 26, 1998
You may redistribute this newsletter for noncommercial purposes. For commercial use contact email@example.com.
EDITOR: Jack Ganssle, firstname.lastname@example.org
- Hardware Helpers
- Thought for the Week
- About The Embedded Muse
Hardware designers who build our embedded systems daily make design decisions that impact the debuggability of the product. Don Jackson suggested that we collect ideas that hardware engineers can use to ease the burden of testing both the hardware and the firmware.
Hereís a few; feel free to send more along!
- Put a nice ground clip on the board to ease the hassle of connecting a scope or logic analyzer.
- Pull-up resistors, though, create no end of problem with some debug tools. The tools may load signals differently than the CPU, so use a low value (say, 10k) rather than 100k or more.
- Add a couple of spare I/O bits to the design that firmware folks can use to instrument their code. A bit of code can toggle the bits up and down, allowing simple performance measurements and the like.
- Leave margin in your timing! An extra 5 nsec or so on the read and write timing - and ESPECIALLY in the wait circuit timing (if used) - will sure make emulators and other tools work more reliably.
- Similarly, orient the CPU chip so itís possible to connect an emulator. Sometimes the target board is so buried inside of a cabinet that access is limited at best; most emulator pods have form factors that favor a particular direction of insertion.
- If youíre using a processor that supports on-chip debugging (BDM, JTAG, etc.), then by all means install the debug connector on the board - even if youíre planning to use a full-blown emulator. The connectorís cost approaches zero, and may save a project suffering from tool-woes.
- A spare serial port sure opens debugging options. A variety of free software monitors exist (see the Simtel archives on the net); all require the use of a serial link.
- Never forget that one of the most useful chunks of hardware is a spare timer or two, for running an RTOS or simply doing some sequencing.
Thought for the Week
The tech support problem dates back to long before the industrial revolution, when primitive tribesmen beat out a rhythm on drums to communicate:
This fire help. Me Groog
Me Lorto. Help. Fire not work.
You have flint and stone?
You hit them together?
Fire not work
(sigh) Make spark?
No spark, no fire, me confused. Fire work yesterday.
*sigh* You change rock?
I change nothing
Me make one change. Stone hot so me soak in stream so stone not burn Lorto hand. Small change, shouldn't keep Lorto from make fire.
*Grabs club and goes to Lorto's cave*