I am constantly amazed by the graciousness of open source developers. I am humbled by the talent in our community that often far exceeds my own. During the course of this project, I reached out to many people in the Linux and open source community with questions. Most often my questions were quickly answered and with encouragement. In no particular order, I'd like to express my gratitude to the following members of the Linux and open source community who have contributed answers to my questions:
Dan Malek provided inspiriation for some of the contents of Chapter 2, "Your First Embedded Experience."
Dan Kegel and Daniel Jacobowitz patiently answered my toolchain questions.
Scott Anderson provided the original ideas for the gdb macros presented in Chapter 14, "Kernel Debugging Techniques."
Brad Dixon continues to challenge and expand my technical vision through his own.
George Davis answered my ARM questions.
Jim Lewis provided comments and suggestions on the MTD coverage.
Cal Erickson answered my gdb use questions.
John Twomey advised on Chapter 3, "Processor Basics."
Lee Revell, Sven-Thorsten Dietrich, and Daniel Walker advised on real time Linux content.
Many thanks to AMCC, Embedded Planet, Ultimate Solutions, and United Electronic Industries for providing hardware for the examples. Many thanks to my employer, Monta Vista Software, for tolerating the occasional distraction and for providing software for some of the examples. Many others contributed ideas, encouragement, and support over the course of the project. To them I am also grateful.
I wish to acknowledge my sincere appreciation to my primary review team, who promptly read each chapter and provided excellent feedback, comments, and ideas. Thank you Arnold Robbins, Sandy Terrace, Kurt Lloyd, and Rob Farber. Many thanks to Arnold for helping this newbie learn the ropes of writing a technical book. While every attempt has been made to eliminate mistakes, those that remain are solely my own.
I want to thank Mark L. Taub for bringing this project to fruition and for his encouragement and infinite patience! I wish to thank the production team including Kristy Hart, Jennifer Cramer, Krista Hansing, and Cheryl Lenser.
And finally, a very special and heartfelt thank you to Cary Dillman who read each chapter as it was written, and for her constant encouragement and her occasional sacrifice throughout the project.