Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems provides a thorough understanding of the platform architecture of modern embedded computing systems that drive mobile devices. The book offers a comprehensive view of developing a framework for embedded systems-on-chips. Examples feature the Intel Atom processor, which is used in high-end mobile devices such as e-readers, Internet-enabled TVs, tablets, and net books.
This is a unique book in terms of its approach – moving towards consumer. It teaches readers how to design embedded processors for systems that support gaming, in-vehicle infotainment, medical records retrieval, point-of-sale purchasing, networking, digital storage, and many more retail, consumer and industrial applications. Beginning with a discussion of embedded platform architecture and Intel Atom-specific architecture, modular chapters cover system boot-up, operating systems, power optimization, graphics and multi-media, connectivity, and platform tuning. Companion lab materials complement the chapters, offering hands-on embedded design experience.
This text will appeal not only to professional embedded system designers but also to students in computer architecture, electrical engineering, and embedded system design.
Key Features
- Learn embedded systems design with the Intel Atom Processor, based on the dominant PC chip architecture. Examples use Atom and offer comparisons to other platforms
- Design embedded processors for systems that support gaming, in-vehicle infotainment, medical records retrieval, point-of-sale purchasing, networking, digital storage, and many more retail, consumer and industrial applications
- Explore companion lab materials online that offer hands-on embedded design experience
Dedication
Preface
Foreword
Acknowledgments
PART 1. Principles of Modern Embedded Systems
Chapter 1. Embedded Systems Landscape
What is an Embedded Computer System?
Why is this Transition Inevitable?
What Range of Embedded Systems Exists?
What to Expect from the Rest of this Book
Chapter 2. Attributes of Embedded Systems
Embedded Platform Characteristics
Summary
Chapter 3. The Future of Embedded Systems
Technology Trends
Issues, Applications, and Initiatives
Challenges and Uncertainties
Summary
PART 2. Embedded Systems Architecture and Operation
Chapter 4. Embedded Platform Architecture
Platform Overview
Volatile Memory Technologies
Nonvolatile Storage
Device Interface—High Performance
Universal Serial Bus
Device Interconnect—Low Performance
General-Purpose Input/Output
Power Delivery
Summary
Chapter 5. Embedded Processor Architecture
Basic Execution Environment
Application Binary Interface
Processor Instruction Classes
Exceptions/Interrupts Model
Vector Table Structure
Exception Frame
Masking Interrupts
Acknowledging Interrupts
Interrupt Latency
Memory Mapping and Protection
Memory Management Unit
MMU and Processes
Memory Hierarchy
Intel Atom Microarchitecture (Supplemental Material)
Chapter 6. Embedded Platform Boot Sequence
Multi-Core and Multi-Processor Boot
Boot Technology Considerations
Hardware Power Sequences (the Pre-pre-boot)
RESET: The First Few Steps and a Jump
Early Initialization
AP Processor Initialization
Advanced Initialization
Legacy BIOS and UEFI Framework Software
Cold and Warm Boot
Summary
Chapter 7. Operating Systems Overview
Application Interface
Processes, Tasks, and Threads
Scheduling
Memory Allocation
Clocks and Timers
Mutual Exclusion/Synchronization
Device Driver Models
BUS Drivers
Networking
Storage File Systems
Power Management
Real Time
Licensing
Chapter 8. Embedded Linux
Tool Chain
Anatomy of an Embedded Linux
Building a Kernel
Debugging
Driver Development
Memory Management
Synchronization/Locking
Summary
Chapter 9. Power Optimization
Power Basics
The Power Profile of an Embedded Computing System
Constant versus Dynamic Power
A Simple Model of Power Efficiency
Advanced Configuration and Power Interface (ACPI)
Optimizing Software for Power Performance
Summary
Chapter 10. Embedded Graphics and Multimedia Acceleration
Screen Display
Embedded Panels
Graphics Stack
Accelerated Media Decode
Video Capture and Encoding
Media Frameworks
Summary
Chapter 11. Digital Signal Processing Using General-Purpose Processors
Overview
Single Instruction Multiple Data
Microarchitecture Considerations
Implementation Options
Intrinsics and Data Types
Vectorization
Performance Primitives
Finite Impulse Response Filter
Application Examples
Summary
Chapter 12. Network Connectivity
Networking Basics
TCP/IP Networking
Ethernet
Wi-Fi and IEEE 802.11
Bluetooth
Linux Networking
Summary
Chapter 13. Application Frameworks
Overview
Android
Qt
Other Environments
More Resources
Summary
Chapter 14. Platform and Content Security
Security Principles
Security Concepts and Building Blocks
Platform Support for Security
Summary
Chapter 15. Advanced Topics: SMP, AMP, and Virtualization
Multiprocessing Basics
Symmetric Multiprocessing
Asymmetric Multiprocessing
Virtualization Basics
Methods for Platform Virtualization
Summary
PART 3. Developing an Embedded System
Chapter 16. Example Designs
Intel Atom E6XX Series Platforms
Multi-Radio Communications Design
Multimedia Design
Modular References
Summary
Chapter 17. Platform Debug
Debugging New Platforms
A Process for Debugging a New Platform
Debug Tools and Chipset Features
Debug Process Details
Additional Resources
Summary
Chapter 18. Performance Tuning
What are Patterns?
General Approaches
Code and Design
Processor-Specific
Networking Techniques
References
Index
Computers as Components 2e, Wolf, 9780123743978, MK, $83.95, 544pp, 6/2008 ARM System Developer's Guide, Sloss, 9781558608740, MK, 86.95, 689 pp, 2010 Embedded Systems Design with FPGAs, Sass / Schmidt, 9780123743336, MK, $89.95, 408pp, 2010Embedded Systems Architecture, Noergaard, 9780750677929, Newnes, $86.95, 656pp, 2004
Students in computer architecture, electrical engineering, and embedded system design; professional embedded system designers