Chapter 5. Programming the Arduino and AVR Microcontrollers

This chapter is an ambitious high-level tour of the tools, concepts, and techniques that you can use to create, compile, assemble, and load software onto an Arduino. There are many deep subjects covered here in broad strokes, and it would be impossible to do any of them real justice in the space of a single chapter. The goal is to provide you with enough information to get previous experience with microcontrollers, you may find out some things about the Arduino environment that you were not aware of before.

Note

This chapter does not describe the C or C++ languages. Those topics are covered elsewhere in great detail (refer to Appendix D for some suggested books). The intent here is to impart an understanding of how the contents of a program or a sketch are converted into binary codes that the AVR MCU, on an Arduino board or wherever it might be, can execute, and what is involved in making that happen.

This chapter starts with a short overview of cross-compiling, the technique of using a compiler and other tools on one computer system to create executable programs that can be transferred to another computer, perhaps with a completely different architecture. This is exactly what the Arduino integrated development environment is designed to do. Chapter 6 provides a more detailed look at the low-level development tools and techniques that the Arduino IDE utilizes, but here the focus is on what the Arduino IDE can do and ...

Get Arduino: A Technical Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.