Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio, Windows Embedded & Co.

Similar presentations


Presentation on theme: "Visual Studio, Windows Embedded & Co."— Presentation transcript:

1 Visual Studio, Windows Embedded & Co.
Herzlich willkommen! Visual Studio, Windows Embedded & Co. Alexander Wechsler Frank Prengel (

2 Visual Studio 2005 & Co. App Development for Windows CE Devices
Mobile & Embedded DevCon 2005 4/19/ :21 AM Visual Studio 2005 & Co. App Development for Windows CE Devices Frank Prengel Embedded Developer Evangelist Microsoft Germany © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3 What is Windows CE? Microsoft’s Embedded Operating System
… designed for “small” devices Virtual Memory, Multithreaded Completely 32 bit Real-time performance Uses a subset of the Win32 API Win32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2,000 functions

4 What is Windows CE? Componentizable
OEMs define what parts of the OS to use Over 500 components available Multiple CPU architectures supported SH4, MIPs, x86, ARM OS is CPU agnostic Not dependent on x86 compatible PCs Not dependent on PC memory map Not dependent on specific PC hardware

5 Windows CE Architecture
Mobile & Embedded DevCon 2005 4/19/ :21 AM Windows CE Architecture Microsoft OEM ISV, OEM Applications Embedded Shell WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Windows CE Shell Services Remote Connectivity Standard architecture slide deck. Kernel Library IrDA GWES Device Manager File System Manager TCP/IP OAL Bootloader Drivers Device drivers File drivers OEM Hardware © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6 Windows CE Shared Source Program
Shared Source Public Access to over 2.5 M lines of source code Ability to create commercial derivatives Available in all versions of Windows CE worldwide Academic edition for courseware creation Shared Source Premium More source available Limited access Available only in eligible countries

7 Licencing Windows CE 5.0 CORE PRO PRO PLUS AVI Filter
ActiveSync (Inbox Sync and Pocket Outlook Database Sync) Microsoft Excel Viewer Bluetooth Gateway AV Renderer Sample Microsoft Image Viewer Digital Rights Management (DRM) AYGShell API Set Microsoft PDF Viewer DRM license acquisition OCX Bluetooth LAP and Configuration Utility Microsoft PowerPoint Viewer Embedded Database (EDB) File Server (10 connection limit) Microsoft Word Viewer File Server (2 connection limit) Help  * Includes all components plus viewers above Jscript Internet Explorer (full browser and Pocket IE) VBScript Inbox Windows Error Reporting Pocket Outlook Object Model API *All existing Core components RAS/PPTP Server Remote Desktop Protocol (RDP) Standard SDK for Windows CE (AYG) Streaming Media Playback Transcriber Handwriting Recognition Engine and Application Windows Messenger Windows Media Player (WMP) application Windows Thin Client Shell WMA,WMV, and MP3 Streaming (via WMP) WordPad

8 Device Under Development
Developing a CE 5.0 Device BSP (OAL, Boot Loader, Drivers) Embedded Visual C++ Standard SDK Platform Builder Visual Studio 2005 Export SDK Configuration Build Device Under Development Download Debug Device Emulation

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

10 Mobile & Embedded DevCon 2005
4/19/ :21 AM Platform Builder Builds the OS from source code + binary libraries Can Build C/C++ applications Reduced IDE Code editor support Kernel debugger Remote Tools Emulator © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

11 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

12 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

13 Visual Studio 2005 “Personalized productivity”
Mobile & Embedded DevCon 2005 4/19/ :21 AM Visual Studio 2005 “Personalized productivity” Testers Architects Enterprise Devs Consultants Professionals VB6 Devs Part-Timers Hobbyists Students Enthusiasts Novices © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

14 Visual Studio 2005 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 Deployment & Signing

15 Visual Studio 2005 New Features
Mobile & Embedded DevCon 2005 4/19/ :21 AM Visual Studio 2005 New Features Parity with desktop development Support for Multiple Platforms Windows Mobile 2003 SE; Windows Mobile 5.0 and Windows CE 5.0 Platform Switching Support Compact Framework v1.0 and v2.0 Upgrade from v1.0 to v2.0 New Managed Device Controls in v2.0 Enhanced WYSIWYG Forms Designers Skins, Orientations, Rotations New Managed Libraries in Windows Mobile 5.0 Microsoft Device Emulator Device Emulator Manager © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

16 Mobile & Embedded DevCon 2005
4/19/ :21 AM More Enhancements Device Development in C/C++ Migrate projects from eMbedded Visual 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

17 WinCE vs Windows Mobile
WinCE 3.0  PPC 2000, PPC 2002, SP 2002 WinCE 4.2  WM 2003, WM 2003 SE WinCE 5.0  WM 5.0

18 Runtime support CE - CF CF 2.0 CF 1.0 WinCE 5.0 + (RTM) +
o (SP1) PPC 2000, 2002 - + (RAM) SP 2002 PPC 2003, SE + (ROM) SP 2003, SE WM 5.0

19 Tool support CE - CF CF 2.0 CF 1.0 WinCE 5.0 VS2005 - WinCE 4.1, 4.2
PPC 2000, 2002 SP 2002 WM 2003, SE VS2005, 2003+SDK WM 5.0 VS2005+SDK

20 Mobile & Embedded DevCon 2005
4/19/ :21 AM .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 Type system Loader JIT Compiler Execution Engine provides typesafe runtime for managed code Garbage collector Debugger Windows CE Low level operating system-specific functionality Threads Memory File I/O Networking Localization © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 CF – Perf. comparison V1 V1 SP2 V2 Beta1 Beta2+
Pocket PC 2003, XScale 400MHz V1 V1 SP2 V2 Beta1 Beta2+ Method Calls (Calls/sec) 3.7M 7.1M 8.1M Virtual Calls (Calls/sec) 2.4M 2.7M 5.6M Simple P/Invoke (Calls/sec) 733K 1.7M Primes (to 1500) (iterations/sec) 562 832 853 GC Small (8 bytes) (Bytes/sec) 1M 7M 7.5M GC Array (100 int’s) (Bytes/sec) 25M 43M 112M XML Text Reader 200KB (seconds) 1.7 1.2 0.72 0.69 DataSet (static data) 4 tables, 1000 records (seconds) 13.1 6.6 7.3 3.3 DataSet (ReadXml) 3 tables, 100 records (seconds) 12.3 6.5 5.2 4.4 Larger = Better Smaller = Better

22 Native Development - Facts
Mobile & Embedded DevCon 2005 4/19/ :21 AM Native Development - Facts Debugging Attach to Process Just-in-time (JIT) Post-mortem (kdump) Code Signing Adding test certificates Signing and provisioning Resource Editor ActiveX control development Softkey menus © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

23 Mobile & Embedded DevCon 2005
4/19/ :21 AM Debugger Feature set Breakpoints, stepping, break all Autos, locals, registers Memory window, disassembly (native only) Threads, call stack, modules Attach, detach, JIT (native only) Unsupported Interoperability debugging Driver development Data breakpoints Edit and continue Let us begin with an overview of the device debugger. The core debugger functionality will be present, and on par with existing device tools. For the most part, this will be very similar to the desktop debugger experience. Native code disassembly will be available for all supported CPUs. Attach will be supported for both Native and Managed, through the attach to process dialog. // In eVC, the process EXE was required for attach. // For Whidbey, only the executable images for the code of interest are needed, to provide rich debugging. // When the executable and dlls are unavailable, the debugging experience degrades similar to the desktop. Process detach is new to both Native and Managed in Whidbey. Just In Time Debugging is also available for Native code only. JIT debug is an installable feature per device, via an option in the IDE JIT works much like attach to process when an exception occurs on the device. Now let us discuss the unsupported functionality. Interop debugging allows logical transition between native and managed code in the same application and debug session. Providing this type of debugging is difficult, due to the complex interactions between the native debugger and the managed runtime. Due to scheduling constraints and the magnitude of the problem, we will not ship an interop device debugger in whidbey. Driver Development will require Platform Builder Special consideration must be given to driver development, due to the implementation on CE. Suspending the driver process on CE also stops services critical to connectivity. Data Breakpoints, due lack of hardware support on CE targets, will be unavailable. Most x86 CPUs have special debugger support to trap memory accesses. However, most CE supported embedded CPUs do not provide this support. The biggest difference you’ll see however is the stability and performance improvements. Order of magnitude performance in stepping. Already the fastest debugger to enter break-mode. [Less than 1 second between debug-launch to step into Main across the USB wire.] The perf goal is to average less than 0.5 per step. [Already achieved!] eVC averages about 3 ~ 5 seconds per step. eVC could take more than 13 seconds to step-in in some, common scenarios. Order of magnitude performance in expression evaluations. Drag-and-Drop and Expansion of any expressions in and onto any debugger windows are nearly instantaneous. The number of debugger windows open would not degrade stepping performance. [eVC + Native Desktop Debugger have this problem] The way we’ve achieved this is by re-architechting the native device debugger, including: 1>     Maximize desktop CPU processing power whenever possible and applicable. (e.g., call-stack enumeration is performed on the desktop-side) 2>     Minimize device CPU compute-bound tasks whenever possible and applicable. 3>     Redesigned the desktop-device debugger protocol to reduce unnecessary chatting ness. 5>     Implementing a sophisticated remote layer in our debug engine to cache thread-contexts and memory on-demand. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

24 Native Development - Facts
Mobile & Embedded DevCon 2005 4/19/ :21 AM Native Development - Facts Emulator ActiveSync Folder sharing Save State Multi-platform development High Resolution and Orientation awareness Command line building Property Sheets © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

25 Mobile & Embedded DevCon 2005
4/19/ :21 AM Feature Comparison x86 Emulator Device Emulator ARM920TDMI instructions Samsung SMDK2410 board: PCMCIA, NAND Flash, LCD, touchscreen, NE2000 and CS8900 netcards, keyboard, 3 UARTs, audio Extends the SMDK2410, adding resizable display, “DMA” interface, resizable RAM (up to 256meg) Faster, more robust Folder Sharing Runs on 64-bit Windows Instruction set is a subset of the host PC’s instruction set Emulates a CEPC board: ISA, PCI busses, basic video, keyboard, mouse, audio, network adapter, etc. Extends the CEPC, adding Folder Sharing, “DMA” interface, and resizable display © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

26 Mixed Projects 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

27 REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ .NETCompactFramework\Managed Debugger] "AttachEnabled"=dword:

28 SQL Server 2005 Mobile Edition
Small, high-performance database Provides replication, sync, transactions, encryption SqlCeResultSet: scrollable updateable cursor SQL 2005 management tools VS2005 integration Supported by CF 2.0 & Windows CE 5.0

29 What's next? CF 2.0 support for WinCE 4.2
no tools support, though... WinCE 5.0 device emulator image & BSP for PB 5.0 Device emulator v2+ Better integration b/w PB & VS

30 Mobile & Embedded DevCon 2005
4/19/ :21 AM Emulator v2+ Break apart the monolith DeviceEmulator.exe into a collection of DLLs Pluggable CPU emulators Pluggable motherboard emulators Pluggable peripheral devices Layer the peripheral device emulation code One virtual device can have multiple Windows-side implementations i.e., emulated UART could plug into code that binds to a Windows COMx: port, or to a Windows file, or to a console window Virtual USB and PCMCIA devices plug into virtual controllers Testability – COM interfaces to give test automation access the emulator’s peripherals © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

31 Windows Embedded Roadmap
Mobile & Embedded DevCon 2005 4/19/ :21 AM Windows Embedded Roadmap 2005 2005/2006 2006+ SP2 Feature Pack 1 Feature Pack v. Next © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

32 Windows CE Shared Source Program
Shared Source Public Access to over 2.5 M lines of source code Ability to create commercial derivatives Available in all versions of Windows CE worldwide Academic edition for courseware creation Shared Source Premium More source available Limited access Available only in eligible countries

33 Licencing Windows CE 5.0 CORE PRO PRO PLUS AVI Filter
ActiveSync (Inbox Sync and Pocket Outlook Database Sync) Microsoft Excel Viewer Bluetooth Gateway AV Renderer Sample Microsoft Image Viewer Digital Rights Management (DRM) AYGShell API Set Microsoft PDF Viewer DRM license acquisition OCX Bluetooth LAP and Configuration Utility Microsoft PowerPoint Viewer Embedded Database (EDB) File Server (10 connection limit) Microsoft Word Viewer File Server (2 connection limit) Help  * Includes all components plus viewers above Jscript Internet Explorer (full browser and Pocket IE) VBScript Inbox Windows Error Reporting Pocket Outlook Object Model API *All existing Core components RAS/PPTP Server Remote Desktop Protocol (RDP) Standard SDK for Windows CE (AYG) Streaming Media Playback Transcriber Handwriting Recognition Engine and Application Windows Messenger Windows Media Player (WMP) application Windows Thin Client Shell WMA,WMV, and MP3 Streaming (via WMP) WordPad

34 Mobile & Embedded DevCon 2005
4/19/ :21 AM Resources Windows CE documentation wce50oriWelcomeToWindowsCE.asp Windows Embedded Partner Web Site Get the Windows Embedded Introductory Kit Embedded development Windows CE development © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

35 More Information

36 Mobile & Embedded DevCon 2005
4/19/ :21 AM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "Visual Studio, Windows Embedded & Co."

Similar presentations


Ads by Google