Page 141 - The Art of Designing Embedded Systems
P. 141

128  THE  ART OF  DESIGNING EMBEDDED SYSTEMS


                      the other in engineering modifications, but you’ll have options if  (when)
                      the first board smokes. Anyone who has been at this for a while has blown
                      up a board or two.
                           I generally buy three blank prototype PCBs, assemble two, and use
                      the third to see where tracks run. Though sometimes you’ll have to go back
                      to the artwork to find inner tracks, it sure is handy to have the spare blank
                      board on the bench during debug.


                             It’s scary how  often the firmware group receives a piece of
                         “functional” prototype hardware from the designers accompanied
                         by nothing more than the schematics-schematics  that are usually
                         incomprehensible to the software folks. made even more abstruse by
                         massive use of PLDs and similar functional blocks plopped down on
                         the page, with perhaps hundreds of connections. They are documen-
                         tation black holes-every signal goes in, and presumably something
                         comes out, but without the designer’s suite of design tools even the
                         brightest firmware person will never make sense of the design.
                             Where does one draw the line between the responsibilities of
                         the hardware designers and those of the firmware folks? Should the
                         designers include  device  drivers? Seems reasonable  to me, since
                         surely they did indeed at least hack together a bit of code to test each
                        device. Why not structure the development plan to make this test
                        code part  of  the framework of  the  final  software? The hardware
                         tends to be so complex now that it’s unfair to give “naked iron” to
                        the software people. At the very least, deliver low-level drivers with
                         well-defined interfaces.
                             If you live and breathe hardware only, do talk to your software
                        counterparts. You may be surprised to learn that all too often your
                        cool new product makes debugging the code practically impossible.
                        Poor design decisions might seriously affect the firmware schedule.
                        All embedded people must understand that their creation does not
                        exist  in isolation; the code and the chips all function together, to
                        form the seamless gestalt that (you hope) delights the user.




                          Changing PCBs
                           After spending a couple of months writing code, it’s a bit of a shock
                      to come back to the hardware world. Fixing bugs is a real pain! Instead of
                      a quick editkompile, you’ve got to break out a soldering iron, wire, parts,
                      and then manipulate a pin that might be barely visible.
   136   137   138   139   140   141   142   143   144   145   146