1 / 32

Application Development for Windows CE Devices

Application Development for Windows CE Devices. Frank Prengel Embedded Developer Evangelist Microsoft Germany. What you will learn. Quick facts: What is Windows CE? What does „development“ mean? Visual Studio 2005 for Devices Developing native & .NET applications

erelah
Download Presentation

Application Development for Windows CE Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Application Developmentfor Windows CE Devices Frank Prengel Embedded Developer Evangelist Microsoft Germany

  2. What you will learn Quick facts: What is Windows CE? What does „development“ mean? Visual Studio 2005 for Devices Developing native & .NET applications Creating & using a custom device SDK Future tools: Windows CE "6"

  3. Thin Clients Windows Mobile Smartphone Industrial Automation Windows Mobile Pocket PC Phone ATMs / Kiosks Windows Automotive Office Automation Retail Point-of-Sale Tablet PC .netcpu Portable Media Center Medical Devices VoIP Phones Windows-based Terminals Mobile Handhelds Smart Personal Objects Notebook PC Entertainment Devices Set-top Boxes Set-top Box Gateways .NET MicroFramework Windows XP Functionality

  4. Quick facts: What is Windows CE? • A small embedded 32-bit OS • Virtual memory & multithreading • Componentized & configurable • Hard real-time capabilities • Multiple CPU architectures (ARM, x86, SH4, MIPS) • Subset of Win32 API • Comes with source code (!) • Lots of features...

  5. Device UnderDevelopment What does „development“ mean? Embedded Visual C++ BSP (OAL, Boot Loader, Drivers) Standard SDK Platform Builder Visual Studio 2005 Export SDK Configuration OEM ISV Build Download Debug Device Emulation

  6. Development Tools for Windows CE Platform Builder Visual Studio 2005 eMbedded Visual C++ .NET Applications Native Applications C# / VB.NET C/C++ .NET Compact Framework 2.0 Win32 Windows CE 5.0 Operating System

  7. Platform Builder • Builds the OS from source code + binary libraries • Can Build C/C++ applications • ... that become part of the OS image • Reduced IDE Code editor support • Win32, MFC, ATL, ... • Kernel debugger • Remote Tools • Emulator (x86) • This is the tool for OEMs,not ISVs

  8. Source!

  9. eMbedded Visual C/C++ 4.0 • Similar to Microsoft Visual C++ V6.0 • Source code branch from VS6 • Special features specific to Windows CE • Built in compilers and linkers for supported processors • Debug tools, remote tools, and platform manager • Emulation environment to develop without device • Support for CE 5.0 w/ SP4 & SDK

  10. eVC++ Support Life Cycle • First released: 4/4/2002 • Mainstream support ends: 6/30/2007 • Public download ends: June 2007 • Extended support ends: 6/30/2009 • Online support ends: 6/30/2013 • Migrate rather sooner than later 

  11. Visual Studio 2005: State of the Art Testers Architects Enterprise Devs Consultants Professionals VB6 Devs Part-Timers Hobbyists Students Enthusiasts Novices

  12. Visual Studio for Devices • Device development w/ Standard Edition & above • Replaces Visual Studio .NET for "managed" development • CF 1.0 & 2.0 • Replaces eMbedded Visual C++ for native development • MFC 8.0, ATL 8.0, STL, CRT • New tools (designer, data, ...) • New device emulator (ARM based) • Deployment & Signing

  13. More Enhancements • Device Development in C/C++ • Migrate projects from eMbeddedVisual C++ 4.0 • Updated Device Compilers and Native Libraries • Orders of magnitude faster native debugger • Microsoft SQL Server 2005 Mobile Edition • Remote Tools for Devices • Code Snippets • Support for Device CAB (Setup) Projects

  14. .NET Compact Framework Visual Studio FX Rich class libraries to make your life easy! • GUI: Forms • GUI: Drawing (2D & 3D) • Collections • IO, Networking, Crypto • Native interop • Web services • Data & Xml • Globalization CLR Execution Engine provides typesafe runtime for managed code • Type system • Loader • JIT Compiler • Garbage collector • Debugger Windows CE Low level operating system-specific functionality • Threads • Memory • File I/O • Networking • Localization

  15. CF: OS & Tools Support

  16. Native Development – Some Facts • Debugging • Attach to Process, Just-in-time (JIT), Post-mortem (kdump) • Code Signing • Adding test certificates, Signing and provisioning • Emulator • ActiveSync, Folder sharing, Save State • Multi-platform development • Unsupported: • Interoperability debugging, driver development, Edit and Continue

  17. Mixing native & managed code • Possible to mix & match native & managed projects in one solution • Be sure to target the same platform... • Build order, dependencies, deployment dirs, etc., can be specified • No seamless debugging at this point • Can't attach native & managed debugger at the same time • Set reg key to enable attaching the managed debugger to a running process (CF 2.0 only!) REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\Managed Debugger] "AttachEnabled"=dword:00000001

  18. native! .NET!

  19. Developing an Application • What you need: • Visual Studio 2005 • Device & SDKorEmulator & SDK • Connectivity • USB, ethernet, DMA (emulator)

  20. Creating a Device SDK • Use Platform Builder SDK Wizard:

  21. Creating a Device SDK for VS2005 • Some things to note: • You must use the VS2005 Emulator BSP • Include the necessary stuff (.NET CF, toolhelp, app installer, ActiveSync, etc.) • If you want to support debugging without ActiveSync, include connection manager files in image (see later) • Uncheck "Enable CE Target Control Support (SYSGEN_SHELL=1)" and "Enable KITL (no IMGKITL=1)" • If you want to include a VS2005 emulator image, use the VS2005 Device Emulator BSP (http://tinyurl.com/gnhmd), and follow the instructions included in"Using the CE DeviceEmulator.rtf"

  22. Using a device SDK with VS2005 • Install SDK on development machine • New platform available for native development • Managed development is SDK-(quasi)independent • Configure your emulator image if necessary • Connect using ActiveSync, DMA (emulator), or ...

  23. Debug without ActiveSync • Without AS, VS2005 does not automatically copy connectivity binaries to device • Must do it yourself, or include them in the device image • You need Clientshutdown.exe, ConmanClient2.exe, CMaccept.exe, eDbgTL.dll, TcpConnectionA.dll from \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<CPU> • Manually launch ConmanClient2.exe on device • Set correct device IP address in VS2005 • Run CMaccept.exe on device • You have 3 minutes to connect now  • For more details see http://msdn2.microsoft.com/en-us/library/ms228708.aspx

  24. Does it have to be that hard?

  25. Introducing Windows CE "6" • Next-generation kernel • Backward compatibility • Enhanced robustness and security • User-mode driver model • Updated development tools • No regressions on performance and size • Plus many more new features

  26. Platform Builder 6 IDE tools: Visual Studio 2005 add-on Benefits Latest-and-greatest Editors and Intellisense One set of tools for desktop, Windows CE kernel, and Windows CE applications Automation support

  27. Platform Builder 6 Tools Integrated into Visual Studio 2005 Documentation integrated with Visual Studio 2005 Updated catalog functionality Device Emulator integrated into Platform Builder New editors New debugger transports supported Postmortem debugging Runtime Image Viewer

  28. Enough... What you have learned • What is Windows CE? • What does "development" mean? • Visual Studio 2005 for Devices • Developing native & .NET applications • Creating & using a custom device SDK • Future tools: Windows CE "6"

  29. Resources • Windows Embedded Home • http://www.microsoft.com/windows/embedded/ • Embedded development • http://msdn.microsoft.com/embedded • Windows CE development • http://msdn.microsoft.com/embedded/windowsce/default.aspx • Microsoft Windows CE eHow-tos and Tutorials • http://msdn.microsoft.com/embedded/getstart/basics/tutorialsce/default.aspx • Windows CE 6 Beta Virtual Labs • http://msdn.microsoft.com/virtuallabs/windowsce/

  30. Contact http://blogs.msdn.com/frankpr mailto:frankpr@microsoft.com

  31. Questions ?

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

More Related