Page 299 - Hacking Roomba
P. 299
280 Part III — More Complex Interfacing
FIGURE 13-16: The Arduino programming environment, same for all OSes
GCC is the GNU Compiler Collection (formerly GNU C Compiler) toolset, the standard
compiler used to create operating systems like Linux and Mac OS X, applications like Firefox,
and embedded systems like wireless routers and smartphones. It is the most successful open-
source project you’ve never heard of. Unlike user-focused software like Firefox, GCC is used
only by engineers and hackers, and yet it is pervasive and critical to the functioning of the Net.
Yahoo!, Google, ebay, and Amazon.com all use GCC on a daily basis. The philosophies and
design methodologies encapsulated by GCC were a beacon to other software developers: Here
was a best-of-breed toolkit given away for free and worked on by hundreds of people world-
wide. And it all started in the late 1980s.
Today GCC can compile code for just about any microprocessor or microcontroller. The
variant for the Atmel AVR is called AVR-GCC and is tuned to produce very tiny code while