windows CE

35
Herzlich willkommen! Herzlich willkommen! Visual Studio, Visual Studio, Windows Embedded & Co. Windows Embedded & Co. Alexander Wechsler Alexander Wechsler (mailto:[email protected]) (mailto:[email protected]) Frank Prengel Frank Prengel (http://blogs.msdn.com/frankpr) (http://blogs.msdn.com/frankpr)

description

informacion sobre windows CE

Transcript of windows CE

Page 1: windows CE

Herzlich willkommen!Herzlich willkommen!

Visual Studio, Visual Studio, Windows Embedded & Co.Windows Embedded & Co.

Alexander Wechsler Alexander Wechsler (mailto:[email protected])(mailto:[email protected])Frank Prengel Frank Prengel (http://blogs.msdn.com/frankpr)(http://blogs.msdn.com/frankpr)

Page 2: windows CE

Visual Studio 2005 & Co.Visual Studio 2005 & Co.App Development forApp Development forWindows CE DevicesWindows CE Devices

Frank PrengelFrank PrengelEmbedded Developer EvangelistEmbedded Developer EvangelistMicrosoft GermanyMicrosoft Germanyhttp://blogs.msdn.com/frankprhttp://blogs.msdn.com/frankpr

Page 3: windows CE

What is Windows CE?What is Windows CE?Microsoft’s Embedded Operating SystemMicrosoft’s Embedded Operating System

… … designed for “small” devicesdesigned for “small” devices

Virtual Memory, MultithreadedVirtual Memory, Multithreaded

Completely 32 bitCompletely 32 bit

Real-time performanceReal-time performance

Uses a subset of the Win32 APIUses a subset of the Win32 APIWin32 defined by Windows XPWin32 defined by Windows XP

Legacy APIs removedLegacy APIs removed

Less of a subset every versionLess of a subset every version

Over 2,000 functionsOver 2,000 functions

Page 4: windows CE

What is Windows CE?What is Windows CE?

Componentizable Componentizable OEMs define what parts of the OS to useOEMs define what parts of the OS to useOver 500 components availableOver 500 components available

Multiple CPU architectures supportedMultiple CPU architectures supportedSH4, MIPs, x86, ARMSH4, MIPs, x86, ARMOS is CPU agnosticOS is CPU agnosticNot dependent on x86 compatible PCsNot dependent on x86 compatible PCs

Not dependent on PC memory mapNot dependent on PC memory mapNot dependent on specific PC hardwareNot dependent on specific PC hardware

Page 5: windows CE

OEM HardwareOEM Hardware

Embedded ShellEmbedded Shell

ApplicationsApplicationsApplicationsApplications

WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI

WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI

Windows CE Shell ServicesWindows CE Shell Services

Remote ConnectivityRemote Connectivity

KernelLibraryKernelLibrary

IrDAIrDA

GWESGWES Device ManagerDevice

Manager

File System

Manager

File System

Manager TCP/IPTCP/IP

OALBootloader

OALBootloader DriversDrivers Device

driversDevice drivers File driversFile drivers

MicrosoftMicrosoftMicrosoftMicrosoft OEMOEMOEMOEM ISV, OEMISV, OEMISV, OEMISV, OEM

Windows CE ArchitectureWindows CE Architecture

Page 6: windows CE

Windows CE Shared Source ProgramWindows CE Shared Source Program

Shared Source PublicShared Source PublicAccess to over 2.5 M lines of source codeAccess to over 2.5 M lines of source code

Ability to create commercial derivatives Ability to create commercial derivatives

Available in all versions of Windows CE Available in all versions of Windows CE worldwideworldwide

Academic edition for courseware creationAcademic edition for courseware creation

Shared Source PremiumShared Source PremiumMore source availableMore source available

Ability to create commercial derivativesAbility to create commercial derivatives

Limited accessLimited access

Available only in eligible countries Available only in eligible countries

Page 7: windows CE

CORECORE PROPRO PRO PLUSPRO PLUS

AVI FilterAVI FilterActiveSync (Inbox Sync and Pocket Outlook Database ActiveSync (Inbox Sync and Pocket Outlook Database Sync) Sync) Microsoft Excel ViewerMicrosoft Excel Viewer

Bluetooth GatewayBluetooth Gateway AV Renderer SampleAV Renderer Sample Microsoft Image ViewerMicrosoft Image Viewer

Digital Rights Management (DRM)Digital Rights Management (DRM) AYGShell API SetAYGShell API Set Microsoft PDF ViewerMicrosoft PDF Viewer

DRM license acquisition OCX DRM license acquisition OCX Bluetooth LAP and Configuration UtilityBluetooth LAP and Configuration Utility Microsoft PowerPoint ViewerMicrosoft PowerPoint Viewer

Embedded Database (EDB)Embedded Database (EDB) File Server (10 connection limit)File Server (10 connection limit) Microsoft Word Viewer Microsoft Word Viewer

File Server (2 connection limit) File Server (2 connection limit) Help Help   * Includes all components plus viewers above * Includes all components plus viewers above

JscriptJscript Internet Explorer (full browser and Pocket IE) Internet Explorer (full browser and Pocket IE)   

VBScriptVBScript Inbox Inbox   

Windows Error Reporting Windows Error Reporting Pocket Outlook Object Model API Pocket Outlook Object Model API   

*All existing Core components *All existing Core components RAS/PPTP ServerRAS/PPTP Server   

Remote Desktop Protocol (RDP) Remote Desktop Protocol (RDP)   

   Standard SDK for Windows CE (AYG) Standard SDK for Windows CE (AYG)   

   Streaming Media PlaybackStreaming Media Playback   

  Transcriber Handwriting Recognition Engine and Transcriber Handwriting Recognition Engine and ApplicationApplication   

   Windows Messenger Windows Messenger   

   Windows Media Player (WMP) applicationWindows Media Player (WMP) application   

   Windows Thin Client ShellWindows Thin Client Shell   

   WMA,WMV, and MP3 Streaming (via WMP)WMA,WMV, and MP3 Streaming (via WMP)   

   WordPad WordPad   

Licencing Windows CE 5.0Licencing Windows CE 5.0

Page 8: windows CE

Platform Builder

Configuration

Build

Download

Device UnderDevelopment

Device Emulation

Debug

BSP(OAL, Boot Loader, Drivers)

Export SDK

Embedded Visual C++

Visual Studio 2005

Standard SDK

Developing a CE 5.0 DeviceDeveloping a CE 5.0 Device

Page 9: windows CE

Development Tools for CEDevelopment Tools for CE

Visual Studio 2005

C# / VB.NET

.NET CompactFramework 2.0

C/C++

Win32

Windows CE 5.0 Operating System

PlatformBuilder

Native Applications Managed Applications

eMbedded Visual C++

Page 10: windows CE

Platform BuilderPlatform Builder

Builds the OS from source code + binary librariesBuilds the OS from source code + binary libraries

Can Build C/C++ applicationsCan Build C/C++ applicationsReduced IDE Code editor supportReduced IDE Code editor support

Kernel debuggerKernel debugger

Remote ToolsRemote Tools

EmulatorEmulator

Page 11: windows CE

eMbedded Visual C/C++ 4.0eMbedded Visual C/C++ 4.0Similar to Microsoft Visual C++ V6.0Similar to Microsoft Visual C++ V6.0

Source code branch from VS6Source code branch from VS6

Special features specific to Windows CESpecial features specific to Windows CEBuilt in compilers and linkers for supported processorsBuilt in compilers and linkers for supported processors

Debug tools, remote tools, and platform managerDebug tools, remote tools, and platform manager

Emulation environment to develop without deviceEmulation environment to develop without device

Support for CE 5.0 w/ SP4 & SDKSupport for CE 5.0 w/ SP4 & SDK

Page 12: windows CE

eVC++ Support Life CycleeVC++ Support Life Cycle

First released: 4/4/2002First released: 4/4/2002

Mainstream support ends: 6/30/2007Mainstream support ends: 6/30/2007

Public download ends: June 2007Public download ends: June 2007

Extended support ends: 6/30/2009Extended support ends: 6/30/2009

Online support ends: 6/30/2013Online support ends: 6/30/2013

Page 13: windows CE

Visual Studio 2005Visual Studio 2005“Personalized productivity”

Novices

Enthusiasts

Students

Hobbyists

Part-Timers

Professionals

Consultants

Enterprise Devs

Architects

Testers

VB6 Devs

Page 14: windows CE

Visual Studio 2005Visual Studio 2005New FeaturesNew Features

Parity with desktop developmentParity with desktop developmentSupport for Multiple Platforms Support for Multiple Platforms

Windows Mobile 2003 SE; Windows Mobile 5.0 and Windows Mobile 2003 SE; Windows Mobile 5.0 and Windows CE 5.0Windows CE 5.0Platform SwitchingPlatform Switching

Support Compact Framework v1.0 and v2.0Support Compact Framework v1.0 and v2.0Upgrade from v1.0 to v2.0Upgrade from v1.0 to v2.0New Managed Device Controls in v2.0New Managed Device Controls in v2.0

Enhanced WYSIWYG Forms Designers Enhanced WYSIWYG Forms Designers Skins, Orientations, RotationsSkins, Orientations, Rotations

New Managed Libraries in Windows Mobile 5.0New Managed Libraries in Windows Mobile 5.0Microsoft Device Emulator Microsoft Device Emulator Device Emulator ManagerDevice Emulator Manager

Page 15: windows CE

More EnhancementsMore Enhancements

Device Development in C/C++Device Development in C/C++Migrate projects from eMbedded Migrate projects from eMbedded Visual C++ 4.0Visual C++ 4.0

Updated Device Compilers and Native Libraries Updated Device Compilers and Native Libraries

Orders of magnitude faster native debuggerOrders of magnitude faster native debugger

Microsoft SQL Server 2005 Mobile EditionMicrosoft SQL Server 2005 Mobile Edition

Remote Tools for DevicesRemote Tools for Devices

Code Snippets Code Snippets

Support for Device CAB (Setup) ProjectsSupport for Device CAB (Setup) Projects

Page 16: windows CE

WinCE vs Windows MobileWinCE vs Windows Mobile

WinCE 3.0 WinCE 3.0 PPC 2000, PPC 2002, SP PPC 2000, PPC 2002, SP 20022002

WinCE 4.2 WinCE 4.2 WM 2003, WM 2003 SE WM 2003, WM 2003 SE

WinCE 5.0 WinCE 5.0 WM 5.0 WM 5.0

Page 17: windows CE

Runtime support CE - CFRuntime support CE - CFCF 2.0CF 2.0 CF 1.0CF 1.0

WinCE 5.0WinCE 5.0 + (RTM)+ (RTM) ++

WinCE 4.1, 4.2WinCE 4.1, 4.2 o (SP1)o (SP1) ++

PPC 2000, 2002PPC 2000, 2002 -- + (RAM)+ (RAM)

SP 2002SP 2002 -- --

PPC 2003, SEPPC 2003, SE + (RAM)+ (RAM) + (ROM)+ (ROM)

SP 2003, SESP 2003, SE -- + (ROM)+ (ROM)

WM 5.0WM 5.0 + (RAM)+ (RAM) + (ROM)+ (ROM)

Page 18: windows CE

Tool support CE - CFTool support CE - CF

CF 2.0CF 2.0 CF 1.0CF 1.0

WinCE 5.0WinCE 5.0 VS2005VS2005 --WinCE 4.1, 4.2WinCE 4.1, 4.2 -- VS2003VS2003PPC 2000, 2002PPC 2000, 2002 -- VS2003VS2003SP 2002SP 2002 -- --WM 2003, SEWM 2003, SE VS2005VS2005 VS2005, VS2005,

2003+SDK2003+SDKWM 5.0WM 5.0 VS2005+SDKVS2005+SDK VS2005+SDKVS2005+SDK

Page 19: windows CE

.NET Compact Framework.NET Compact Framework

VisualVisualStudioStudio

Windows CEWindows CE

Low level operating system-specific Low level operating system-specific functionalityfunctionality

ThreadsThreads MemoryMemory File I/OFile I/O

NetworkingNetworking LocalizationLocalization

CLRCLR

Type systemType system LoaderLoader JIT CompilerJIT Compiler

Execution Engine provides typesafe Execution Engine provides typesafe runtime for managed coderuntime for managed code

Garbage collectorGarbage collector DebuggerDebugger

FXFX

Rich class libraries to make your life Rich class libraries to make your life easy!easy!

GUI: Forms GUI: Forms GUI: Drawing (2D & 3D)GUI: Drawing (2D & 3D) CollectionsCollections IO, Networking, CryptoIO, Networking, Crypto

Native interopNative interop Web servicesWeb services Data & XmlData & Xml GlobalizationGlobalization

Page 20: windows CE

CF – Perf. comparisonCF – Perf. comparison

Pocket PC 2003, XScale 400MHzPocket PC 2003, XScale 400MHz V1V1 V1 SP2V1 SP2V2V2

Beta1Beta1

V2V2

Beta2+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

Page 21: windows CE

DebuggingDebuggingAttach to ProcessAttach to Process

Just-in-time (JIT)Just-in-time (JIT)

Post-mortem (kdump)Post-mortem (kdump)

Code SigningCode SigningAdding test certificatesAdding test certificates

Signing and provisioningSigning and provisioning

Resource EditorResource EditorActiveX control developmentActiveX control development

Softkey menusSoftkey menus

Native Development - FactsNative Development - Facts

Page 22: windows CE

Feature setFeature setBreakpoints, stepping, break allBreakpoints, stepping, break allAutos, locals, registersAutos, locals, registersMemory window, disassembly (native only)Memory window, disassembly (native only)Threads, call stack, modulesThreads, call stack, modulesAttach, detach, JIT (native only)Attach, detach, JIT (native only)

UnsupportedUnsupportedInteroperability debuggingInteroperability debuggingDriver developmentDriver developmentData breakpointsData breakpointsEdit and continueEdit and continue

DebuggerDebugger

Page 23: windows CE

EmulatorEmulatorActiveSyncActiveSync

Folder sharingFolder sharing

Save StateSave State

Multi-platform developmentMulti-platform development

High Resolution and Orientation High Resolution and Orientation awarenessawareness

Command line buildingCommand line building

Property SheetsProperty Sheets

Native Development - FactsNative Development - Facts

Page 24: windows CE

Feature ComparisonFeature Comparison

Instruction set is a Instruction set is a subset of the host PC’s subset of the host PC’s instruction setinstruction setEmulates a CEPC board: Emulates a CEPC board: ISA, PCI busses, basic ISA, PCI busses, basic video, keyboard, mouse, video, keyboard, mouse, audio, network adapter, audio, network adapter, etc.etc.Extends the CEPC, Extends the CEPC, adding Folder Sharing, adding Folder Sharing, “DMA” interface, and “DMA” interface, and resizable displayresizable display

ARM920TDMI instructions ARM920TDMI instructions

Samsung SMDK2410 board: Samsung SMDK2410 board: PCMCIA, NAND Flash, LCD, PCMCIA, NAND Flash, LCD, touchscreen, NE2000 and touchscreen, NE2000 and CS8900 netcards, keyboard, CS8900 netcards, keyboard, 3 UARTs, audio3 UARTs, audio

Extends the SMDK2410, Extends the SMDK2410, adding resizable display, adding resizable display, “DMA” interface, resizable “DMA” interface, resizable RAM (up to 256meg)RAM (up to 256meg)

Faster, more robust Folder Faster, more robust Folder SharingSharing

Runs on 64-bit WindowsRuns on 64-bit Windows

Device EmulatorDevice Emulatorx86 Emulatorx86 Emulator

Page 25: windows CE

Mixed ProjectsMixed Projects

Possible to mix & match native & Possible to mix & match native & managed projects in one solutionmanaged projects in one solution

Be sure to target the same platform...Be sure to target the same platform...

Build order, dependencies, deployment Build order, dependencies, deployment dirs, etc., can be specifieddirs, etc., can be specified

No seamless debugging at this pointNo seamless debugging at this pointCan't attach native & managed debugger Can't attach native & managed debugger at the same timeat the same time

Set reg key to enable attaching the Set reg key to enable attaching the managed debugger to a running processmanaged debugger to a running process

Page 26: windows CE

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\Managed Debugger]

"AttachEnabled"=dword:00000001

Page 27: windows CE

Small, high-performance databaseSmall, high-performance database

Provides replication, sync, Provides replication, sync, transactions, encryptiontransactions, encryption

SqlCeResultSetSqlCeResultSet: scrollable updateable : scrollable updateable cursorcursor

SQL 2005 management SQL 2005 management toolstools

VS2005 integrationVS2005 integration

Supported by CF 2.0 &Supported by CF 2.0 &Windows CE 5.0 Windows CE 5.0

SQL Server 2005 Mobile EditionSQL Server 2005 Mobile Edition

Page 28: windows CE

What's next?What's next?

CF 2.0 support for WinCE 4.2CF 2.0 support for WinCE 4.2no tools support, though...no tools support, though...

WinCE 5.0 device emulator image & WinCE 5.0 device emulator image & BSP for PB 5.0BSP for PB 5.0

Device emulator v2+Device emulator v2+

Better integration b/w PB & VSBetter integration b/w PB & VS

Page 29: windows CE

Emulator v2+Emulator v2+

Break apart the monolith DeviceEmulator.exe into a Break apart the monolith DeviceEmulator.exe into a collection of DLLscollection of DLLs

Pluggable CPU emulatorsPluggable CPU emulatorsPluggable motherboard emulatorsPluggable motherboard emulatorsPluggable peripheral devicesPluggable peripheral devices

Layer the peripheral device emulation codeLayer the peripheral device emulation codeOne virtual device can have multiple Windows-side One virtual device can have multiple Windows-side implementations i.e., emulated 16550 UART could plug implementations i.e., emulated 16550 UART could plug into code that binds to a Windows COMx: port, or to a into code that binds to a Windows COMx: port, or to a Windows file, or to a console windowWindows file, or to a console windowVirtual USB and PCMCIA devices plug into virtual Virtual USB and PCMCIA devices plug into virtual controllerscontrollers

Testability – COM interfaces to give test automation Testability – COM interfaces to give test automation access the emulator’s peripheralsaccess the emulator’s peripherals

Page 30: windows CE

20052005 2005/20062005/2006

Windows Embedded RoadmapWindows Embedded Roadmap

2006+2006+

Feature PackFeature Pack v. Nextv. Next

Feature Pack 1Feature Pack 1SP2SP2

Page 31: windows CE

Windows CE Shared Source ProgramWindows CE Shared Source Program

Shared Source PublicShared Source PublicAccess to over 2.5 M lines of source codeAccess to over 2.5 M lines of source code

Ability to create commercial derivatives Ability to create commercial derivatives

Available in all versions of Windows CE Available in all versions of Windows CE worldwideworldwide

Academic edition for courseware creationAcademic edition for courseware creation

Shared Source PremiumShared Source PremiumMore source availableMore source available

Ability to create commercial derivativesAbility to create commercial derivatives

Limited accessLimited access

Available only in eligible countries Available only in eligible countries

Page 32: windows CE

CORECORE PROPRO PRO PLUSPRO PLUS

AVI FilterAVI FilterActiveSync (Inbox Sync and Pocket Outlook Database ActiveSync (Inbox Sync and Pocket Outlook Database Sync) Sync) Microsoft Excel ViewerMicrosoft Excel Viewer

Bluetooth GatewayBluetooth Gateway AV Renderer SampleAV Renderer Sample Microsoft Image ViewerMicrosoft Image Viewer

Digital Rights Management (DRM)Digital Rights Management (DRM) AYGShell API SetAYGShell API Set Microsoft PDF ViewerMicrosoft PDF Viewer

DRM license acquisition OCX DRM license acquisition OCX Bluetooth LAP and Configuration UtilityBluetooth LAP and Configuration Utility Microsoft PowerPoint ViewerMicrosoft PowerPoint Viewer

Embedded Database (EDB)Embedded Database (EDB) File Server (10 connection limit)File Server (10 connection limit) Microsoft Word Viewer Microsoft Word Viewer

File Server (2 connection limit) File Server (2 connection limit) Help Help   * Includes all components plus viewers above * Includes all components plus viewers above

JscriptJscript Internet Explorer (full browser and Pocket IE) Internet Explorer (full browser and Pocket IE)   

VBScriptVBScript Inbox Inbox   

Windows Error Reporting Windows Error Reporting Pocket Outlook Object Model API Pocket Outlook Object Model API   

*All existing Core components *All existing Core components RAS/PPTP ServerRAS/PPTP Server   

Remote Desktop Protocol (RDP) Remote Desktop Protocol (RDP)   

   Standard SDK for Windows CE (AYG) Standard SDK for Windows CE (AYG)   

   Streaming Media PlaybackStreaming Media Playback   

  Transcriber Handwriting Recognition Engine and Transcriber Handwriting Recognition Engine and ApplicationApplication   

   Windows Messenger Windows Messenger   

   Windows Media Player (WMP) applicationWindows Media Player (WMP) application   

   Windows Thin Client ShellWindows Thin Client Shell   

   WMA,WMV, and MP3 Streaming (via WMP)WMA,WMV, and MP3 Streaming (via WMP)   

   WordPad WordPad   

Licencing Windows CE 5.0Licencing Windows CE 5.0

Page 33: windows CE

ResourcesResources

Windows CE documentationWindows CE documentationhttp://msdn.microsoft.com/library/en-us/wceintro5/html/http://msdn.microsoft.com/library/en-us/wceintro5/html/wce50oriWelcomeToWindowsCE.aspwce50oriWelcomeToWindowsCE.asp

Windows Embedded Partner Web SiteWindows Embedded Partner Web Sitehttp://www.mswep.comhttp://www.mswep.com

Get the Windows Embedded Introductory KitGet the Windows Embedded Introductory Kit http://www.windowsembeddedkit.comhttp://www.windowsembeddedkit.com

Embedded developmentEmbedded developmenthttp://msdn.microsoft.com/embeddedhttp://msdn.microsoft.com/embedded

Windows CE developmentWindows CE developmenthttp://msdn.microsoft.com/embedded/windowsce/default.aspxhttp://msdn.microsoft.com/embedded/windowsce/default.aspx

Page 34: windows CE

More InformationMore Information

http://msdn.microsoft.com/vstudiohttp://msdn.microsoft.com/vstudio

Page 35: windows CE

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