Embedded software is in almost every electronic device designed today. Yet because each embedded system is unique and highly customized to its application, it can be a difficult field to master. However, if you have some programming experience and are familiar with C or C++, you're ready to learn how to write embedded software. The hands-on, no-nonsense style of this book will help you get started by offering practical advice from someone who's been in your shoes and wants to help you learn quickly. The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Even if you've done some embedded programming before, you'll still benefit from this book. Topics include: testing memory chips, writing and erasing Flash memory, verifying nonvolatile memory contents, interfacing to on-chip and external peripherals, device driver design and implementation, optimizing embedded software for size and speed, and making the most of C++ without a performance penalty.
Download here (PDF)