1 finding hidden gold in the wince600 folder tree olivier bloch technical evangelist microsoft...

28
1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

Upload: deja-cantrill

Post on 31-Mar-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

1

Finding Hidden Gold in the WINCE600 Folder Tree

Olivier BlochTechnical EvangelistMicrosoft Corporation

EMB301

Page 2: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

2

Agenda

Platform Builder Build ProcessOSDesigns vs. PlatformsThe Build Tree

OrganizationOthersPlatformPublicPrivateOISDesign

Page 3: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

3

Let’s build somethin'!

demo

Page 4: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

4

Platform Builder Build Process

Configuration of the operating systemCompilation of the Board Support PackageCreation of the “Flat Release Directory”Creation of the runtime image

Page 5: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

5

OSDesign vs. Platform

OSDesign: Hardware-neutral configuration of the OS

Defines components of Windows CE usedDefines included applicationsMicrosoft-provided code

Platform: The OEM adaptation layer codeHardware-specific OS configuration-neutral OEM-provided codePlatforms defined under \WinCE\Platform directory

Page 6: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

6

The Build Tree

Discussion based on current Platform Builder tree

Evolutionary difference between this and earlier trees

WINCE600 renamed PBWorkspaces to OSDesigns

Build tree amazingly consistent since PegasusPegasus was the code name for CE 1.0

Page 7: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

7

WINCExx\Others

Contains CE implementations of run-time librariesDirectories

ATL ATL for Windows CEDOTNETVx .NET Compact FrameworksEDB Embedded database runtimeSLQCE20 SQL Server Mobile runtimeVisual Studio Device-side code for Visual Studio .NET 2003

Page 8: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

8

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 emulatorH4Sample OMAP 2420-based boardMainstoneIII Classic Intel eval board

for Xscale

Page 9: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

9

Platform\Catalog

Provides information about BSP to IDENew to CE 6

Configuration files in XML format

Page 10: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

10

Platform\Files

Location of ROM and file system configuration filesAnything not compliable

FilesPlatform.bib BIB file specifying driver files for imagePlatform.reg Platform-specific registry entriesPlatform.dat Platform-specific additions to the

directory structurePlatform.db Platform-specific database

initializationsPlatform.loc Platform-specific localization

Page 11: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

11

Platform\SRC

Source code for BSPDirectories under specific platform

Bootloader Contains boot loader codeDrivers Device driver PPD codeOAL Contains HAL codeKITL Contains KITL support codeInc Contains platform include filesCommon Shared routines used by multiple

parts of the BSP

Page 12: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

12

Platform\SRC\drivers

Place for PDD part of driversMany BSPs reference as generic drivers as possible

This reduces the number of drivers on the BSP side

Directorieskeybd Keyboard driverTouch Touch-panel driverWavedev Audio driverxxxx Your drivers (backlight,

system drivers, …)

Page 13: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

13

Platform\SRC\OAL

Location of HAL codeDirectories

OALLib HAL code here[cpu] CPU-specific assembler code

OALEXE Used by build tools

Page 14: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

14

Public SideDirectories 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 supportSERVERS HTTP/FTP/Telnet server supportWCEAPPSFE Applications (PWord, Mail, etc)WCESHELLFE “Explorer” Shell, control panel source

Other major subprojects

Page 15: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

15

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 driversSDK Include and library files for

application development

Page 16: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

16

Public\Common\OAK

Location of “public half” of operating system before parsed into a specific projectDirectories

Drivers Source code for MDD side of driversDemos Demonstration appsFiles Common configuration, font and

localization files Bin Build tools but not compiler or linkerMisc Batch files for environment setup Inc OAK include files

Page 17: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

17

Public\Common\SDK

Location of template for include and lib files for application development:Directories

Inc SDK include filesLib SDK library files Samples IM example

Page 18: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

18

Private sideDirectories 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.mspx

Page 19: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

19

Private

DIRECTX DirectShow source codeOSTESTS Stressmod test for the OSSERVERS ASP, HTTP, MSMQ,…SHELL Shell APIsTEST CETK tests sourceWCEAPPSFE …WCESHELLFE not much…WINCEOS 100% of the OS

Page 20: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

20

OSDesigns\[your project]

Initially: Location of template for your project

After system built:.\WinCExx – Contains the customized OS files

BSP directoryCesysgen

OAKDDKSDK

RelDir – Contains the code to be downloaded to the device

Page 21: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

21

…\[YourProj]\Reldir\...

The release directory holds the files created by the build processLocation of final build step that turns separate files into ROM imageLocation of download stepDefined by _FLATRELEASEDIR environment variable

Page 22: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

22

Summary

Know OSDesign vs. ProjectLearn the source

Page 23: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

23

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 functionality

Page 24: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

24

Q & A

Page 25: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

www.microsoft.com/teched Tech·Talks Tech·Ed BloggersLive Simulcasts Virtual Labs

http://microsoft.com/msdn

Developer’s Kit, Licenses, and MORE!

Resources for Developers

Page 26: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

Complete anevaluation onCommNet andenter to win!

1 Year Subscription!

Page 27: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301

27

© 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.

Page 28: 1 Finding Hidden Gold in the WINCE600 Folder Tree Olivier Bloch Technical Evangelist Microsoft Corporation EMB301