Resources

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...