Herzlich willkommen Visual Studio Windows Embedded Co Alexander

Herzlich willkommen! Visual Studio, Windows Embedded & Co. Alexander Wechsler (mailto: info@wechsler-consulting. de) Frank Prengel (http: //blogs. msdn. com/frankpr)

Visual Studio 2005 & Co. App Development for Windows CE Devices Frank Prengel Embedded Developer Evangelist Microsoft Germany http: //blogs. msdn. com/frankpr

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 Win 32 API Win 32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2, 000 functions

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

Windows CE Architecture OEM Microsoft ISV, OEM Applications Embedded Shell Remote Connectivity Windows CE Shell Services WIN 32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Kernel Library OAL Bootloader GWES Drivers Device Manager File System Manager Device drivers File drivers OEM Hardware Ir. DA TCP/IP

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 Ability to create commercial derivatives Limited access Available only in eligible countries

Licencing Windows CE 5. 0 CORE PRO PLUS AVI Filter Active. Sync (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 Power. Point 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 MP 3 Streaming (via WMP) Word. Pad

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

Development Tools for CE Platform Builder e. Mbedded Visual C++ Native Applications Visual Studio 2005 Managed Applications C/C++ C# / VB. NET Win 32 . NET Compact Framework 2. 0 Windows CE 5. 0 Operating System

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

e. Mbedded Visual C/C++ 4. 0 Similar to Microsoft Visual C++ V 6. 0 Source code branch from VS 6 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/ SP 4 & SDK

e. VC++ 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

Visual Studio 2005 “Personalized productivity” Testers Architects Enterprise Devs Consultants Professionals VB 6 Devs Part-Timers Hobbyists Students Enthusiasts Novices

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 v 1. 0 and v 2. 0 Upgrade from v 1. 0 to v 2. 0 New Managed Device Controls in v 2. 0 Enhanced WYSIWYG Forms Designers Skins, Orientations, Rotations New Managed Libraries in Windows Mobile 5. 0 Microsoft Device Emulator Manager

More Enhancements Device Development in C/C++ Migrate projects from e. Mbedded 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

Win. CE vs Windows Mobile Win. CE 3. 0 PPC 2000, PPC 2002, SP 2002 Win. CE 4. 2 WM 2003, WM 2003 SE Win. CE 5. 0 WM 5. 0

Runtime support CE - CF CF 2. 0 CF 1. 0 Win. CE 5. 0 + (RTM) + Win. CE 4. 1, 4. 2 o (SP 1) + PPC 2000, 2002 - + (RAM) SP 2002 - - PPC 2003, SE + (RAM) + (ROM) SP 2003, SE - + (ROM) WM 5. 0 + (RAM) + (ROM)

Tool support CE - CF Win. CE 5. 0 Win. CE 4. 1, 4. 2 PPC 2000, 2002 SP 2002 WM 2003, SE WM 5. 0 CF 2. 0 VS 2005 CF 1. 0 VS 2003 VS 2005, 2003+SDK VS 2005+SDK

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

CF – Perf. comparison Pocket PC 2003, XScale 400 MHz Larger = Better Smaller = Better V 1 SP 2 V 2 Beta 1 V 2 Beta 2+ Method Calls (Calls/sec) 3. 7 M 7. 1 M 8. 1 M Virtual Calls (Calls/sec) 2. 4 M 2. 7 M 5. 6 M Simple P/Invoke (Calls/sec) 733 K 1. 7 M Primes (to 1500) (iterations/sec) 562 832 853 GC Small (8 bytes) (Bytes/sec) 1 M 7 M 7. 5 M GC Array (100 int’s) (Bytes/sec) 25 M 43 M 112 M XML Text Reader 200 KB 1. 7 1. 2 0. 72 0. 69 Data. Set (static data) 13. 1 6. 6 7. 3 3. 3 Data. Set (Read. Xml) 12. 3 6. 5 5. 2 4. 4 (seconds) 4 tables, 1000 records (seconds) 3 tables, 100 records (seconds)

Native Development - Facts Debugging Attach to Process Just-in-time (JIT) Post-mortem (kdump) Code Signing Adding test certificates Signing and provisioning Resource Editor Active. X control development Softkey menus

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

Native Development - Facts Emulator Active. Sync Folder sharing Save State Multi-platform development High Resolution and Orientation awareness Command line building Property Sheets

Feature Comparison x 86 Emulator 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 Device Emulator ARM 920 TDMI instructions Samsung SMDK 2410 board: PCMCIA, NAND Flash, LCD, touchscreen, NE 2000 and CS 8900 netcards, keyboard, 3 UARTs, audio Extends the SMDK 2410, adding resizable display, “DMA” interface, resizable RAM (up to 256 meg) Faster, more robust Folder Sharing Runs on 64 -bit Windows

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
![REGEDIT 4 [HKEY_LOCAL_MACHINESOFTWAREMicrosoft. NETCompact. FrameworkManaged Debugger] "Attach. Enabled"=dword: 00000001 REGEDIT 4 [HKEY_LOCAL_MACHINESOFTWAREMicrosoft. NETCompact. FrameworkManaged Debugger] "Attach. Enabled"=dword: 00000001](http://slidetodoc.com/presentation_image_h2/a54f6dd5c6a35058d8b2cf862ea2058c/image-26.jpg)
REGEDIT 4 [HKEY_LOCAL_MACHINESOFTWAREMicrosoft. NETCompact. FrameworkManaged Debugger] "Attach. Enabled"=dword: 00000001

SQL Server 2005 Mobile Edition Small, high-performance database Provides replication, sync, transactions, encryption Sql. Ce. Result. Set: scrollable updateable cursor SQL 2005 management tools VS 2005 integration Supported by CF 2. 0 & Windows CE 5. 0

What's next? CF 2. 0 support for Win. CE 4. 2 no tools support, though. . . Win. CE 5. 0 device emulator image & BSP for PB 5. 0 Device emulator v 2+ Better integration b/w PB & VS

Emulator v 2+ Break apart the monolith Device. Emulator. 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 16550 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

Windows Embedded Roadmap 2005/2006 2005 SP 2 2006+ Feature Pack 1 Feature Pack v. Next

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 Ability to create commercial derivatives Limited access Available only in eligible countries

Licencing Windows CE 5. 0 CORE PRO PLUS AVI Filter Active. Sync (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 Power. Point 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 MP 3 Streaming (via WMP) Word. Pad

Resources Windows CE documentation http: //msdn. microsoft. com/library/en-us/wceintro 5/html/ wce 50 ori. Welcome. To. Windows. CE. asp Windows Embedded Partner Web Site http: //www. mswep. com Get the Windows Embedded Introductory Kit http: //www. windowsembeddedkit. com Embedded development http: //msdn. microsoft. com/embedded Windows CE development http: //msdn. microsoft. com/embedded/windowsce/default. aspx

More Information http: //msdn. microsoft. com/vstudio

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