Olivier Bloch Technical Evangelist Microsoft Corporation EMB301 Agenda Platform Builder Build Process OSDesigns vs Platforms The Build Tree Organization Others Platform Public ID: 635649
Download Presentation The PPT/PDF document "Finding Hidden Gold in the WINCE600 Fold..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Finding Hidden Gold in the WINCE600 Folder Tree
Olivier BlochTechnical EvangelistMicrosoft Corporation
EMB301Slide2
Agenda
Platform Builder
Build
ProcessOSDesigns vs. PlatformsThe Build TreeOrganizationOthersPlatformPublicPrivateOISDesignSlide3
Let’s build somethin
'!
demoSlide4
Platform Builder Build Process
Configuration of the operating systemCompilation of the Board Support PackageCreation of the “Flat Release Directory”
Creation of the runtime imageSlide5
OSDesign vs. Platform
OSDesign: Hardware-neutral configuration
of the OS
Defines components of Windows CE used
Defines included applicationsMicrosoft-provided codePlatform: The OEM adaptation layer codeHardware-specific OS configuration-neutral OEM-provided codePlatforms defined under \WinCE\Platform directorySlide6
The Build Tree
Discussion based on current Platform Builder treeEvolutionary difference between this and earlier trees
WINCE600 renamed
PBWorkspaces
to OSDesignsBuild tree amazingly consistent since PegasusPegasus was the code name for CE 1.0Slide7
WINCExx
\Others
Contains CE implementations of
run-time libraries
DirectoriesATL ATL for Windows CEDOTNETVx .NET Compact FrameworksEDB Embedded database runtime
SLQCE20
SQL Server Mobile runtime
Visual Studio
Device-side code for Visual Studio .NET 2003Slide8
Platform
Source code for board support package (BSP)
Arubaboard
XScale 270-based demo boardCEPC BSP for standard PC hardwareCommon “Common” code used across BSPsDeviceEmulator BSP for ARM-based emulator
H4Sample OMAP 2420-based board
MainstoneIII
Classic Intel
eval
board
for
XscaleSlide9
Platform\Catalog
Provides information about BSP to IDENew to CE 6
Configuration files in XML formatSlide10
Platform\Files
Location of ROM and file system configuration files
Anything not compliable
Files
Platform.bib BIB file specifying driver files for imagePlatform.reg Platform-specific registry entriesPlatform.dat Platform-specific additions to the
directory structure
Platform.db
Platform-specific database
initializations
Platform.loc
Platform-specific localizationSlide11
Platform\SRC
Source code for
BSP
Directories
under specific platformBootloader Contains boot loader codeDrivers Device driver PPD code
OAL
Contains
HAL
code
KITL Contains KITL support code
I
nc
Contains platform
include
files
Common Shared routines used by multiple parts of the BSPSlide12
Platform\SRC\drivers
Place for PDD part of drivers
Many BSPs reference as generic drivers as possible
This reduces the number of drivers on the BSP side
Directorieskeybd Keyboard driverTouch Touch-panel driver
Wavedev
Audio driver
xxxx
Your drivers (backlight,
system drivers, …)Slide13
Platform\SRC\OAL
Location of HAL codeDirectoriesOALLib HAL code here
[cpu] CPU-specific assembler code
OALEXE Used by build toolsSlide14
Public Side
Directories for projects that make up the major
parts of the operating system:
Common
Common OS code and MDD driver sourceDCOM COM support MSMQ Microsoft Message Queuing supportSCRIPT JScript
and VBScript support
SERVERS HTTP/FTP/Telnet server support
WCEAPPSFE Applications (
PWord
, Mail, etc)
WCESHELLFE “Explorer” Shell, control panel source
Other major subprojectsSlide15
Public\Common
Location of common code shared across
all configurations:
Directories
Cesysgen Contains basic configuration filesOAK OS files and MDD driver source DDK Include files for PCMCIA, NDIS miniport, SDIO, and USB drivers
SDK Include and library files for
application developmentSlide16
Public\Common\OAK
Location of “public half” of operating system before parsed into a specific
project
Directories
Drivers Source code for MDD side of driversDemos Demonstration
apps
Files Common configuration, font
and
localization files
Bin
Build tools but not compiler or linker
Misc Batch files for environment setup
Inc
OAK include
filesSlide17
Public\Common\SDK
Location of template for include and lib files for application development:Directories
Inc SDK include files
Lib SDK library files
Samples IM exampleSlide18
Private side
Directories containing the private source codeWhen installing the tools, select “Source Code”
List of source code available there
http://www.microsoft.com/windows/embedded/products/windowsce/shared-source-licensing.mspxSlide19
Private
DIRECTX DirectShow source code
OSTESTS
Stressmod
test for the OSSERVERS ASP, HTTP, MSMQ,…SHELL Shell APIsTEST CETK tests sourceWCEAPPSFE …WCESHELLFE not much…WINCEOS 100% of the OSSlide20
OSDesigns
\[your project]
Initially:
Location of template for your
projectAfter system built:.\WinCExx – Contains the customized OS files BSP directoryCesysgenOAK
DDK
SDK
RelDir
– Contains the code to be
downloaded to
the
deviceSlide21
…\[YourProj]\Reldir\...
The release directory holds the files created by the build processLocation of final build step that turns separate files into ROM image
Location of download step
Defined by _FLATRELEASEDIR environment variableSlide22
Summary
Know OSDesign vs. Project
Learn the sourceSlide23
On The Road Home
Explore
Stay Connected
SPARK You Imagination
windowsembedded.com/SPARK
Windows Embedded CE 6.0 R2
Visual Studio 2005 Professional
An embedded board at a hobbyist price
No time bombs and full functionalitySlide24
Q & ASlide25Slide26Slide27
©
2008 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT
MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.Slide28