Book description
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.
Included CD-Rom contains all the source code used in the design examples, so engineers can easily use it in their own designsTable of contents
- Cover
- Acknowledgements
- Contents (1/2)
- Contents (2/2)
- Preface
- I. Basic Hardware
-
II. Designs
- II. Introduction
-
Chapter 4. Tools and Methods for Improving Code Quality
- Introduction
- The Traditional Serial Development Cycle of an Embedded Design
- Typical Challenges in Today’s Embedded Market
- Generic Methods to Improve Code Quality and Reduce the Time-to-Market
- Major Time Factors for the Engineering Cycle
- Where is Most Time Needed?
- How to Improve Software Development Time and Code Quality
- How to Reduce Hardware Development Time
- Outlook and Summary
- Chapter 5. Tips to Improve Functions
- Chapter 6. Evolutionary Development
- Chapter 7. Embedded State Machine Implementation
- Chapter 8. Hierarchical State Machines
-
Chapter 9. Developing Safety Critical Applications
- Introduction
- Reliability and safety
- Along came DO-178B
- Overview of DO-178B
- Failure Condition Categorization
- System Architectural Considerations
- System Architectural Documentation
- DO-178B Software life cycle
- Object Oriented Technology and Safety Critical Software Challenges
- Iterative Process
- Issues Facing OO Certification
- Summary
- References
-
Chapter 10. Installing and Using a Version Control System
- Introduction
- The Power and Elegance of Simplicity
- Version Control
- Typical Symptoms of Not (Fully) Utilizing a Version Control System
- Simple Version Control Systems
- Advanced Version Control Systems
- What Files to Put Under Version Control
- Sharing of Files and the Version Control Client
- Integrated Development Environment Issues
- Graphical User Interface (GUI) Issues
- Common Source Code Control Specification
- World Wide Web Browser Interface or Java Version Control Client
- Bug Tracking
- Non-Configuration Management Tools
- Closing Comments
- Suggested Reading, References, and Resources
- III. Math
-
IV. Real-Time
- IV. 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
- Adjust Structure Sizes to Power of Two
- Place Case Labels in Narrow Range
- Place Frequent Case Labels First
- Break Big Switch Statements into Nested Switches
- Minimize Local Variables
- Declare Local Variables in the Innermost Scope
- Reduce the Number of Parameters
- Use References for Parameter Passing and Return Value for Types Bigger than 4 Bytes
- Don’t Define a Return Value if Not Used
- Consider Locality of Reference for Code and Data
- Prefer int over char and short
- Define Lightweight Constructors
- Prefer Initialization Over Assignment
- Use Constructor Initialization Lists
- Do Not Declare “Just in Case” Virtual Functions
- Inline 1 to 3 Line Functions
- Chapter 20. Real-Time Asserts
- V. Errors and Changes
- Appendix A: ASCII Table
- Appendix B: Byte Alignment and Ordering
- Index (1/2)
- Index (2/2)
Product information
- Title: The Firmware Handbook
- Author(s):
- Release date: April 2004
- Publisher(s): Newnes
- ISBN: 9780080470177
You might also like
book
Linux for Embedded and Real-time Applications, 4th Edition
Linux for Embedded and Real-Time Applications, Fourth Edition, provides a practical introduction to the basics, covering …
book
PowerShell for Sysadmins
PowerShell® is both a scripting language and an administrative shell that lets you control and automate …
video
Python Fundamentals
51+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …
book
Design Patterns for Embedded Systems in C
A recent survey stated that 52% of embedded projects are late by 4-5 months. This book …