About Apex InfoTech Information Services Products Consulting Online Courses Certifications Course Schedule Reserve your seat Search Apex InfoTech Home Page
Course ScheduleSearch by Course NumberPrint this documentEmail this documentRegister for this course

Windows® CE .NET OAL and Driver Development
Course 2535: 4 days; Instructor-Led

Introduction

The goal of this course is to provide developers with in-depth, developer focused OAL development, driver development, BSP, build, and debugger training for Windows CE .NET.

Audience
At the end of the course, students will be able to:

Create an advanced build of Windows CE Image.
Learn about the different concepts of advanced debugging.
Describe the Windows CE Kernel features.
Implement a boot loader
Identify what constitutes OEM Adaptation Layer.
Understand the Windows CE device driver architecture.
Work with sample device drivers.

At Course Completion
At the end of the course, students will be able to:

Create an advanced build of Windows CE Image.
Learn about the different concepts of advanced debugging.
Describe the Windows CE Kernel features.
Implement a boot loader
Identify what constitutes OEM Adaptation Layer.
Understand the Windows CE device driver architecture.
Work with sample device drivers.

Prerequisites
Before attending this course, students must have:

Some knowledge of Embedded platforms is helpful but not necessary.
Attendance of the companion course Course 2530, An Introduction to Windows CE .NET is useful but not necessary.


Microsoft Certified Professional Exams
There is no MCP exam associated with this course.

Student Materials
The student kit includes a comprehensive workbook and other necessary materials for this class.

Course Outline
Module 1: Advanced Building of a Windows CE Image
The following topics are covered in this module:

Directory Structure of Platform Builder
The Windows CE .NET Build Process
Building in the Integrated Development Environment
Modifying Configuration Files
Creating a Component
Modifying CEC Files using the CEC Editor
Adding a BSP
Export Wizard
After completing this module, you will be able to:

Explain the directory structure of Platform Builder.
Describe the build process.
Build components in the Integrated Development Environment of Platform Builder.
Modify configuration files.
Create a component.
Modify the CEC files with the CEC editor.
Use the BSP wizard to add a BSP.
Use the Export wizard to build a self-extracting component.

Module 2: Advanced Debugging
The following topics are covered in this module:

Using Breakpoints
The Real World: Debugging Process
Using Remote Tools
IDE Debug Commands
Debug Zones
Additional Debugging Techniques
eXDI (Extended Debug Interface)
After completing this module, you will be able to:

Describe the use of breakpoints in the Kernel Debugger.
Explain the process used in bringing up an image for a new hardware platform.
Identify the use of Remote Tools.
Identify the different debug commands.
Define, declare, register and use debug zones.
Identify different debugging techniques that can be used in Platform Builder.
Identify the role of eXDI (Extended Debug Interface)

Module 3: Kernel Features
The following topics are covered in this module:

Definition of Real Time
Windows CE Kernel Features
Handling Processes, Threads, and Fibers
Protecting Applications
Synchronization Objects
Memory Model
Structured Exception Handling
Optimizing a Windows CE Device
After completing this module, you will be able to:

Describe a real time operating system.
State the Windows CE kernel features.
Describe process, thread, and fiber handling in Windows CE .NET.
Describe how to protect threads from unauthorized priority or quantum modification.
Explain synchronization objects in Windows CE .NET.
Describe the memory model in Windows CE .NET.
Describe the use of structured exception handling.
Measure and fine-tune time-critical operations.

Module 4: Implementing a Boot Loader
The following topics are covered in this module:

Role of the Boot Loader
Boot Options
Implementing a Boot Loader
Sample Boot Loader Requirements
Building a Boot Loader
Debugging a Boot Loader
X86 Boot Options
Boot Loader in Manufacturing
After completing this module, you will be able to:

Explain the role of a boot loader.
Describe the boot options that are available in a boot loader.
Implement a boot loader.
Describe the use of the sample code provided to build a custom boot loader.
Build a boot loader.
Debug a boot loader.
Describe how the Microsoft provided loadcepc boot loading technology works on x86 BIOS based platforms.
Transit boot loader from the development stage into the manufacturing stage.

Module 5: OEM Adaptation Layer
The following topics are covered in this module:

OAL Architecture
Operating System Boot Sequence
Developing OAL
Required OAL Functions
Optional OAL Functions
Debugging an OAL
Building the Windows CE Kernel
Implementing OAL Registry Functions
Power Management
Implementing Certification Model
After completing this module, you will be able to:

Describe the relationship between the OEM Adaptation Layer (OAL) and kernel.
Describe the operating system boot sequence.
Describe the various aspects of developing an OAL.
Identify the required OAL functions.
Identify the optional OAL functions.
Identify how to use GetTickCount and Sleep functions to test OAL.
Describe how the Windows CE Kernel is built: with and without profiling.
Implement the OAL registry functions.
Implement basic Power Management.
Implement custom certification to modify the OAL by using Signfile.exe to create new signatures and correctly implement your application.

Module 6: Device Driver Architecture
The following topics are covered in this module:

Built-In Vs. Installable Drivers
Device Manager
ActivateDeviceEx
Registry Enumerator
Services
Bus Drivers
DMA
Resource Manager
Interrupt Model
Device Driver Power Management
Windows CE Test Kit (CETK)
After completing this module, you will be able to:

Explain the differences between built-in and installable drivers.
Identify the role of Device Manager in Windows CE .NET.
Describe the ActivateDeviceEx function.
Describe Registry Enumerator.
Describe the Services.exe module.
Explain Bus drivers.
Identify direct memory access (DMA) in Windows CE .NET.
Identify the role of Resource Manager in Windows CE .NET.
Describe the interrupt model.
Explain power management.
Describe CE Test Kit (CETK).

Module 7: Device Drivers Examples
The following topics are covered in this module:

Driver Source
Arrangement of the Driver Libraries
Battery and Notification LED Drivers
PC Card Socket
Keyboard Device Drivers
Display Drivers
DirectDraw
USB
1394
NDIS
Audio Device Drivers
Audio Compression Manager Drivers
File System Driver
FSD Manager Architecture
After completing this module, you will be able to:

Provide the location of the sample source code.
Define new abstraction of common sample code.
Define Battery and Notification LED driver.
Introduce the driver for the PCMCIA controller.
Explain the keyboard device drivers.
Describe display device drivers.
Identify the DirectDraw technology.
Provide an overview of Universal Serial Bus (USB).
Identify the support for 1394 in Windows CE .NET.
Describe the Network Driver Interface Specification (NDIS).
Explain audio device driver.
Describe the File System driver (FSD).

For more information or to give feedback, send e-mail to info@OneApex.com or call 949-597-2100