Limit search to available items
2600 results found. Sorted by relevance | date | title .
E-book
Author White, Elecia, author

Title Making embedded systems / by Elecia White
Edition Second edition
Published Sebastopol, CA : O'Reilly Media, Inc., 2024

Copies

Description 1 online resource (424 pages) : illustrations
Contents Intro -- Copyright -- Table of Contents -- Preface -- About This Book -- Who This Book Is For -- About the Author -- Organization of This Book -- Terminology -- Conventions Used in This Book -- Using Code Examples -- O'Reilly Online Learning -- How to Contact Us -- Acknowledgments -- Chapter 1. Introduction -- Embedded Systems Development -- Compilers and Languages -- Debugging -- Resource Constraints -- Principles to Confront Those Challenges -- Prototypes and Maker Boards -- Further Reading -- Chapter 2. Creating a System Architecture -- Getting Started -- Creating System Diagrams
The Context Diagram -- The Block Diagram -- Organigram -- Layering Diagram -- Designing for Change -- Encapsulate Modules -- Delegation of Tasks -- Driver Interface: Open, Close, Read, Write, IOCTL -- Adapter Pattern -- Creating Interfaces -- Example: A Logging Interface -- A Sandbox to Play In -- Back to the Drawing Board -- Further Reading -- Chapter 3. Getting Your Hands on the Hardware -- Hardware/Software Integration -- Ideal Project Flow -- Hardware Design -- Board Bring-Up -- Reading a Datasheet -- Datasheet Sections You Need When Things Go Wrong
Datasheet Sections for Software Developers -- Evaluating Components Using the Datasheet -- Your Processor Is a Language -- Reading a Schematic -- Practice Reading a Schematic: Arduino! -- Keep Your Board Safe -- Creating Your Own Debugging Toolbox -- Digital Multimeter -- Oscilloscopes and Logic Analyzers -- Setting Up a Scope -- Testing the Hardware (and Software) -- Building Tests -- Flash Test Example -- Command and Response -- Command Pattern -- Dealing with Errors -- Consistent Methodology -- Error Checking Flow -- Error-Handling Library -- Debugging Timing Errors -- Further Reading
Chapter 4. Inputs, Outputs, and Timers -- Handling Registers -- Binary and Hexadecimal Math -- Bitwise Operations -- Test, Set, Clear, and Toggle -- Toggling an Output -- Setting the Pin to Be an Output -- Turning On the LED -- Blinking the LED -- Troubleshooting -- Separating the Hardware from the Action -- Board-Specific Header File -- I/O-Handling Code -- Main Loop -- Facade Pattern -- The Input in I/O -- Momentary Button Press -- Interrupt on a Button Press -- Configuring the Interrupt -- Debouncing Switches -- Runtime Uncertainty -- Increasing Code Flexibility -- Dependency Injection
Using a Timer -- Timer Pieces -- Doing the Math -- More Math: Difficult Goal Frequency -- A Long Wait Between Timer Ticks -- Using a Timer -- Using Pulse-Width Modulation -- Shipping the Product -- Further Reading -- Chapter 5. Interrupts -- A Chicken Presses a Button -- An IRQ Happens -- Nonmaskable Interrupts -- Interrupt Priority -- Nested Interrupts -- Save the Context -- Retrieve the ISR from the Vector Table -- Initializing the Vector Table -- Looking Up the ISR -- Call the ISR -- Multiple Sources for One Interrupt -- Disabling Interrupts -- Critical Sections -- Restore the Context
Summary Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded programming. You'll learn how to build system architecture for processors, not operating systems, and discover techniques for dealing with hardware difficulties, changing designs, and manufacturing requirements. Written by Elecia White, an expert who's created embedded systems ranging from DNA scanners to children's toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use. This expanded update includes new chapters on IoT and networked sensors, motors and movement, and data handling strategies. Optimize your system to reduce cost and increase performance Develop an architecture that makes your software robust in resource-constrained environments Explore sensors, displays, motors, and other I/O devices Reduce RAM and power consumption, code space, and processor cycles Learn how to interpret schematics, datasheets, and power requirements Discover how to implement complex mathematics and machine learning on small processors Design effective embedded systems for IoT and networked sensors
Notes Includes index
Subject Embedded computer systems -- Programming.
Embedded computer systems -- Design
Genre/Form Electronic books
Form Electronic book