You are previewing Modern Embedded Computing.
O'Reilly logo
Modern Embedded Computing

Book Description

Modern embedded systems are used for connected, media-rich, and highly integrated handheld devices such as mobile phones, digital cameras, and MP3 players. All of these embedded systems require networking, graphic user interfaces, and integration with PCs, as opposed to traditional embedded processors that can perform only limited functions for industrial applications. While most books focus on these controllers, Modern Embedded Computing 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. 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 compliment the chapters, offering hands-on embedded design experience.



  • 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

Table of Contents

  1. Cover Image
  2. Content
  3. Title
  4. Copyright
  5. Dedication
  6. Preface
  7. Foreword
  8. Acknowledgments
  9. PART 1. Principles of Modern Embedded Systems
    1. Chapter 1. Embedded Systems Landscape
      1. What is an Embedded Computer System?
      2. Why is this Transition Inevitable?
      3. What Range of Embedded Systems Exists?
      4. What to Expect from the Rest of this Book
    2. Chapter 2. Attributes of Embedded Systems
      1. Embedded Platform Characteristics
      2. Summary
    3. Chapter 3. The Future of Embedded Systems
      1. Technology Trends
      2. Issues, Applications, and Initiatives
      3. Challenges and Uncertainties
      4. Summary
  10. PART 2. Embedded Systems Architecture and Operation
    1. Chapter 4. Embedded Platform Architecture
      1. Platform Overview
      2. Volatile Memory Technologies
      3. Nonvolatile Storage
      4. Device Interface—High Performance
      5. Universal Serial Bus
      6. Device Interconnect—Low Performance
      7. General-Purpose Input/Output
      8. Power Delivery
      9. Summary
    2. Chapter 5. Embedded Processor Architecture
      1. Basic Execution Environment
      2. Application Binary Interface
      3. Processor Instruction Classes
      4. Exceptions/Interrupts Model
      5. Vector Table Structure
      6. Exception Frame
      7. Masking Interrupts
      8. Acknowledging Interrupts
      9. Interrupt Latency
      10. Memory Mapping and Protection
      11. Memory Management Unit
      12. MMU and Processes
      13. Memory Hierarchy
      14. Intel Atom Microarchitecture (Supplemental Material)
    3. Chapter 6. Embedded Platform Boot Sequence
      1. Multi-Core and Multi-Processor Boot
      2. Boot Technology Considerations
      3. Hardware Power Sequences (the Pre-pre-boot)
      4. RESET: The First Few Steps and a Jump
      5. Early Initialization
      6. AP Processor Initialization
      7. Advanced Initialization
      8. Legacy BIOS and UEFI Framework Software
      9. Cold and Warm Boot
      10. Summary
    4. Chapter 7. Operating Systems Overview
      1. Application Interface
      2. Processes, Tasks, and Threads
      3. Scheduling
      4. Memory Allocation
      5. Clocks and Timers
      6. Mutual Exclusion/Synchronization
      7. Device Driver Models
      8. BUS Drivers
      9. Networking
      10. Storage File Systems
      11. Power Management
      12. Real Time
      13. Licensing
    5. Chapter 8. Embedded Linux
      1. Tool Chain
      2. Anatomy of an Embedded Linux
      3. Building a Kernel
      4. Debugging
      5. Driver Development
      6. Memory Management
      7. Synchronization/Locking
      8. Summary
    6. Chapter 9. Power Optimization
      1. Power Basics
      2. The Power Profile of an Embedded Computing System
      3. Constant versus Dynamic Power
      4. A Simple Model of Power Efficiency
      5. Advanced Configuration and Power Interface (ACPI)
      6. Optimizing Software for Power Performance
      7. Summary
    7. Chapter 10. Embedded Graphics and Multimedia Acceleration
      1. Screen Display
      2. Embedded Panels
      3. Graphics Stack
      4. Accelerated Media Decode
      5. Video Capture and Encoding
      6. Media Frameworks
      7. Summary
    8. Chapter 11. Digital Signal Processing Using General-Purpose Processors
      1. Overview
      2. Single Instruction Multiple Data
      3. Microarchitecture Considerations
      4. Implementation Options
      5. Intrinsics and Data Types
      6. Vectorization
      7. Performance Primitives
      8. Finite Impulse Response Filter
      9. Application Examples
      10. Summary
    9. Chapter 12. Network Connectivity
      1. Networking Basics
      2. TCP/IP Networking
      3. Ethernet
      4. Wi-Fi and IEEE 802.11
      5. Bluetooth
      6. Linux Networking
      7. Summary
    10. Chapter 13. Application Frameworks
      1. Overview
      2. Android
      3. Qt
      4. Other Environments
      5. More Resources
      6. Summary
    11. Chapter 14. Platform and Content Security
      1. Security Principles
      2. Security Concepts and Building Blocks
      3. Platform Support for Security
      4. Summary
    12. Chapter 15. Advanced Topics: SMP, AMP, and Virtualization
      1. Multiprocessing Basics
      2. Symmetric Multiprocessing
      3. Asymmetric Multiprocessing
      4. Virtualization Basics
      5. Methods for Platform Virtualization
      6. Summary
  11. PART 3. Developing an Embedded System
    1. Chapter 16. Example Designs
      1. Intel Atom E6XX Series Platforms
      2. Multi-Radio Communications Design
      3. Multimedia Design
      4. Modular References
      5. Summary
    2. Chapter 17. Platform Debug
      1. Debugging New Platforms
      2. A Process for Debugging a New Platform
      3. Debug Tools and Chipset Features
      4. Debug Process Details
      5. Additional Resources
      6. Summary
    3. Chapter 18. Performance Tuning
      1. What are Patterns?
      2. General Approaches
      3. Code and Design
      4. Processor-Specific
      5. Networking Techniques
  12. Reference
  13. Index