EMB313 Increasing Developer Productivity With Windows CE 5.0 Gabriel Spil IDE Dev Lead CE Tools Microsoft Corporation Hardware/Drivers OEM/IHV Supplied Programming Model Data Device Building Tools BSP (ARM, SH4, MIPS) EDB SQL Server 2005 Mobile Edition Relational Native Server Side Standard PC Hardware and Drivers Windows XP DDK Windows Embedded Studio Platform Builder Lightweight Managed OEM Hardware and Standard Drivers SQL Server 2005 Express Edition SQL Server 2005 Win32 MFC 8.0, ATL 8.0 .NET Compact Framework ASP.NET Mobile Controls .NET Framework ASP.NET Windows Media DirectX Multimedia Location Services MapPoint Development Tools Visual Studio 2005 Internet Security and Acceleration Server Exchange Server Live Communications Server Speech Server Communications & Messaging Device Update Agent Management Tools Image Update Software Update Services Systems Management Server Microsoft Operations Manager GOAL: Optimize Developer Productivity Cycle DEB U BUILD G EDIT DOWNLOAD Features Unified Build Targeted Build Cloning Mixed Mode Builds Dynamic Debugging from FlatReleaseDir Unified Build Vision The IDE becomes a thin client over the command line build Value add as a presentation layer to expose cmd-line build “tribal knowledge” Value add as documentation (dialogs, catalog meta data, linked helped, etc.) IDE Build = Command Line Build Unified Build Solution The IDE build engine shells out to the command line build Build meta-data is parsed real-time from build system files Expose the OS tree in the WorkspaceView Make the IDE’s native sub-project type sources/dirs Create visual editors for sources and dirs files ResourceView/ClassView support for OS tree 3 Tier Unified Build Architecture File View Feature Parameter View View PRESENTATION LAYER The VS style visual represenation of the OS build tree. WINCEROOT Public Platform Private WinceRoot Favorites Build Directory BUSINESS LOGIC LAYER The following C# Objects provide the business logic. Shortcut 1 Deptree Shortcut 2 Dirs Sources Source Files Dirs Files DATA LAYER The following are on-disk files that contain read or read/write data for initializing the Object Model. PBXML Sources Files Makefile.def Wince. bat CESysgen Files Wince Tree Directory Structure Misc Source Files Unified Build Demo Shell Extension New Project Wizard Source and Dirs Editors FileView/ClassView/ResourceView Driver Resolver and Dependency Analyzer Targeted Build Problem Statement The IDE did not expose an easy way for customers to take the shortest path to building a single binary Targeted Build Solution Leverage command line to allow users to compile, link and copy to flatreleasedir in one step Deptree change -> Makeimg in one step Platform Builder Project change -> Makeimg in one step BSP change -> Makeimg in one step Targeted Build Targeted Build in Public Tree Targeted Build in BSP Targeted Build of Platform Builder Project Cloning Goals Allow modifications to the Wince OS Public tree without side effects to multiple workspaces Allow modifications to be bound to a workspace Cloning Solution Allow a subset of OS Design Items to be deep-copied into a workspace Use a replaceable library methodology to implement cloning of OS modules Cloning Process WORKSPACE BUILD SYSGEN IF CLONED LIBS BUILD CLONE LIBS MS PUBLIC LIBS MS PUBLIC LIBS LINKER FINAL MODULE CLONED LIBS IF CLONED MODULE CLONED LIBS LINKER FINAL CLONED MODULE Cloning Demo Clone a public driver from the catalog Build and link new cloned driver Mixed Mode Builds Allows customers to build Platform Builder Projects with Debug settings in a Release version of the OS Mixed Mode Build Demo Configure a user project to always build with Debug settings Build a release OS image Debug user project Dynamic Debugging From FlatReleaseDir Allows customers to build and debug modules dynamically from the FlatReleaseDir without re-building, re-downloading or re-flashing an OS image Dynamic Debugging Demo Download and debug OS Notice defect that requires an edit/build Make source changes and build module Add module to dynamic debug list Reset device as needed Debug new modifications without rebuilding or re-downloading image Summary – Increasing Productivity By: Exposing the power of the command line build system Fidelity between IDE Workspaces and command line Enhanced support for building and debugging cycles While at MEDC 2005… Fill out an evaluation for this session Randomly selected instant WIN prizes! Visit the Microsoft Product Pavilion in the Exhibit Hall Shorelines B Use real technology in a lab Instructor led Reef E/F & Breakers L Self-paced Reef B/C After The Conference… Build Install Full-featured trial versions of Windows CE and/or Windows XP Embedded Build Cool stuff & tell us about it: msdn.microsoft.com/embedded/community Join Windows Embedded Partner Program: www.mswep.com Develop Install Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2 Enter Mobile2Market Contest and win up to $25000: mobile2marketcontest.com Join Microsoft Solutions Partner Program: partner.microsoft.com Tools & Resources Build Develop msdn.microsoft.com/ embedded msdn.microsoft.com/ mobility microsoft.public. windowsxp.embedded windowsce.platbuilder windowsce.embedded.vc microsoft.public. pocketpc.developer smartphone.developer dotnet.framework.compactframework Blogs blogs.msdn.com/ mikehall blogs.msdn.com/ windowsmobile vsdteam netcfteam Tools Windows CE 5.0 Eval Kit Windows XP Embedded Eval Kit Windows Mobile 5.0 Eval Kit Websites Newsgroups © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.