Key Features
* Included CD-Rom contains all the source code used in the design examples, so engineers can easily use it in their own designs
Description
This handbook provides a comprehensive reference for firmware developers looking to increase their skills and productivity. It addresses each critical step of the development process in detail, including how to optimize hardware design for better firmware. Topics covered include real-time issues, interrupts and ISRs, memory management (including Flash memory), handling both digital and analog peripherals, communications interfacing, math subroutines, error handling, design tools, and troubleshooting and debugging. The companion CD-ROM includes all the code used in the design examples and a searchable ebook version of the text.
This book is not for the beginner, but rather is an in-depth, comprehensive one-volume reference that addresses all the major issues in firmware design and development, including the pertinent hardware issues.
Readership
Embedded systems developers, programmers and designers, electronics engineers and technicians.
The Firmware Handbook, 1st Edition
Preface
What’s on the CD-Rom?
Section I: Basic Hardware
Introduction
Chapter 1: Basic Electronics
Chapter 2: Logic Circuits
Chapter 3: Hardware Design Tips
Section II: Designs
Introduction
Chapter 4: Tools and Methods for Improving Code Quality
Chapter 5: Tips to Improve Functions
Chapter 6: Evolutionary Development
Chapter 7: Embedded State Machine Implementation
Chapter 8: Hierarchical State Machiens
Chapter 9: Developing Safety Critical Applications
Chapter 10: Installing and Using a Version Control System
Section III: Math
Introduction
Chapter 11: An Introduction to Machine Calculations
Chapter 12: Floating Point Approximations
Chapter 13: Math Functions
Chapter 14: IEEE 754 Floating Point Numbers
Section IV: Real-Time
Introduction
Chapter 15: Real-Time Kernels
Chapter 16: Reentrancy
Chapter 17: Interrupt Latency
Chapter 18: Understanding Your C Compiler: How to Minimize Code Size
Chapter 19: Optimizing C and C++ Code
Chapter 20: Real-Time Asserts
Section V: Errors and Changes
Introduction
Chapter 21: Implementing Downloadable Firmware with Flash Memory
Chapter 22: Memory Diagnostics
Chapter 23: Nonvolatile Memory
Chapter 24: Proactive Debugging
Chapter 25: Exception Handling in C++
Chapter 26: Building a Great Watchdog
Appendix A: ASCII Table
Appendix B: Byte Alignment and Ordering
Index
Quotes and reviews
This handbook will be the standard reference in the field, it provides a much-needed comprehensive information source for firmware developers looking to increase their skills and productivity. - EDN Magazine
This book is edited by Jack Ganssle and includes contributions from a wide range of writters, making this book very broadly based. Any software graduate reading this book would be taking a step in the right direction for learning about software issues that arise in developing production level embedded software. More experienced engineers may find a lot of the material familiar, though I came across a few points that I had not seen elsewhere.
The first thing I noticed was that unlike most embedded systems books, this one does not emphasise a particular processor, or RTOS, or technology. This is probably a good thing if you are looking for a broad embedded education, rather than details of one specific technology. The book also has more of a software emphasis than most books on this topic. - Panelsoft.com