This page documents a random assortment of resources of general interest to Embedded System developers. No effort is made to be comprehensive here! Feel free to suggest additional resources that should be included on this page by emailing suggestions to us at crcify@gmail.com.
Online Resources
Web Code Search Tools
www.koders.com Handy.
www.krugle.org Useful results, but frustrating interface.
Interesting Websites
www.dspguru.com EXCELLENT repository of DSP wisdom. Highly recommended!
Offline Resources
Computer Math Books
Numerical Recipes [in "vanilla", C, Fortran, etc] by Press, Flannery, Teukolsky & Vetterling
Must have. We probably have a complete set of language versions/editions kicking around.
A Numerical Library in C for Scientists and Engineers by Lau
Worthwhile reference.
Elementary Functions: Algorithms and Implementation by Muller
Nice compromise between high/gate-level implementations. Lots of approximation detail.
Software Manual for the Elementary Functions by Cody & Waite
Classic. Some fixed point, good floating point coverage.
Computer Arithmetic Algorithms by Koren
Tends towards the iron. Particularly good coverage of multiplication/division.
Introduction to Arithmetic for Digital Systems Designers by Waser & Flynn
REALLY tends toward the iron. Narrow but deep coverage.
Computer Misc Books
Graphics Gems 1-n (different editors for each version)
This whole series is full of interesting tips and tricks in (nominally), the field of computer graphics. It's amazing how many of the clever approaches/approximations carry over to resource-constrained embedded systems, however!
Hacker's Delight by Warren
Every bare-metal programmer needs to read this! It's pretty amazing how many jams a few carefully crafted CPU cycles can get you out of. Note that the coverage expands significantly in later editions. See the web site: www.hackersdelight.org for errata and additional material.
Data Structure/Algorithm Books
Algorithms [in C] by Sedgewick
Either the vanilla or C-specific version is a good investment.
Concrete Mathematics by Graham, Knuth & Patashink
Makes you think. A good use for the time you would otherwise waste on a summer vacation.
Data Structures, Algorithms, and Program Style Using C by Korsh & Garrett
Not ideal if you aren't using C, but a useful part of the dialog that is (slowly), moving programming from an art to a science.
Fundamentals of Data Structures by Horowitz & Sahni
A classic and really great introduction to data structures.
Fundamentals of Computer Algorithms by Horowitz & Sahni
OK, but not as good as the Data Structures book.
Handbook of Algorithms and Data Structures by Gonnet
A compact and well organized collection of techniques.
D. Knuth
Anything he writes is fine with us.
DSP Books
Digital Signal Processing in Communication Systems by Frerking
Great book. Nice coverage of communication-related DSP algorithms.
Understanding Digital Signal Processing by Lyons
Great book. Includes some tricks of the trade as well as a thorough introduction to the subject.
Programming Language Books
C - A Reference Manual by Harbison & Steele
Our favorite C language reference. According to recent surveys more than half of all embedded systems are still being developed in C. We probably have copies of all 5 editions kicking around somewhere.
The C Programming Language by Kernighan & Ritchie
The classic way generations of programmers learned C, but doesn't seem to get much use once you get there.
The Standard C Library by Plauger
An under appreciated reference to a critical part of using C. More useful the farther you are from the iron.
The C++ Programming Language by Stroustrup
The classic, but sometimes opaque, reference.
JAVA in a Nutshell by Flanagan
Great book. Hard to fit programs in 1K of microcontroller code space, but hey you can't have everything...