The Windows CE Platform Development Cycle Describe the pattern of a typical project and the ways Windows CE .NET is designed to shorten the cycle by using rapid start and parallel dev
Trang 1The Windows CE Platform Development Cycle4
Review 26
Module 2: Overview of System Development
Trang 2Information in this document, including URL and other Internet Web site references, is subject to change without notice Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, places or events is intended or should be inferred Complying with all applicable copyright laws is the responsibility of the user Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property
2001 Microsoft Corporation All rights reserved
Microsoft, MS-DOS, Windows, Windows NT, Visual Studio are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A and/or other countries
The names of actual companies and products mentioned herein may be the trademarks of their respective owners
Trang 3After completing this module, students will be able to:
Compare Windows CE NET and Windows XP Embedded
Explain the platform development cycle
Describe the application development options
Materials and Preparation
This section provides the materials and preparation tasks that you need to teach this module
Required Materials
To teach this module, you need the following materials:
Microsoft® PowerPoint® file 2530A_02.ppt
Preparation Tasks
To prepare for this module:
Read all of the materials for this module
Module Strategy
Use the following strategy to present this module:
Selecting a Windows Embedded Operating System Briefly explain the differences between Windows CE NET and Windows
XP Embedded and discuss the questions that should be asked for arriving at the decision about which operating system should be used, Windows XP Embedded
The Windows CE Platform Development Cycle Describe the pattern of a typical project and the ways Windows CE NET is designed to shorten the cycle by using rapid start and parallel development features
The Application Development Options Explain the Native and Managed development models and discuss the difference between the two
Presentation:
60 Minutes
Trang 4Overview
Selecting a Windows Embedded Operating System
The Windows CE Platform Development Cycle
The Application Development Options
In this module, you will learn how to select between Windows CE NET and Windows XP Embedded You will then learn about the platform development cycle for Windows CE, including features that allow you to minimize
development time by using parallel development Finally, you will learn about the available tools and options for developing Windows CE applications After completing this module, you will be able to:
Compare Windows CE NET and Windows XP Embedded
Explain the platform development cycle
Describe the application development options
development process, from
choosing the operating
system in the first place to
final testing at the end
Trang 5Selecting a Windows Embedded Operating System
Selecting a Windows Embedded Operating System
Yes >~16 MB+
X86 PC No
The answers to these questions help you in selecting the right operating system:
• Is your device battery powered?
• Which CPU architecture?
• Any RAM footprint limitations?
• Need to use existing Win32 applications and Windows drivers?
Topic Objective
To describe the decision
method for selecting
between the Windows CE
and Windows XP
Embedded operating
system
Lead-in
Present a decision method
for selecting between the
two operating systems:
Windows CE and Windows
XP Embedded
The first step in a Windows
Embedded project is to
select the right operating
system according to your
needs…
Delivery Tip
Some people in this course
may be evaluating Windows
CE to decide if it is right for
their project This topic
helps to clarify them the key
differences between CE and
XP
You may want to ask if there
is any student in the class
with this requirement, if no
you can abbreviate the
topic
Trang 6Selecting a Windows Embedded Operating System
Windows 2000/XP Platform Builder
Development Environment
Same as XP Improved over 3.0
Security
Same as XP Fine-tuned for size
Device Driver
Pentium class x86 x86, MIPS, SHx, ARM
Modular Extremely modular
Configurability
500 k – 16MB 5MB - 56MB
Disk Space
Windows XPE Windows CE
Feature
The Microsoft strategy is to offer a broad range of Windows-based, embedded operating-system solutions to meet the diverse needs of customers Ultimately, the design requirements of your device determine the platform to be used But understanding the development focus of each operating system may assist you
in making this decision
Use Windows CE NET for solutions requiring real-time, small footprint,
battery power, low unit cost, and support for multiple processor types
Use Windows XP Embedded for solutions requiring the latest Windows technologies built on the x86 processor
Topic Objective
To compare the key
features of the two operating
systems
Lead-in
Some of the key differences
between CE and XPE are
laid out in the table on the
slide…
Trang 7 The Windows CE Platform Development Cycle
Getting Started Quickly With Platform Builder
Taking Advantage of Parallel Development
Typical Project Timeline
Moving from SDB to Custom Hardware
The Iterative Development Process
This section covers the main stages of a Windows CE platform development project and highlights the new features of Platform Builder that make projects faster and more efficient
Trang 8Getting Started Quickly with Platform Builder
New Platform Wizard:
z Select from New Platform Wizard
The first step in platform development cycle is to use Platform Builder to create
a base configuration You can use the New Platform Wizard in Platform Builder to quickly and easily configure your platform
Platform Builder
Microsoft Platform Builder delivers all the tools developers need to build Windows CE-based embedded systems The Platform Builder Integrated Development Environment (IDE) includes wizards and toolbars for creating platforms and components, compilers, a full set of resource editors, a kernel debugger, and a tool for exporting a custom software development kit (SDK) Platform Builder runs on Microsoft® Windows® 2000 Service Pack 2 Workstation or Windows XP RC1 Professional (build 2505 or later)
New Platform Wizard
The New Platform Wizard provides you with a series of interactive dialog boxes, which allow you to:
Select a base operating system (OS) configuration for your platform
Choose initial operating system features
Choose a preconfigured Board Support Packages (BSP)
After you have chosen your initial settings, the New Platform Wizard sets up the environment with files that support the operating system configuration you have selected
The Windows CE features included in your platform depend on the operating system configuration that you select You can build a system with a little more than a kernel, a system with a complex graphical user interface (UI) and preinstalled applications, or any type of a system in between
Through a series of interactive dialog boxes, the New Platform Wizard enables you to select:
The New Platform Wizard
provides you with an instant
base configuration as a
starting point for your
project
Delivery Tip
The term Platform Builder is
commonly used to refer to
the IDE interface alone,
though in fact Platform
Builder includes the larger
set of tools and files that
make it possible to build a
working Windows CE
image
Trang 9 One of the many base configurations and their variants or any configuration
in the catalog
One of the preconfigured BSPs or one you have created yourself
Additional applications and media you wish to include, such as Internet Browser, Pocket Word, and Media Player
Networking and communication options you wish to include, such as Infrared Data Association (IrDA), Bluetooth, and Point to Point Protocol (PPP)
Any other features you wish to add using drag and drop
Basic Configurations
Platform Builder provides basic configurations as starting points for the creation of an operating system The configurations are provided to give you a start with a specific class of device Configurations, in combination with a BSP, are intended to reduce bring-up time and time to market Once a basic
configuration is chosen, you may modify it to suit your specific needs
Delivery Tip
The basic configurations,
based on real-world device
types, are an important new
feature in Windows CE
These basic configurations
replace the configurations in
previous versions, such as
Maxall and Minkern
Trang 10Getting Started Quickly with Platform Builder (continued)
CEPC Emulator
hardware attached, including applications and debugging
SDBs and BSPs in Platform Builder
Windows CE NET supports a wide variety of development platforms, both emulated and real
CEPC Emulator
A tool designed to emulate the behavior of hardware, built using Platform Builder on a standard workstation The Emulator has been integrated into Platform Builder so that users can create a virtual hardware reference board instead of using a CEPC to test their platforms
SDBs and BSPs in Platform Builder
Out-of-the-box BSP support is provided for nine commercial off-the-shelf (COTS) hardware reference platforms also known as Standard Development Boards (SDBs) that cover the full range of supported microprocessors The generic CEPC platform is also supported This out-of-the-box support allows OEMs to quickly evaluate their operating system features on their reference hardware and cut down on time to market issues while designing products with Windows CE
Topic Objective
To introduce the Emulator
and Standard Development
Boards (SDB) options
Lead-in
What will you use as a
target device for early
system development? You
have two main options…
Delivery Tip
Point out that the emulator
and the wide range of SDBs
supported by BSPs are new
features of Windows CE
.NET In previous versions,
only two hardware platforms
were supported out-of
-the-box: CEPC and ODO
For Your Information
The BSPs and SDBs were
Trang 11Taking Advantage of Parallel Development
Linear Development Model
Parallel Development Model
Likewise, application development is not dependent on the completion of platform development Native application work can begin in the emulation environment of eVC, and then can move onto SDBs and custom hardware as these become available Likewise managed applications can be developed using only Visual Studio NET with Smart Device Extensions, then moved to
hardware when it’s available
As a result it is possible to have a porting team, a customization team, and an applications team working in parallel to achieve the shortest overall
development time frame
Trang 12Typical Project Timeline
Boot loader OAL
Time
Driver A Driver B
development platform, such as a Standard Development Board (SDB) or the Emulator, and then refine and debug the platform After refining and debugging the platform, you adapt it for your custom target device If you are not using a standard BSP, you must create a boot loader and an OEM Adaptation Layer (OAL) before you can download your operating system image to your target device You use a boot loader to download code such as an operating system image to a target device
Topic Objective
Explain the typical project
timeline
Lead-in
Here is a project timeline
that demonstrates parallel
development in practice…
For Your Information
For more information about
porting, see course 2535A,
“Developing a Board
Support Package for
Microsoft Windows CE
.NET” and for more
information about advanced
operating system and
application techniques, see
course 2540A, “Developing
Embedded Solutions Using
Microsoft Windows CE
.NET”
Trang 13Moving from SDB to Custom Hardware
On a Standard Development Board (SDB) and/or Emulation
z Configure the operating system
z Build the operating system image
z Debug the operating system image
z Generate a Platform SDK
z Develop your applications
z Integrate and test
On your custom hardware when it is available
z Create the Board Support Package (BSP)
z Produce and deploy
Much of the necessary development work for a Windows CE project can be accomplished on a SDB, before your custom hardware is ported You can customize the platform by adding or removing features You can localize the platform to adapt the operating system for a specific international market or locale You can add a feature provided with Platform Builder, and you can add features that you create, which are referred to as user features In Platform Builder, you create a project using a project wizard, and the project has an associated Platform Builder project (.pbp) file The types of projects you can create include applications, transport layers, static libraries, and dynamic-link libraries
If your project includes custom hardware, the operating system may need to be ported to the new hardware This involves creating a new BSP specific to your hardware, including a custom OAL and production quality device drivers When you create a BSP, you specify a collection of features that, as a package, offer a default level of functionality for a platform
A board support package (.bsp) file contains the default set of drivers for each available configuration and defines which set of features are added to your platform when you create a new platform with the New Platform Wizard Before you create a bsp file, you must create the cec files, which define your set of features, and import the features into the Catalog
Boot Loader Development
The Windows CE boot loader is code that resides on a Windows CE target device The boot loader manages the boot process of the device by initializing the device, downloading the operating system image, and starting the image on the device Because the boot loader is used only for development, it resides only on the device You do not need to include it with your Windows CE platform Platform Builder provides sample code for each development platform that is supported To properly initialize your target development board, you can develop a boot loader by simply modifying one of the sample boot
Topic Objective
To explain how the
development cycle typically
begins on an SDB and
moves to custom hardware
when it is available
Lead-in
Let’s take a closer look at
which tasks can be done on
an SDB and which tasks
must be done on custom
hardware…
For Your Information
This course does not cover
Trang 14loaders provided in Platform Builder You can also develop a boot loader separately to incorporate processes specific to your platform
OAL Development
An OAL is the layer between the Windows® CE kernel and the hardware of your target device You create the OAL, from initial configuration of the CE kernel and platform startup through the addition of device-specific functionality and enhancement
Device Driver Development
A device driver links an operating system and a device, making it possible for the operating system to recognize the device and to present the device's services
to applications All device drivers in Windows CE are dynamic-link libraries (DLLs) Built-in devices are integral to a Windows CE-based platform and are installed by the platform manufacturer Display screens and PC Card or USB controllers are often built-in Installable devices are third-party peripheral devices that end users can connect to a Windows CE-based platform using appropriate hardware sockets at any time Printers and PC Card devices are two examples of installable devices
Trang 15The Iterative Development Process
The illustration in the slide demonstrates the iterative process of building, downloading, and debugging the operating system image repeatedly while adding feature, enhancements, applications, and moving from a development board to custom hardware
To build a platform based on Microsoft Windows CE NET, you select a Windows CE configuration, install or create an OAL and device drivers, build
an operating system image based on your configuration, and develop a boot loader to transfer your image to a target device
In a typical platform development scenario, you first download your image to a hardware development platform, such as the Windows CE PC-based hardware development platform (CEPC) Platform Builder includes boot loaders and BSP for this, and many other hardware development platforms After refining and debugging your platform on a hardware development platform, you adapt it for your custom target device You must create a boot loader and an OAL before you can download your operating system image to your target device
Once you have completed your platform, you use the Export SDK tool to export
a custom SDK Application developers can import your SDK into eMbedded Visual C++ and write applications for your platform, which can then be rolled back into the platform image