
Design Patterns for Embedded Systems in C
An Embedded Software Engineering Toolkit
- 472 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Design Patterns for Embedded Systems in C
An Embedded Software Engineering Toolkit
About this book
A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a prerequisite for the book while UML notation and terminology is included. General C programming books do not include discussion of the contraints found within embedded system design. The practical examples give the reader an understanding of the use of UML and OO (Object Oriented) designs in a resource-limited environment. Also included are two chapters on state machines. The beauty of this book is that it can help you today..- Design Patterns within these pages are immediately applicable to your project- Addresses embedded system design concerns such as concurrency, communication, and memory usage- Examples contain ANSI C for ease of use with C programming code
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Chapter 1 What Is Embedded Programming?
- Whatâs Special About Embedded Systems? 1
- Embedded Design Constraints 3
- The Embedded Tool Chain 4
- OS, RTOS, or Bareback? 5
- Embedded Middleware 6
- Codevelopment with Hardware 7
- Debugging and Testing 8
-
- OO or Structured â Itâs Your Choice 9
- Classes 10
- Objects 13
- Polymorphism and Virtual Functions 14
- Subclassing 15
- Finite State Machines 25
-
- What Did We Learn? 33
- Basics of embedded systems
- OO versus structured programming
- Implementing classes, inheritance, and state machines in C
- In the medical field, embedded systems include implantable devices (e.g., cardiac pacemakers, defibrillators, and insulin pumps), monitoring equipment (e.g., ECG/EKG monitors, blood gas monitors, blood pressure monitors, EMG monitors), imaging systems (e.g., CT, SPECT, PET, TEM, and x-ray imagers), and therapy delivery devices (e.g., patient ventilator, drug vaporizers, and infusion pumps).
- In the telecom market, there are devices ranging from cell phones, switching systems, routers, modems, and satellites.
- In automotive environments, embedded systems optimize engine combustion, manage power delivery in transmissions, monitor sensor data, control anti-lock braking, provide security, and offer infotainment services such as CD and DVD players, and GPS routing (in some locations, they can offer radar and laser detection and even active radar and laser countermeasures).
- In the office, embedded systems manage phones, printers, copies, fax machines, lights, digital projectors, security systems, and fire detection and suppression systems.
- In the home, examples include ovens, televisions, radios, washing machines, and even some vacuum cleaners.
Table of contents
- Cover
- Title Page
- Copyright
- Dedication
- Table of Contents
- Preface
- Acknowledgments
- About the Author
- Chapter 1: What Is Embedded Programming?
- Chapter 2: Embedded Programming with The HarmonyTM for Embedded RealTime Process
- Chapter 3: Design Patterns for Accessing Hardware
- Chapter 4: Design Patterns for Embedding Concurrency and Resource Management
- Chapter 5: Design Patterns for State Machines
- Chapter 6: Safety and Reliability Patterns
- Appendix A: UML Notation
- Index