This section contains links and interesting references for embedded issues,
with a special focus on debugging. While design and development are
important, the debugging process is usually overlooked; perhaps because
we all hope we do it right the first time so we don't have to go there.
If you are serious about embedded systems programming, you already visit Embedded.com and have a free subscription
to Embedded Systems Programming
magazine. It comes out once a month in print and online, and often
includes a Beginner's Corner
column discussing important basics like using counter/timers, interrupts, real
time, pulse width modulation and more.
Another is Circuit Cellar for
practical hands on advice.
Embedded Star for Embedded
Systems and Software Resources.
Embedded Computing Design
Magazine is a "resource for the latest news, engineering methods,
products, and tools necessary" for designing small to large distributed
embedded systems
Great
Microprocessors Past and Present is a really interesting and informative
website about CPUs and changing technologies. It includes appendices with nice
glossary information.
Rocket Aware is an online
Webliography and index for programmers with 50,000 links. The mission promotes
software reuse. "We radically reduce the time to locate software and
knowledge." It has a number of excellent pages and links in areas beyond
just software, including:
Microcontroller.com provides
sourcing information on microcontrollers, tools vendors, semiconductors, etc.,
but it is a little dated. The site also includes some white papers and
silliness like the paperless
office.
Embedded Research Solutions Publications page
contains references to useful articles, books, and conference papers.
The Embedded and Hardware section of Programmers Heaven.com.
Has some nice articles and message boards with folks answering fundamental
questions.
The debugging page at Softpanarama
is a rambling conglomeration of links and debugging lore for a variety of
hardware and software, but good debugging nuggets and philosophies can be
found.
Software Architecture and Design
SoftwareArchitectures.com
is all about software archicture - what it is, who does it, what documents are
used, analysis and tradeoff methods, and white papers.
DevTown Station (The Software Developers Training Portal) lists the latest
embedded systems conferences here.
The Embedded Systems Conference in
San Francisco (March 2005) was awesome! Get to one of these conferences if at
all possible.
Embedded
Systems Dictionary by Jack Ganssle and Michael Barr is an excellent
resource for definitions, concepts and examples for technical and non-technical
folks. This is a nice complement to all the home brew acronym and
glossary excel spreadsheets out there.
Debugging
Embedded Microprocessor Systems by Stuart Ball is one of the only books on
the market that highlights the debugging process. Since debugging often
takes up to 50% of the development process, why is it so under-explored?
Chapter 9 has some nice real-life "debugging scenarios from the
trenches." Here is
a review.
Embedded
System Design by Arnold S. Berger is an easy-to-read practical book that
also contains brief "From the Trenches" vignettes, and plenty of
figures and references. And I have to love an author who states,
"I'm convinced that debugging is the lost art of software development."
Excellent resource.
An
Embedded Software Primer by David E. Simon. A very appropriate
description of the embedded systems world: "Any rule followed by 85
percent of the engineers as part of the accepted gospel of best practice has to
be broken by the other 15 percent just to get their systems to work."
C
Programming Language (2nd Edition) by Brian W. Kernighan and Dennis
Ritchie. Although this is not specifically an embedded book, it is a bible of C
programming without the object oriented hoopla that can bring an embedded
project to its knees. A personal favorite.
CMP Developer Network provides
internet access to Dr. Dobb's Journal, Software Development
Magazine, Byte, and C/C++ Users Journal.
Although these journals are not free, they contain a ton of great
information. Online subscriptions are not expensive.
Real-Time Systems
the International Journal of Time-Critical Computing Systems, publishing
research papers, project reports, and case studies focusing on real time
principles and applications.
The
Primer FAQ on Embedded Systems by Russ Hersch is old (1997) but contains a
lot of good overview and intro information that is still very useful.
Real Time Embedded Systems
Forum. According to the website, it "defines, coordinates, integrates
and prioritizes real-time and embedded systems standards utilizing various
existing architectural approaches. The Forum also defines test suites and
certification programs for products adhering to these standards to enable the
proliferation of conformant real-time and embedded systems."