The Firmware Handbook
- 1st Edition - April 16, 2004
- Latest edition
- Author: Jack Ganssle
- Language: English
The Firmware Handbook provides a comprehensive reference for firmware developers looking to increase their skills and productivity. It addresses each critical step of the developme… Read more
The Firmware 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.
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.
Preface
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
"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
- Edition: 1
- Latest edition
- Published: April 16, 2004
- Language: English
JG