The development software used in this book is all open-source. Our
primary resource is the GNU software development tool-chain including gcc,
gas, objcopy, objdump, and the debugger gdb. I do not use an IDE such
as eclipse. I find that most IDEs have a high startup cost although they
can ultimately streamline the development process for large systems. IDEs
also obscure the compilation process in a manner that makes it difficult to
determine what is really happening, when my objective here is to lay bare the
development process. While the reader is welcome to use an IDE, I offer no
guidance on setting one up. One should not assume that open-source means
lower quality – many commercial tool-chains for embedded systems utilize
GNU software and a significant fraction of commercial software development is
accomplished with GNU software. Finally, virtually every embedded processor
is supported by the GNU software tool-chain. Learning to use this toolchain
on one processor literally opens wide the doors to embedded software
development.