Embedded systems control many devices in common use today, from digital watches and iPods to traffic lights and the systems controlling nuclear power plants. Since inefficiency isn’t tolerated, these systems require a disciplined approach to programming.
Making Embedded Systems helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming.
Embedded systems are where the software meets the physical world. As we put tiny computers into all sorts of systems (door locks, airplanes, pacemakers), how we implement the software is truly, terrifyingly important. Writing software for these things is more difficult than computer software because the systems have so few resources. Instead of building better software, the trend has been to allow a cowboy mentality of just getting it done.
Making Embedded Systems will show you how to:
- Optimize your system to reduce cost and increase performance
- Develop an architecture that makes your software robust in resource-constrained environments
- Explore sensors, motors, and other I/O devices
- Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption
- Learn how to update embedded code directly in the processor
- Discover how to implement complex mathematics on small processors
- Understand what interviewers look for when you apply for an embedded systems job.
Written by an expert who has created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.