The first edition of Programming Embedded Systems taught the subject to tens of thousands ofpeople around the world and is now considered the bible of embedded programming. This second edition has been updated to cover all the latest hardware designs and development methodologies.
The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Examples use the free GNU software programming tools, the eCos and Linux operating systems, and a low-cost hardware platform specially developed for this book. If you obtain these tools along withProgramming Embedded Systems, Second Edition, you'll have a full environment for exploring embedded systems in depth. But even if you work with different hardware and software, the principles covered in this bookapply.
Whether you are new to embedded systems or have done embedded work before, you'll benefit from the topics in this book, which include:How building and loading programs differ from desktop or servercomputersBasic debugging techniques--a critical skill when working withminimally endowed embedded systemsHandling different types of memoryInterrupts, and the monitoring and control of on-chip and externalperipheralsDetermining whether you have real-time requirements, and whetheryour operating system and application can meet those requirementsTask synchronization with real-time operating systems and embeddedLinuxOptimizing embedded software for size, speed, and power consumptionWorking examples for eCos and embedded Linux
So whether you're writing your first embedded program, designing thelatest generation of hand-held whatchamacalits, or managing the peoplewho do, this book is for you. Programming EmbeddedSystems will help you develop the knowledge and skills youneed to achieve proficiency with embedded software.
Praise for the first edition:"This lively and readable book is the perfect introduction for those venturing into embedded systems software development for the first time. It provides in one place all the important topics necessary to orient programmers to the embedded development process.
--Lindsey Vereen, Editor-in-Chief, Embedded Systems Programming
Author Simon Monk (Raspberry Pi Cookbook) breaks down this complex subject into several topics, from using the right transistor to building and testing projects and prototypes. With this book, you can quickly search electronics topics and go straight to the recipe you need. It also serves as an ideal reference for experienced electronics makers.
This cookbook includes:Theoretical concepts such as Ohm’s law and the relationship between power, voltage, and currentThe fundamental use of resistors, capacitors and inductors, diodes, transistors and integrated circuits, and switches and relaysRecipes on power, sensors and motors, integrated circuits, and radio frequency for designing electronic circuits and devicesAdvice on using Arduino and Raspberry Pi in electronics projectsHow to build and use tools, including multimeters, oscilloscopes, simulations software, and unsoldered prototypes
Going through the text and experimenting with the programs in a laboratory will definitely empower the potential reader, having more or less programming or electronics experience, to build embedded systems using microcontrollers around the home, office, store, etc. Practical Aspects of Embedded System Design using Microcontrollers will serve as a good reference for the academic community as well as industry professionals and overcome the fear of the newbies in this field of immense global importance.
Arduino Internals begins by reviewing the current Arduino hardware and software landscape. In particular, it offers a clear analysis of how the ATmega8 board works and when and where to use its derivatives. The chapter on the "hardware heart" is vital for the rest of the book and should be studied in some detail.
Furthermore, Arduino Internals offers important information about the CPU running the Arduino board, the memory contained within it and the peripherals mounted on it. To be able to write software that runs optimally on what is a fairly small embedded board, one must understand how the different parts interact. Later in the book, you'll learn how to replace certain parts with more powerful alternatives and how to design Arduino peripherals and shields.
Since Arduino Internals addresses both sides of the Arduino hardware-software boundary, the author analyzes the compiler toolchain and again provides suggestions on how to replace it with something more suitable for your own purposes. You'll also learn about how libraries enable you to change the way Arduino and software interact, and how to write your own library implementing algorithms you've devised yourself. Arduino Internals also suggests alternative programming environments, since many Arduino hackers have a background language other than C or Java.
Of course, it is possible to optimize the way in which hardware and software interact—an entire chapter is dedicated to this field.
Arduino Internals doesn't just focus on the different parts of Arduino architecture, but also on the ways in which example projects can take advantage of the new and improved Arduino board. Wheat employs example projects to exemplify the hacks and algorithms taught throughout the book.
Arduino projects straddling the hardware-software boundary often require collaboration between people of different talents and skills which cannot be taken for granted. For this reason, Arduino Internals contains a whole chapter dedicated to collaboration and open source cooperation to make those tools and skills explicit.
One of the crowning achievements of an Arduino hacker is to design a shield or peripheral residing on the Arduino board, which is the focus of the following chapter. A later chapter takes specialization further by examining Arduino protocols and communications, a field immediately relevant to shields and the communication between peripherals and the board.
Finally, Arduino Internals integrates different skills and design techniques by presenting several projects that challenge you to put your newly-acquired skills to the test!
Please note: the print version of this title is black & white; the eBook is full color.