O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Pro Windows Embedded Compact 7: Producing Device Drivers

Book Description

Windows Embedded Compact 7 is the natural choice for developing sophisticated, small-footprint devices for both consumers and the enterprise. For this latest version, a number of significant enhancements have been made, most notably the ability to run multi-core processors and address more than the 512 MB of memory constraint in previous versions.

Using familiar developer tools, Pro Windows Embedded Compact 7 will take you on a deep-dive into device driver development. You'll learn how to set up your working environment, the tools that you'll need and how to think about developing for small devices before quickly putting theory into practice and developing your own first driver from the ground up.

As you delve deeper into the details of driver development, you'll learn how to master hardware details, deal with I/O and interrupts, work with networks, and test and debug your drivers ready for deployment—all in the company of an author who's been working with Windows CE for more than a decade.

Packed with code samples, Pro Windows Embedded Compact 7 contains everything you'll need to start developing for small footprint devices with confidence.

What you'll learn

  • Understand the internals of Windows Embedded

  • Know how the Windows Embedded Compact device driver model works

  • Plan and design your device driver from scratch

  • Develop stream interface device drivers

  • Learn how to develop NDIS network device drivers

  • Debug and test device drivers for quality and performance

Who this book is for

This book is ideal for anyone who wants to learn how to develop device drivers. While primarily focused on driver development, it also provides useful insights for both application developers and BSP developers.

Table of Contents

  1. Title
  2. Contents at a Glance
  3. Contents
  4. About the Author
  5. About the Technical Reviewer
  6. Acknowledgments
  7. Introduction
    1. Who This Book Is For
  8. Chapter 1: The Foundation of Device Driver Development for Windows Embedded Compact
    1. In this chapter:
    2. Embedded Operating System Architectures
    3. Windows CE System Architecture and I/O Handling
    4. Windows Embedded Compact Device Driver Model
    5. Windows Embedded Compact Device Drivers in Kernel or User Mode
    6. Loading and Unloading Device Drivers
    7. Chapter Summary
  9. Chapter 2: The Tools of the Trade
    1. In this chapter:
    2. Visual Studio 2008
    3. Platform Builder
    4. The Build System
    5. Device Driver Development Kit
    6. TRACE32-ICD
    7. Device Driver Wizard
    8. Chapter Summary
  10. Chapter 3: Design your Device Driver First!
    1. In this chapter
    2. The Device Driver Location
    3. Deciding the Mode
    4. The Registry
    5. Device Driver Type
    6. Device Driver Features
    7. IO Control Codes
    8. Designing Physical Device Driver (PDD)
    9. Designing for Testing
    10. Chapter Summary
  11. Chapter 4: Mastering the Hardware Environment
    1. In this chapter:
    2. Introduction
    3. I/O Device Registers
    4. I/O Device Interrupts
    5. I/O Device Memory
    6. Direct Memory Access – DMA
    7. PCI Bus
    8. Chapter Summary
  12. Chapter 5: Device Driver Registry Settings
    1. In this chapter:
    2. Registry Overview
    3. Device Driver File Names
    4. Load Sequence
    5. Device Manager Registry Keys
    6. Registry Entries
    7. Creating a Registry Entry for a Device Driver
    8. Chapter Summary
  13. Chapter 6: Understanding Device Driver Types
    1. In this chapter:
    2. Native Device Drivers
    3. Stream Device Drivers
    4. Hybrid Device Drivers
    5. Monolithic vs. Layered Device Drivers
    6. Device Interface Class
    7. Device Interface Notifications
    8. Chapter Summary
  14. Chapter 7: The Essence of Stream Device Drivers
    1. In this chapter
    2. Stream Interface Device Drivers
    3. Kernel Mode Device Drivers
    4. Filter Device Drivers
    5. User Mode Device Drivers
    6. Chapter Summary
  15. Chapter 8: Device Driver I/O and Interrupts
    1. In this chapter
    2. Interrupt Model
    3. Interrupt Processing
    4. I/O Memory Mapping
    5. Chapter Summary
  16. Chapter 9: Device I/O Control Handling
    1. In this chapter
    2. What Is an IOCTL
    3. Adding Device Specific IOCTLs
    4. Processing Device Specific IOCTLs
    5. Chapter Summary
  17. Chapter 10: Network Driver Interface Specification and Network Device Drivers
    1. In this chapter
    2. Overview
    3. NDIS Miniport Driver
    4. NDIS Protocol Driver
    5. NDIS Intermediate Driver
    6. Registry Settings
    7. Chapter Summary
  18. Chapter 11: Debugging Device Drivers
    1. In this chapter
    2. Overview of Debugging Tools and Techniques
    3. Simple and Effective Debugging Techniques
    4. Debug Messages
    5. Kernel Debugger
    6. Hardware Assisted Debugging
    7. Target Control
    8. Remote Tools
    9. Postmortem Debugging and Dr. Watson
    10. Chapter Summary
  19. Chapter 12: Using CTK to Develop Test Code
    1. In this chapter
    2. Windows Embedded Compact Test Kit
    3. Designing Test
    4. TUX Test Harness
    5. Viewing and Analyzing Test results
    6. Performance testing
    7. Chapter Summary
  20. Index