50212 - Building Embedded Devices Using Windows Embedded CE 6.0 R2 |
|
|---|---|
| Course Code: | 50212 |
| Course Duration: | 5 days |
| Course Price: | 4150.00 |
| Availability: | |
This five-day instructor-led course provides students with the knowledge and skills to develop devices using Windows Embedded CE 6.0. In this course you will gain an understanding of: • Windows Embedded CE system architecture and supported technologies
• Operating system development life cycle, tools, and configuration
• Application development options for Windows Embedded CE devices
• Debugging tools and capabilities of Platform Builder and the Windows Embedded CE operating system
• Application tools and techniques for design, development, and testing of Windows Embedded CE
After completing this course, students will be able to:
• Create an OS Design Project
• Locate/Create a BSP
• Create/Customise Drivers
• Customise OS Design
• Build the OS
• SDK/Application Development
• Device Testing
• Device Deployment
Module 1: Operating System Overview Lessons After completing this module, students will have an understanding of the capabilities and features of Windows Embedded CE 6.0 R2. Module 2: Tools for Platform Development Lessons Lab : Our First OS Lab : Develop & Test an Application Subproject Lab : Using the Remote Tools After completing this module, students will be able to build and test a simple Windows Embedded CE device OS. Module 3: Operating System Internals Lessons Lab : Using Memory Tools Lab : Exploring Threads with Kernel Tracker Lab : A Look at Synchronization After completing this module, students will be familiar with the structure and tools for the Windows Embedded CE system architecture. Module 4: Operating System Components Lessons Lab : Using the Remote Registry Editor Lab : Experimenting with Power Management After completing this module, students will be able to explore and change the device registry, and understand the basics of device power management. Module 5: The Build System Lessons Lab : Static and Dynamic Libraries Lab : Building With the Command Line Lab : Troubleshooting Link Errors After completing this module, students will be able to build and troubleshoot static and dynamic libraries for Windows Embedded CE devices. Module 6: The Board Support Package Lessons Lab : Registry Initialization Lab : Adding a New IOCTL to an OAL After completing this module, students will have a basic understanding of board support packages. Module 7: Device Driver Concepts Lessons Lab : Integrating a Device Driver Lab : Debugging a Device Driver After completing this module, students will be able to integrate device drivers into BSPs, and be able to debug a device driver. Module 8: Customizing the OS Design Lessons Lab : Adding an Item to the Catalog Lab : Replacing the Standard Shell with IESHELL Lab : Exporting an SDK After completing this module, students will be able to customize a Windows Embedded CE device OS. Module 9: Application Development Lessons Lab : Developing & Integrating a Managed App After completing this module, students will be able to build applications in Visual Studio 2005 to run on Windows Embedded CE devices. Module 10: Testing & Verification Lessons Lab : Using the CETK After completing this module, students will be able to test and verify their Windows Embedded CE device drivers.
This module explains the characteristics and history of Windows Embedded CE, and covers the new features and capabilities of CE 6.0 R2.
• Characteristics of Windows Embedded CE
• History of Windows Embedded CE
• What’s New in CE 6.0 R2?
This module explains the tools and build process for developing Windows Embedded CE 6.0 devices.
• Visual Studio 2005 & CE 6.0 R2 Installation
• Windows Embedded CE Terminology
• A Look at the IDE
• Introduction to the Build Process
• Testing and Debugging the OS Design
• Windows Embedded CE Directory Structure
• Clone a BSP
• Create an OS Design using Visual Studio
• Identify the catalog features included in the design
• Extend the standard design by adding catalog items
• Build configuration for the run-time image and build a run-time image
• Create an Application Subproject
• Deploy the Application
• Debug the Application
• Become familiar with connecting the remote tools
• Become familiar with the use of Remote File Viewer
• Become familiar with the use of Remote System Information
• Become familiar with the use of Remote Performance Monitor
This module gives an overview of the system architecture of Windows Embedded CE 6.0
• System Architecture
• Memory Model
• Processes and Threads
• Synchronization Objects
• Interrupt Model
• Understand the use of the Remote Process Viewer for viewing information about processes, threads, and modules
• Become familiar with heaps in Windows Embedded CE
• Understand the use of the Threads and Modules debug windows
• Become familiar with the Remote Heap Walker
• Learn which build options are necessary to work with the Remote Kernel Tracker
• Become familiar with the Remote Kernel Tracker menu
• Recognise execution patterns in Kernel Tracker
• Understand the read/modify/write vulnerability
• Be able to implement an atomic read/modify/write sequence using a critical section
This module gives an overview of the main components of the Windows Embedded CE 6.0 operating system.
• The File Systems
• The Registry
• Power Management
• Internationalization
• Use the remote registry editor to explore and change the device registry
• Introduce the Windows Embedded CE 6.0 power management architecture
• Utilise portions of the CE 6.0 Power Management architecture
• Become familiar with several Power Management APIs
• Allow a test application to receive notification about system power events and to put power requirements into place
This module gives an overview of the build system for Windows Embedded CE 6.0.
• Directory Structure of the Build Tree
• The Build Process
• The Build Tool
• The Command Line
• Troubleshooting a Build
• Create simple static lib
• Link the static lib with a dynamic lib
• Link the dynamic lib with an exe
• Learn how some of the build commands available in the Visual Studio IDE map to command line actions
• Compare IDE and command line build mechanisms
• Identify linker errors
• Learn how to determine the correct link lib
• Resolve link errors
This module gives an overview of board support packages (BSPs).
• BSP Overview
• Platform Common Code
• BSP Components
• Creating a New BSP
• Understand which files go into creating the initial registry
• Understand which files have precedence in determining the initial registry
• Understand architecture of OAL IOCTL library in the Common code
• Understand how to add a new IOCTL to the OAL based on the Common code
This module gives an overview of device drivers for Windows Embedded CE 6.0.
• An Overview of Device Drivers
• User Mode Driver Framework
• Handling Caller Buffers
• Loading a Stream Driver
• Debugging Device Drivers
• Be able to integrate new drivers into an existing BSP
• Be able to use Run-Time Image Viewer to verify the contents of an OS run-time image
• Understand driver interaction with application
• Use kernel debugger to investigate call stack
• Understand the integration and use of Debug Zones
This module prepares developers to customize their Windows Embedded CE 6.0 devices.
• The Catalog
• The Shell Options
• SDKs
• Understand how the Catalog works
• Be able to add items to the catalog
• Understand the fundamentals of implementing a custom shell
• Be able to create an SDK for native code development in Visual Studio 2005
This module prepares students to develop applications to run on Windows Embedded CE 6.0 devices.
• Application Development Options
• Native Code Development
• Managed Code Development
• Develop and debug managed applications in a separate Visual Studio 2005 instance
• Integrate a managed application into a BSP
This module prepares developers to test and verify their Windows Embedded CE 6.0 device drivers.
• Windows Embedded CE Test Kit
• Other Test Utilities
• Run automated tests using the Windows Embedded CE Test Kit (CETK)
• Modify the default behavior of the standard tests
Additional Reading:
To help you prepare for this class, review the following resources:
• Stanislav Pavlov and Pavel Belevsky: Windows Embedded CE 6.0 Fundamentals
Helpful prerequisites:
• Programming experience in C or C++
• Some knowledge of Windows operating systems internals
• Win32 API programming experience
• Device driver development experience
• Embedded operating systems experience

