GCC for Embedded Engineers
will produce a file compile—commands that the user can mark as executable and run a line at a time to pinpoint the exact cause of a problem.
GCC is a deceptively powerful, complex tool. The developers have created software that “does the right thing” with minimal information from the user. Because it works so well, users frequently forget to spend the time to learn about GCC's capabilities. This article scratches the surface; the best advice is to read the documentation and invest a little time each day to learn how this tool always can do more than expected.
uClibc, a replacement for the GNU C Library, optimized for size: www.uclibc.org.
dietlibc, another replacement for GNU C, the smallest of the group: www.fefe.de/dietlibc.
NewLib, a Red Hat-supported project for a minimal C library: sourceware.org/newlib.
GCC Internals—information about the guts and construction of GCC; it's very well written and a great guide for those curious about how GCC works: gcc.gnu.org/onlinedocs/gccint.
binutils—architecture-specific tools that smooth the way for development: www.gnu.org/software/binutils.
info gcc, from your command line, provides in-depth information about end-user-related aspects of GCC.
crosstool, a tool for building GCC cross-compilers, now the canonical way for doing so, is very easy to use: www.uclibc.org.
The Definitive Guide to GCC by Bill von Hagen—a great book covering all aspects of how to use GCC.
Gene Sally has been working with all facets of embedded Linux for the last seven years and is cohost of LinuxLink Radio, the most popular embedded Linux podcast. Gene can be reached at firstname.lastname@example.org.