emb313 increasing developer productivity with windows ce 5.0 gabriel spil ide dev lead ce tools...
TRANSCRIPT
EMB313EMB313
Increasing Developer Increasing Developer Productivity With Productivity With Windows CE 5.0Windows CE 5.0
Gabriel SpilGabriel SpilIDE Dev LeadIDE Dev LeadCE ToolsCE ToolsMicrosoft CorporationMicrosoft Corporation
MManagementanagementTToolsools
CCommunicationsommunications& & MMessagingessaging
Device Update Agent
Software Update Services
Live Communications Server
Exchange Server
Internet Security and Acceleration Server
Speech Server
Image Update
LLocation ocation SServiceservices
MMultimediaultimedia
MapPoint
DirectX
Windows Media
Visual Studio 2005DDevelopment evelopment TToolsools
MFC 8.0, ATL 8.0
Win32NNativeative
MManagedanaged
SServer erver SSideide
LLightweightightweight
RRelationalelationalSQL Server 2005 Express EditionEDB
DDa
taata
PPro
gra
mm
ing
ro
gra
mm
ing
MM
od
el
od
el
DDevice evice BBuilding uilding TToolsools
HHardware/ardware/DDriversrivers
Windows XP DDK
Windows Embedded Studio
Platform Builder
OEM/IHV SuppliedBSP
(ARM, SH4, MIPS)OEM Hardware and Standard Drivers
Standard PC Hardware and Drivers
SQL Server 2005SQL Server 2005 Mobile Edition
ASP.NET Mobile Controls ASP.NET
.NET Compact Framework .NET Framework
Microsoft Operations Manager
Systems Management Server
GOAL: Optimize Developer GOAL: Optimize Developer Productivity CycleProductivity Cycle
EDIT
DOWNLOAD
BU
ILD
FeaturesFeatures
Unified BuildUnified Build
Targeted BuildTargeted Build
CloningCloning
Mixed Mode BuildsMixed Mode Builds
Dynamic Debugging from Dynamic Debugging from FlatReleaseDirFlatReleaseDir
Unified Build VisionUnified Build Vision
The IDE becomes a thin client over the The IDE becomes a thin client over the command line buildcommand line build
Value add as a presentation layer to Value add as a presentation layer to expose cmd-line build “tribal expose cmd-line build “tribal knowledge”knowledge”
Value add as documentation (dialogs, Value add as documentation (dialogs, catalog meta data, linked helped, etc.)catalog meta data, linked helped, etc.)
IDE Build = Command Line BuildIDE Build = Command Line Build
Unified Build SolutionUnified Build Solution
The IDE build engine shells out to the The IDE build engine shells out to the command line buildcommand line build
Build meta-data is parsed real-time from Build meta-data is parsed real-time from build system filesbuild system files
Expose the OS tree in the WorkspaceViewExpose the OS tree in the WorkspaceView
Make the IDE’s native sub-project type Make the IDE’s native sub-project type sources/dirssources/dirs
Create visual editors for sources and Create visual editors for sources and dirs filesdirs files
ResourceView/ClassView support ResourceView/ClassView support for OS treefor OS tree
3 Tier Unified Build 3 Tier Unified Build ArchitectureArchitecture
File View FeatureView
ParameterView
WINCEROOTPublicPlatformPrivate
Wince TreeDirectory Structure
CESysgen Files
Dirs Files
Sources Files
WinceRoot
Build Directory
Deptree
Dirs
Sources
Source Files
MiscSource Files
Favorites
Shortcut 1
Shortcut 2
Makefile.def
DATA LAYER The following are on-disk files that contain read or read/write data for initializing the Object Model.
BUSINESS LOGIC LAYERThe following C# Objects providethe business logic.
PRESENTATION LAYERThe VS style visual represenation of the OS build tree.
PBXMLWince.
bat
Unified Build DemoUnified Build Demo
Shell Extension Shell Extension
New Project WizardNew Project Wizard
Source and Dirs EditorsSource and Dirs Editors
FileView/ClassView/ResourceViewFileView/ClassView/ResourceView
Driver Resolver and Dependency Driver Resolver and Dependency AnalyzerAnalyzer
Targeted Build Problem Targeted Build Problem StatementStatement
The IDE did not expose an easy way for The IDE did not expose an easy way for customers to take the shortest path to customers to take the shortest path to building a single binarybuilding a single binary
Targeted Build SolutionTargeted Build Solution
Leverage command line to allow users Leverage command line to allow users to compile, link and copy to to compile, link and copy to flatreleasedir in one stepflatreleasedir in one step
Deptree change -> Makeimg in one Deptree change -> Makeimg in one stepstep
Platform Builder Project change -> Platform Builder Project change -> Makeimg in one stepMakeimg in one step
BSP change -> Makeimg in one stepBSP change -> Makeimg in one step
Targeted BuildTargeted Build
Targeted Build in Public TreeTargeted Build in Public Tree
Targeted Build in BSPTargeted Build in BSP
Targeted Build of Platform Targeted Build of Platform Builder ProjectBuilder Project
Cloning GoalsCloning Goals
Allow modifications to the Wince OS Allow modifications to the Wince OS Public tree without side effects to Public tree without side effects to multiple workspacesmultiple workspaces
Allow modifications to be bound to a Allow modifications to be bound to a workspaceworkspace
Cloning SolutionCloning Solution
Allow a subset of OS Design Items to Allow a subset of OS Design Items to be deep-copied into a workspacebe deep-copied into a workspace
Use a replaceable library methodology Use a replaceable library methodology to implement cloning of OS modulesto implement cloning of OS modules
Cloning ProcessCloning Process
SYSGEN
IF CLONEDMODULE
MS PUBLICLIBS
MS PUBLICLIBS
CLONEDLIBS
CLONEDLIBS
LINKER
FINAL MODULE
WORKSPACEBUILD
IF CLONED
LIBS
LINKER
FINAL CLONEDMODULE
BUILDCLONE
LIBS
Cloning DemoCloning Demo
Clone a public driver from the catalogClone a public driver from the catalog
Build and link new cloned driverBuild and link new cloned driver
Mixed Mode BuildsMixed Mode Builds
Allows customers to build Platform Allows customers to build Platform Builder Projects with Debug settings in Builder Projects with Debug settings in a Release version of the OSa Release version of the OS
Mixed Mode Build DemoMixed Mode Build Demo
Configure a user project to always Configure a user project to always build with Debug settingsbuild with Debug settings
Build a release OS imageBuild a release OS image
Debug user projectDebug user project
Dynamic Debugging From Dynamic Debugging From FlatReleaseDirFlatReleaseDir
Allows customers to build and debug Allows customers to build and debug modules dynamically from the modules dynamically from the FlatReleaseDir without re-building, FlatReleaseDir without re-building, re-downloading or re-flashing an re-downloading or re-flashing an OS imageOS image
Dynamic Debugging DemoDynamic Debugging Demo
Download and debug OSDownload and debug OS
Notice defect that requires an edit/buildNotice defect that requires an edit/build
Make source changes and build Make source changes and build modulemodule
Add module to dynamic debug listAdd module to dynamic debug list
Reset device as neededReset device as needed
Debug new modifications without Debug new modifications without rebuilding or re-downloading imagerebuilding or re-downloading image
Summary – Increasing Summary – Increasing Productivity By:Productivity By:
Exposing the power of the command Exposing the power of the command line build systemline build system
Fidelity between IDE Workspaces and Fidelity between IDE Workspaces and command linecommand line
Enhanced support for building and Enhanced support for building and debugging cyclesdebugging cycles
While at MEDC 2005…While at MEDC 2005…Fill outFill out an evaluation for this session an evaluation for this session
Randomly selected instant Randomly selected instant WINWIN prizes! prizes!
Use Use real technology in a labreal technology in a lab Instructor led Instructor led Reef E/FReef E/F & & Breakers LBreakers L
Self-paced Self-paced Reef B/CReef B/C
VisitVisit the Microsoft Product Pavilion the Microsoft Product Pavilion
in the Exhibit Hall in the Exhibit Hall Shorelines BShorelines B
After The Conference…After The Conference…
DevelopDevelop
BuildBuild
InstallInstall
BuildBuild
JoinJoin
InstallInstall
EnterEnter
JoinJoin
Full-featured trial versions of Windows CE Full-featured trial versions of Windows CE and/or Windows XP Embeddedand/or Windows XP Embedded
Cool stuff & tell us about it: Cool stuff & tell us about it: msdn.microsoft.com/embedded/community
Windows Embedded Partner Program:Windows Embedded Partner Program:www.mswep.com
Windows Mobile 5.0 Eval Kit including Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2Visual Studio 2005 Beta 2
Mobile2Market Contest and win up to $25000: Mobile2Market Contest and win up to $25000: mobile2marketcontest.com
Microsoft Solutions Partner Program:Microsoft Solutions Partner Program:partner.microsoft.com
Tools & ResourcesTools & Resources
msdn.microsoft.com/msdn.microsoft.com/ embeddedembedded
microsoft.public.microsoft.public. windowsxp.embeddedwindowsxp.embedded windowsce.platbuilderwindowsce.platbuilder windowsce.embedded.vcwindowsce.embedded.vc
blogs.msdn.com/blogs.msdn.com/ mikehallmikehall
Windows CE 5.0 Eval KitWindows CE 5.0 Eval KitWindows XP Embedded Eval KitWindows XP Embedded Eval Kit
msdn.microsoft.com/msdn.microsoft.com/ mobilitymobility
microsoft.public.microsoft.public. pocketpc.developer pocketpc.developer smartphone.developer smartphone.developer dotnet.framework.compactframeworkdotnet.framework.compactframework
blogs.msdn.com/blogs.msdn.com/ windowsmobilewindowsmobile vsdteamvsdteam netcfteamnetcfteam
Windows Mobile 5.0 Eval KitWindows Mobile 5.0 Eval Kit
WebsitesWebsites
NewsgroupsNewsgroups
BlogsBlogs
ToolsTools
BuildBuild DevelopDevelop