If you have programming experience and a familiarity with C--the dominant language in embedded systems--Programming Embedded Systems, Second Edition is exactly what you need to get started with embedded software. This software is ubiquitous, hidden away inside our watches, DVD players, mobile phones, anti-lock brakes, and even a few toasters. The military uses embedded software to guide missiles, detect enemy aircraft, and pilot UAVs. Communication satellites, deep-space probes, and many medical instruments would have been nearly impossible to create without embedded software. The first edition of Programming Embedded Systems taught the subject to tens of thousands of people 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 with Programming 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 book apply.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 server computersBasic debugging techniques--a critical skill when working with minimally endowed embedded systemsHandling different types of memoryInterrupts, and the monitoring and control of on-chip and external peripheralsDetermining whether you have real-time requirements, and whether your operating system and application can meet those requirementsTask synchronization with real-time operating systems and embedded LinuxOptimizing embedded software for size, speed, and power consumptionWorking examples for eCos and embedded LinuxSo whether you're writing your first embedded program, designing the latest generation of hand-held whatchamacalits, or managing the people who do, this book is for you. Programming Embedded Systems will help you develop the knowledge and skills you need 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
From the Publisher: How to build low-cost, royalty-free embedded solutions with eCos Covers eCos architecture, installation, configuration, coding, debugging, bootstrapping, porting, and more Incorporates additional open source software components to extend the features and functionality of eCos, meeting the requirements of a wide range of embedded systems Includes open source tools for a complete embedded software development environment with eCos as the core Contains extensive code examples and complete application case studyForeword by Michael Tiemann, CTO, Red Hat Software and Co-founder of Cygnus Solutions"Anthony's book is easily the most complete treatment of eCos system development. I believe it is destined to become part of every eCos developer's library." Michael Tiemann, CTO, Red Hat Software and Co-founder of Cygnus SolutionsBuild low-cost, royalty-free embedded solutions with eCosstep by step.The Embedded Configurable Operating System (eCos) gives professionals a low-cost, royalty-free embedded software development solution that works in highly constrained hardware environments, while scaling smoothly to larger products. In this start-to-finish guide to eCos solution building, Anthony Massa covers eCos architecture, installation, configuration, coding, deployment, and the entire eCos open source development system. Additional open source tools are included to configure a complete embedded software development environment. Massa's code examples and application case study illuminate techniques for building virtually any embedded system, from the simplest device tcomplex Internet-enabled wireless systems. Coverage includes: Understanding eCos architecture: kernel, hardware abstraction layer, and other components Preparing your eCos embedded development environment Incorporating additional open source tools for a complete embedded software development environment Working with exceptions, interrupts, and virtual vectors Managing threads and synchronization Utilizing the eCos networking stack, I/O system, and file system Covering additional eCos functionality, including third-party open source contributions Using RedBoot, the standardized embedded debug and bootstrap solution Porting eCos to new hardware platformsCD-ROM INCLUDEDThe accompanying CD-ROM contains the complete eCos development environment, along with all the code presented in this book.