My Account Log in

1 option

Making embedded systems / by Elecia White.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
White, Elecia, author.
Language:
English
Subjects (All):
Embedded computer systems--Programming.
Embedded computer systems.
Embedded computer systems--Design.
Physical Description:
1 online resource (424 pages) : illustrations
Edition:
Second edition.
Place of Publication:
Sebastopol, CA : O'Reilly Media, Inc., 2024.
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.
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
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
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
Notes:
OCLC-licensed vendor bibliographic record.
Includes index.
ISBN:
9781098151539
1098151534
OCLC:
1419257542

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account