EMB313 Increasing Developer Productivity With Windows CE 5.0 Matt Young Windows Mobile Joint Development Program (JDP) Microsoft.

Slides:



Advertisements
Similar presentations
Microsoft Windows NT Embedded 4.0
Advertisements

Developing Apps With eMbedded Visual C++ ® Mike Shappell Windows CE Tools Microsoft Corporation
Building Embedded Systems With Windows® CE Platform Builder 3
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
EMB306 Building Windows CE Devices With DX Support John L. Marcantonio Program Manager Windows CE Multimedia Microsoft Corporation.
EMB304 Building Trustworthy Windows CE Embedded Devices and Applications Ganapathy Raman Program Manager Windows CE Security Team Microsoft Corporation.
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
What’s new for Rich Clients? Martin Parry Developer & Platform Group Microsoft Ltd
WDK Driver Test Manager. Outline HCT and the history of driver testing Problems to solve Goals of the WDK Driver Test Manager (DTM) Automated Deployment.
Application Development for Windows CE Devices
Configuring PHP on IIS7 Making your application rock on IIS7 Taking advantage of the Windows platform Q&A at Open Space.
EMB321 How To Write A Windows CE SDIO Client
Rob Hwacinski Sr. Program Manager Lead Microsoft Corporation WEM206 Ashwin Kulkarni Sr. Product Manager Microsoft Corporation.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
CLI339 Building Bluetooth Applications On The Windows CE 5.0 And Windows Mobile Platforms Anil Dhawan Program Manager Windows Mobile.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
What is Windows Embedded all about? Don Kerr Embedded Strategy Manager Microsoft Australia Andrew McGrath PrincipalBluBits SOL215.
EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.
EMB313 Increasing Developer Productivity With Windows CE 5.0
September 2008 IT Software Development Guide.
Introduction to Embedded Software Development School of software Engineering OS Development.
EMB318 Improve Product Quality Using Windows CE Error Reporting (Watson) James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.
EMB315 Non-Volatile Object Store And Hive Based Registry Design For Windows CE Rick Austin Principle Engineer Intermec Corporation.
EMB426 Windows CE Memory Architecture Steve Maillet CEO/Chief Software Architect EmbeddedFusion.
Using the WDK for Windows Logo and Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
CLI324 Tablet PC Platform Advanced Topics Software Design Engineer/Test Lead
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
BIZ208 Windows CE 5.0 Bringing to Market a Broad Range of Devices Dan Javnozon Product Manager MEDG Microsoft Corporation Business Track Presentation.
EMB423 Creating A Trusted Environment For Windows CE 5.0 Nat Frampton President Real Time Development
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
Introducing Reporting Services for SQL Server 2005.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
Tejasvi Kumar Technology Specialist – VSTS Microsoft Corporation
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
EMB422 Advanced Embedded Visual C++ Application Development Control - View Nat Frampton President Real Time Development
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
EMB424 Implementing Fault Tolerant Systems in Windows CE 5.0 Nat Frampton President Real Time Development
Microsoft Dynamics NAV 2009 and Architecture Overview Name Title Microsoft Corporation.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Module 2: Configuring Windows CE.  Overview Introduction to Platform Builder Platform Development Life Cycle Setting up the CE Device Modifying a Platform.
New Managed Messaging, State, And Notification APIs In Windows Mobile 2005 Gaurav Khanna Developer Evangelist Microsoft India.
EMB427 Writing Real-Time Applications On Windows CE 5.0 Nat Frampton President Real Time Development Corporation
CLI205 Basic Considerations For Mobile PC Application Development Tablet and Mobile PC Technical Evangelist Microsoft Corporation.
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
MBL490 Deploying Applications to Smartphone and Microsoft® Powered Pocket PC Marcus Perryman Consultant.
CLI325 In Depth – Ink Data Management Mark Hopkins Programmer Writer Tablet and Mobile PC Group Microsoft Corporation.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
SVR201 SQL Server 2005 Mobile Edition: The Evolution Of SQL Server CE Scott Smith Program Manager Visual Studio for Devices Microsoft Corporation.
CLI210 Introduction To Managed Development For Devices With Visual Studio 2005 Scott D. Smith Program Manager Visual Studio for Devices Microsoft Corporation.
Advanced Memory Management Douglas Boling President Boling Consulting Inc.
Windows CE Services Douglas Boling President Boling Consulting Inc.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Gowtham Prasad K N Partner Technical Consultant | Microsoft Corporation |
Application Migration Fritz Ohman Alphageek
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
How to be a SharePoint Developer
System Center 2012 Configuration Manager
Visual Studio Tools for Office 2005
New Developer Tools in Windows Embedded Standard 2011
Tech Ed North America /1/ :36 AM Required Slide
What's New in Visual Studio 2005
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
Best practices for packaging and distributing device drivers
5/25/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Overview of System Development for Windows CE.NET
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

EMB313 Increasing Developer Productivity With Windows CE 5.0 Matt Young Windows Mobile Joint Development Program (JDP) Microsoft

M anagement T ools C ommunications & M essaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update L ocation S ervices M ultimedia MapPoint DirectX Windows Media Visual Studio 2005 D evelopment T ools MFC 8.0, ATL 8.0 Win32 N ative M anaged S erver S ide L ightweight R elational SQL Server 2005 Express EditionEDB D ata P rogramming M odel D evice B uilding T ools D evice B uilding T ools H ardware/ D rivers Windows XP DDK Windows Embedded Studio Platform Builder OEM/IHV Supplied BSP (ARM, SH4, MIPS) OEM Hardware and Standard Drivers Standard PC Hardware and Drivers SQL Server 2005SQL Server 2005 Mobile Edition ASP.NET Mobile ControlsASP.NET.NET Compact Framework.NET Framework Microsoft Operations Manager Systems Management Server

GOAL: Optimize Developer Productivity Cycle

Agenda Unified Build Build System Overview (brief) Targeted Build Source Control Cloning Dynamic Debugging from FlatReleaseDir

Unified Build Vision “just one build system please…” The IDE becomes a thin client over the command line build expose build system “tribal knowledge” Enhanced, integrated documentation Dialogs catalog meta data linked helped Don’t slow down power users IDE Build = Command Line Build

Unified Build Solution IDE build engine shells out  command line Build meta-data is parsed real-time from build system files Expose the OS tree in the WorkspaceView IDE’s native sub-project type = sources/dirs visual editors for sources / dirs files ResourceView / ClassView for OS tree “Mixed-Mode Support”

3 Tier Unified Build Architecture

Unified Build highlights Shell Extension New Project Wizard Source and Dirs Editors FileView/ClassView/ResourceView Driver Resolver and Dependency Analyzer

Goals of the Build System Create binaries and Software Development Kit’s for devices based on Windows CE. Support selecting, building, and managing the dependencies of Operating System components. Enable building vertical solutions Create a “cesysgen” directory in that… contains drivers, libraries, programs, registry settings, header files, and other components as selected by the OEM. This “cesysgen” directory will serve as the basis for developing platform code and for generating SDKs for distribution to 3rd parties

System Generation Complete header and source code files Complete system libraries Module definitions (.def) Project- specific header files Linked libraries filtered.def files

Complete Build Process 1. Compilation phase (compilation at MS) 2. Link Phase (preproc) 3. Copy & filter headers and libraries (cefilter) 4. Post-process project (postproc) 5. Platform sysgen 6. Build platform 7. Create release directory (buildrel) 8. Create downloadable image (makeimg) Note: Steps 1-4 are repeated several times during a complete build, once for each “project” in the _DEPTREES list.

“DIRS” file DIRS file is “node” in build tree Lists subdirectories to build Build.exe does depth-first recurse “\” is continue line special char Tip: Beware of extra spaces! DIRS =\ Display \ Mouse \ Keyboard \ Ethernet DIRS =\ Display \ Mouse \ Keyboard \ Ethernet

“sources” file Extension to nmake environment What to compile Type of module (exe, dll, lib) Include & link path, etc SOURCES file is base project type in IDE. (new) Graphical SOURCES editor in IDE. (new) TARGETNAME = Kbdmouse TARGETTYPE = DYNLINK DLLENTRY = DllMain TARGETLIBS = \ $(_COMMONSDKROOT)\Lib\$(_CPUINDPATH)\Coredll.lib INCLUDES = $(_COMMONSDKROOT)\Inc SOURCES = \ ioport.cpp \ vgaports.cpp \ TARGETNAME = Kbdmouse TARGETTYPE = DYNLINK DLLENTRY = DllMain TARGETLIBS = \ $(_COMMONSDKROOT)\Lib\$(_CPUINDPATH)\Coredll.lib INCLUDES = $(_COMMONSDKROOT)\Inc SOURCES = \ ioport.cpp \ vgaports.cpp \

“sources” file (2) Simplifiy complexity of build environment Speeds up dependency checking for large projects “build.exe” is a front-end to “nmake.exe”.\makefile  public\common\oak\misc\makefile.def makefile.def sets up global build settings (compiler, paths, etc…) makefile.def .\sources Rules are used to compile and link SOURCES macros: TARGETNAME: base name. “foo” in foo.dll TARGETTYPE: { PROGRAM || DYNLINK || LIBRARY } SOURCES: list of source files (.c,.cpp,.asm,.s,.idl, etc…) CDEFINES: can add custom compiler options TARGETLIBS: list of import.lib’s ( .dll’s) SOURCELIBS: list of static.libs ( .lib’s)

Targeted Build The IDE did not expose an easy way for customers to take the shortest path to building a single binary Compile/Debug iterations were time- consuming

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

Source Control – Issues (4.2) Deploying SC for Platform Builder has been problematic for our customers  Many, Many, Many files Some files are overwritten as part of build Embedded paths in project files Goal: Install once, sync  dev’s Goal: Manage QFE’s centrally Goal: Able to collaborate on a project

Source Control – Solutions (5.0) crc.ini [public\COMMON\oak\bin\i386\build.exe]CR=0x800BC8E1PT=0 public\common\oak\bin\i386\crcgen.exe Removed Hard-coded paths from ALL project files QFE metadata moved: registry  disk QFE’s ship with.ini for files that will be updated Targeted Build == less disk i/o overall – important for ClearCase and some other SC systems

Cloning Goals Allow modifications to the Wince OS Public tree without side effects Modifications to drivers bound to workspace, not a BSP Allow for easier path to exporting customized drivers / apps

Cloning Solution A subset of OS Design Items can be deep-copied (cloned) into a workspace Replaceable library mechanism (linker- intercept) to implement cloning of OS modules

Cloning Process

Dynamic Debugging From _flatreleasedir Can build and debug modules from the Flat Release Dir without re-building, re-downloading or re-flashing an OS image Allow for IP-free support/debugging Allow for more streamlined internal development (build servers, etc) Allow for more rich third-party interaction

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 Source Control is made easier

After The Conference… Develop Build InstallBuildJoin Install Enter Enter Join Full-featured trial versions of Windows CE and/or Windows XP Embedded Cool stuff & tell us about it: msdn.microsoft.com/embedded/community msdn.microsoft.com/embedded/community Windows Embedded Partner Program: Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2 Mobile2Market Contest and win up to $25000: mobile2marketcontest.com mobile2marketcontest.com Microsoft Solutions Partner Program: partner.microsoft.com partner.microsoft.com

Tools & Resources msdn.microsoft.com/ embedded microsoft.public. windowsxp.embedded windowsce.platbuilder windowsce.platbuilder windowsce.embedded.vc windowsce.embedded.vc blogs.msdn.com/ mikehall Windows CE 5.0 Eval Kit Windows XP Embedded Eval Kit msdn.microsoft.com/ mobility microsoft.public. pocketpc.developer smartphone.developer dotnet.framework.compactframework blogs.msdn.com/ windowsmobile vsdteam netcfteam Windows Mobile 5.0 Eval Kit Websites Newsgroups Blogs Tools Build Develop

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.