Visual Studio, Windows Embedded & Co.

Slides:



Advertisements
Similar presentations
Native Device Development in Visual Studio Whidbey Nishan Jebanasam Program Manager Microsoft Corporation Rich Hanbidge Developer Microsoft Corporation.
Advertisements

Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporation
Building Embedded Systems With Windows® CE Platform Builder 3
Developing Windows ® CE Applications With Visual Basic ® Larry Roof tonked
Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
MHK200 Module 1: Introduction to Windows CE. MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
1 of 6 WINDOWS COMPARISION WINDOWSYEARSFEATURES WINDOWS The first version of windows provided a new software environment for developing and running.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Introduction to Microsoft Mobile Devices 22 April, 2003
Top 10 Pocket PC Support Questions Marcus Perryman
64bit Development Overview March 28 Microsoft. Objectives Learn about the current 64-bit platforms from a hardware, software and tools perspective Review.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Native Device Development in Visual Studio 2005 Nishan Jebanasam Program Manager Visual C++ for Devices Microsoft Corporation Nishan Jebanasam Program.
Final Presentation Spring 2003 Project ID: D0822 Project Name: WinCE integrating BT media share application Supervisor: Evgeny Rivkin Performed by: Maya.
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
Gergely Rózsa Zsolt Szanya Elbacom
Windows Embedded Overview Windows CE, XP Embedded, and WEPOS Frank Prengel Embedded Developer Evangelist Microsoft Germany.
Application Development for Windows CE Devices
Virtual techdays INDIA │ august 2010 Building ASP.NET applications using SQL Server Compact Chaitanya Solapurkar │ Partner Technical Consultant,
Rob Hwacinski Sr. Program Manager Lead Microsoft Corporation WEM206 Ashwin Kulkarni Sr. Product Manager Microsoft Corporation.
SP2 Mikael Nystrom. Agenda Översikt Installation.
Making Windows CE.net Work With Custom Platforms James Y. Wilson.
Symbian os with smart phones Guided by: Hetal A Josiyara
Wally Mead Senior Program Manager Microsoft Corporation.
Introduction to Windows CE for Wireless Development Terence Goggin President, Information Appliance Associates Chris De Herrera Webmaster,
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.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
Android Introduction Platform Overview.
September 2008 IT Software Development Guide.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
1 Developing Apps For The Pocket PC Platform Anup Mistry Technology Manager D-2 (22 nd May ’03)
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
Windows XP Professional Features ©Richard L. Goldman February 5, 2003.
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Enabling Enterprise Applications Marcus Perryman Microsoft
Windows CE Development
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
MBL490 Deploying Applications to Smartphone and Microsoft® Powered Pocket PC Marcus Perryman Consultant.
The 100% Inspiration Tour. An Introduction to Building Connected Mobile Applications Gavin King Academic Team, Microsoft UK
CLI210 Introduction To Managed Development For Devices With Visual Studio 2005 Scott D. Smith Program Manager Visual Studio for Devices Microsoft Corporation.
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
Microsoft’s Rich Web Technology XAML,WPF and WPF/E July, 2006 John Allwright.
Windows CE Overview Features & Architecture 김동혁.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
Develop VB in WinCE Maker : Axel Chou. Introduction to WinCE 3.0 One of the Microsoft Embedded System –WinCE 3.0 –Embedded NT 4.0 Customize : Minimize.
Introduction A bit of history At bit of architecture
Introducing the Microsoft® .NET Framework
Extended Operating System Support
Introducing the Windows Mobile development
Introduction to .NET Framework Ch2 – Deitel’s Book
Developing Drivers in Visual Studio
Günther Fischer Systems Engineer Microsoft OEM Embedded Devices.
NET Compact Framework for Mobile Developers
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Programming With eMbedded Visual C++ 4.0
Module 1: Introduction to Windows CE
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
Overview of System Development for Windows CE.NET
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
Getting Data Where and When You Want it with SQL Server 2005
Presentation transcript:

Visual Studio, Windows Embedded & Co. 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 Mobile & Embedded DevCon 2005 4/19/2017 11:21 AM Visual Studio 2005 & Co. App Development for Windows CE Devices Frank Prengel Embedded Developer Evangelist Microsoft Germany http://blogs.msdn.com/frankpr © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

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

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

Windows CE Architecture Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

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

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

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

Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

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

Visual Studio 2005 “Personalized productivity” Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

Visual Studio 2005 New Features Mobile & Embedded DevCon 2005 4/19/2017 11: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.

Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

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

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

Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

Native Development - Facts Mobile & Embedded DevCon 2005 4/19/2017 11: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.

Mobile & Embedded DevCon 2005 4/19/2017 11: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.

Native Development - Facts Mobile & Embedded DevCon 2005 4/19/2017 11: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.

Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

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

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

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

Mobile & Embedded DevCon 2005 4/19/2017 11: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 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Windows Embedded Roadmap Mobile & Embedded DevCon 2005 4/19/2017 11: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.

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

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

Mobile & Embedded DevCon 2005 4/19/2017 11:21 AM Resources Windows CE documentation http://msdn.microsoft.com/library/en-us/wceintro5/html/ wce50oriWelcomeToWindowsCE.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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

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

Mobile & Embedded DevCon 2005 4/19/2017 11: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.