You are previewing Professional Windows® Embedded Compact 7.
O'Reilly logo
Professional Windows® Embedded Compact 7

Book Description

Learn to program an array of customized devices and solutions

As a compact, highly efficient, scalable operating system, Windows Embedded Compact 7 (WEC7) is one of the best options for developing a new generation of network-enabled, media-rich, and service-oriented devices. This in-depth resource takes you through the benefits and capabilities of WEC7 so that you can start using this performance development platform today. Divided into several major sections, the book begins with an introduction and then moves on to coverage of OS design, application development, advanced application development, how to deploy WEC7 devices, and more.

  • Examines the benefits of Windows Embedded Compact 7 (WEC7)

  • Reviews the various elements of OS design, including configuring and building a customized OS runtime image, using debugging and remote tools, and more

  • Explains how to develop native code applications with Visual Studio 2010, develop database applications with SQL server compact, and use the application deployment option

  • Discusses how to deploy a WEC device, use the boot loader, launch WEC using BIOSLoader, and deploy a WEC power toy

If you're interested in learning more about embedded development or you're seeking a higher performance development platform, then this is the book for you.

Table of Contents

  1. Cover
  2. Contents
  3. Part I: Introducing Embedded Development
    1. Chapter 1: Embedded Development
      1. What Is an Embedded Device?
      2. What Is Embedded Software?
      3. Development Considerations
      4. Summary
    2. Chapter 2: Windows Embedded Compact 7
      1. What Is Windows Embedded Compact?
      2. Why Windows Embedded Compact?
      3. Summary
    3. Chapter 3: Development Station Preparation
      1. Development Computer Requirements
      2. Windows Embedded Compact 7 Software
      3. Development Environment Setup
      4. Summary
    4. Chapter 4: Development Process
      1. Planning
      2. Hardware Selection
      3. Software Selection
      4. Typical Development Processes
      5. Summary
    5. Chapter 5: Development Environment and Tools
      1. Development Environment
      2. Platform Builder for Windows Embedded Compact 7
      3. Target Device Connectivity
      4. Application for Compact 7
      5. Windows Embedded Compact Test Kit
      6. Summary
  4. Part II: Platform Builder And OS Design
    1. Chapter 6: BSP Introduction
      1. BSP Provided by Platform Builder
      2. BSP Components, Files, and Folders
      3. Clone an Existing BSP
      4. Customize the Cloned BSP
      5. Summary
    2. Chapter 7: OS Design
      1. What Is an OS Design?
      2. Develop an OS Design
      3. Generate SDK from the OS Design
      4. Summary
    3. Chapter 8: Target Device Connectivity and Download
      1. Target Device Connectivity
      2. Connecting to the Target Device
      3. Download OS Run-time Image to Target Device
      4. Target Device Connectivity Setting
      5. Summary
    4. Chapter 9: Debug and Remote Tools
      1. Debugging Environment
      2. Debugging the OS Design
      3. Remote Tools
      4. Target Control
      5. Summary
    5. Chapter 10: The Registry
      1. Windows Embedded Compact Registry
      2. Registry for Windows Embedded Compact Component
      3. Useful Registry References
      4. Windows Embedded Compact Registry Files
      5. Accessing the Registry
      6. Summary
    6. Chapter 11: The Build System
      1. The OS Design Build Process
      2. Build System Tools
      3. Best Practice to Save Time and Minimize Problems
      4. Summary
    7. Chapter 12: Remote Display Application
      1. Access Compact 7 Desktop Remotely
      2. Add Remote Display Application to an OS Design
      3. How-To: Use Remote Display Application
      4. Using Remote Display Application on Headless Device
      5. Summary
    8. Chapter 13: Testing With Compact Test Kit
      1. Compact Test Kit
      2. Establishing Connectivity for CTK
      3. Testing Compact 7 Device with CTK
      4. Summary
  5. Part III: Application Development
    1. Chapter 14: Application Development
      1. Developing Compact 7 Applications
      2. Connectivity to Deploy and Debug Application
      3. Summary
    2. Chapter 15: .NET Compact Framework
      1. .NET Compact Framework Application
      2. .NET CF Application Considerations
      3. Summary
    3. Chapter 16: Corecon Connectivity
      1. Implementing CoreCon for Application Development
      2. Connecting to a Target Device with CoreCon
      3. Summary
    4. Chapter 17: Visual Studio Native Code Application Example
      1. Prerequisites and Preparation
      2. Develop a Native Code Application for Compact 7
      3. Summary
    5. Chapter 18: Managed Code Application Example
      1. Prerequisites and Preparation
      2. Developing a Managed Code Application for Compact 7
      3. Summary
    6. Chapter 19: Platform Builder Native Code Application Example
      1. Prerequisites and Preparation
      2. Developing a Virtual PC OS Design
      3. Developing a Platform Builder Native Code Application for Compact 7
      4. Debugging a Platform Builder Native Code Application
      5. Summary
    7. Chapter 20: Developing Embedded Database Applications
      1. Introducing Microsoft SQL Server Compact
      2. Microsoft SQL Server Compact
      3. Compact Database Requirements
      4. Managed Code Requirements
      5. Building a SQL Compact Database Application Using Visual Data Designers
      6. A Media Playlist List Application
      7. Text File Data and XML Serialization
      8. Building the Managed Code Data Application (Text and XML)
      9. Building a Managed Code Remote Database Application
      10. Building a Managed Code Compact Database Application
      11. Summary
    8. Chapter 21: Silverlight For Windows Embedded
      1. Silverlight: User Interface Development Framework
      2. Silverlight for Windows Embedded
      3. Development Environment and Tools
      4. Development Process
      5. Summary
    9. Chapter 22: Silverlight For Windows Embedded Application Examples
      1. Prerequisites and Preparation
      2. Develop a Compact 7 OS Design with Silverlight Support
      3. Develop the SWE Application Project Using Expression Blend 3
      4. Port a XAML Code Project to Native Code Using Windows Embedded Silverlight Tools
      5. Add the SWE Application as a Subproject, Compile, and Launch
      6. Add Event Handler to Silverlight XAML Code Project
      7. Update the SWE Application Subproject
      8. Create a User Control
      9. Update the SWE Application Subproject to Include Animation
      10. Summary
    10. Chapter 23: Auto Launching Applications
      1. Configuring the Registry to Auto Launch Application
      2. Auto Launch Application from Startup Folder
      3. Using the AutoLaunch Component
      4. AutoLaunch Multiple Applications
      5. Summary
    11. Chapter 24: Application Deployment Options
      1. Deploying a Compact 7 Applications
      2. Options
      3. Summary
  6. Part IV: Deploy Windows Embedded Compact 7 Devices
    1. Chapter 25: Deploy OS Run-Time Images
      1. Considerations
      2. Deploying an OS Run-time Image
      3. Summary
    2. Chapter 26: Bootloaders
      1. Compact 7 Bootloader
      2. Ethernet Bootloader (Eboot)
      3. Serial Bootloader (Sboot)
      4. Loadcepc
      5. BIOSLoader
      6. Compact 7 Bootloader Framework
      7. Summary
    3. Chapter 27: Biosloader
      1. BIOSLoader Startup Parameters
      2. BIOSLoader Files and Utility
      3. Using BIOSLoader
      4. Summary
    4. Chapter 28: The Diskprep Power Toy
      1. Prerequisites and Preparation
      2. Using DiskPrep Power Toy
      3. Summary
  7. Part V: Device Drivers, Boot Loader, BSP, and OAL Development
    1. Chapter 29: An Overview of Device Drivers
      1. What Is a Device Driver?
      2. Operating System Structure
      3. Windows Embedded Compact Drivers
      4. Custom Drivers
      5. Summary
      6. Note
    2. Chapter 30: Device Driver Architectures
      1. Introducing Device Driver Architectures
      2. Kernel and User Driver Modes
      3. Native and Stream Drivers
      4. Monolithic and Layered Driver Models
      5. Stream, Block, Bus, and USB Drivers
      6. How to Check if the Bluetooth Stack Is Loaded
      7. Using the Compact 7 Bluetooth Components
      8. Summary
    3. Chapter 31: Interrupts
      1. Polling and Interrupts
      2. Compact 7 Interrupt Architecture
      3. Watchdog Timer
      4. A Watchdog Timer Driver and Application
      5. Using the WDT Test Application
      6. Creating a Console Application with a Dynamic Link Library
      7. Summary
    4. Chapter 32: Stream Interface Drivers
      1. Loading a Driver
      2. Stream Drivers
      3. Stream Driver Functions
      4. Stream Driver Configuration
      5. Driver Context
      6. Driver Classes
      7. Application Streaming APIs
      8. Power Management
      9. An Application to Test if a Stream is Loaded
      10. Summary
    5. Chapter 33: Developing A Stream Interface Driver
      1. Stream Interface Driver Development Overview
      2. The Stream Interface Functions
      3. A Simple Stream Driver Project
      4. A Compact 7 Stream Driver Project
      5. Building a Stream Driver for Testing
      6. CEDriver Wizard
      7. Implementing IOCTLs
      8. Driver Context and Shared Memory
      9. Registry Access from a Driver
      10. Implementing Power Management
      11. Summary
    6. Chapter 34: Stream Driver API and Device Driver Testing
      1. Debugging Overview
      2. Build Configurations
      3. First Some Simple Checks
      4. Breakpoints
      5. Debug Macros
      6. Using Remote Tools
      7. Stream Driver API and Test Applications
      8. Windows Embedded Test Kit (CTK)
      9. Other Compact 7 Debugging Features
      10. CeDebugX
      11. Summary
    7. Chapter 35: The Target System
      1. BSP Overview
      2. Some Compact 7 Target Boards
      3. BSP Components
      4. Bootloader
      5. OAL
      6. KITL
      7. BSP Configuration Files and Folders
      8. Device Drivers
      9. Developing a BSP
      10. Adding an IOCTL to the OAL
      11. Summary
  8. Part VI: Advanced Application Development
    1. Chapter 36: Introduction to Real-Time Applications
      1. Real-Time Application Overview
      2. Windows Embedded Compact 7 and Real Time
      3. Summary
    2. Chapter 37: A Simple Real-Time Application
      1. Developing a Simple Real-Time Application
      2. Summary
    3. Chapter 38: Extending Low-Level Access To Managed Code
      1. The Native Managed Interface
      2. Techniques for Low-Level Access to Managed Code
      3. Summary
    4. Chapter 39: Extending Low-Level Access To Managed Code With Messages
      1. Communicating from Native to Managed Code
      2. Summary
    5. Chapter 40: A Web Server Application
      1. Embedded Web Server with Compact 7
      2. Summary
    6. Chapter 41: A USB Camera Application
      1. Using a USB Camera on Compact 7
      2. Summary
  9. Part VII: Sample Projects
    1. Chapter 42: Develop A Windows Network Projector
      1. Windows Network Projector Application
      2. Developing a Windows Network Projector
      3. Using Windows Network Projector
      4. Summary
    2. Chapter 43: Phidgets Devices
      1. Phidgets Devices
      2. Phidgets Devices Application
      3. Summary
    3. Chapter 44: FTDI Devices
      1. FTDI Devices
      2. FTDI Hardware Interface
      3. FTDI as the USB Interface to a System
      4. FTDI Device Drivers
      5. CEComponentWiz: Adding Content to an Image
      6. FTDI Drivers as Catalog Items
      7. Third-Party FTDI Application Modules
      8. Serial Port Access from a Compact 7 Application
      9. A Custom FTDI Stream Driver
      10. Summary
    4. Chapter 45: Integrating Managed Code Projects
      1. Native Code
      2. Managed Code Applications and Windows Embedded Compact 7
      3. Package a .NET Application for Inclusion in the OS Image
      4. Deploy a .NET Application Directly over KITL
      5. Include the Build of a Managed Code Application in the OS Build
      6. What Now?
      7. Summary
  10. Appendix A: Virtual PC Connectivity
    1. Configure Virtual PC Connectivity
    2. Virtual PC 2007
    3. Virtual PC Information Resources
  11. Appendix B: Microsoft Resources
    1. Evaluation Software
    2. Drivers and Utilities
    3. Windows Embedded Compact Forums
  12. Appendix C: Community Resources
    1. Windows Embedded Community
    2. Community Projects for Compact 7
    3. Other Community Projects
    4. Other Resources
  13. Appendix D: Embedded Hardware
    1. Embedded Hardware Consideration
    2. Summary
  14. Foreword
  15. Introduction
  16. Advertisement