Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit...

44

Transcript of Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit...

Page 1: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...
Page 2: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Mike HallSoftware ArchitectMicrosoft [email protected]://blogs.msdn.com/mikehall

Windows Embedded

Page 3: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Agenda

.NET MicroFramework

Windows Embedded CE 6.0 SP1

Windows XP Embedded

Microsoft Robotics Studio

Page 4: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Portable Media Center

Extending the Microsoft Embedded Story

Windows Mobile

Smartphone

Increasing Functionality

Windows CE

Windows Mobile

Pocket PC Phone

Wearable Devices

Windows XP Embedded

Windows

Automotive

VoIP Phones

Mobile

Handhelds

Gateways

Set-top Boxes

Medical Devices

Windows-based

Terminals

Retail Point-of-Sale

Entertainment Devices

Sensor Nodes

Auxiliary Displays

Health Monitoring

Remote Controls

Security

Building Automation

Visual Studio + Managed Code

Decreasing Size

Page 5: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Small is Beautiful.NET Micro Framework

Page 6: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Architecture: PhilosophyBootable .NET

Benefits of managed code, close to the metal

ISVs follow similar decision-making process to developing .NET apps on the desktop

Not appropriate for all applications

Emphasis on robust development environment, code execution safety

.NET Micro Framework represents first entry down a path

Continuing work on reducing footprint

Commitment to highly configurable solution

High degree of integration with other MS initiatives

Page 7: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Architecture: Stack

Page 8: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Internals:Common Language Runtime (CLR)

Derived from ECMA (CLI) standard

CLS/CTS/VES

No unsafe instructions supported

A few extensions appropriate for embedded environments

Small footprint

runtime + framework library: ~200 KB

<500KB full featured (UI, XML, …)

Page 9: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

System.Web System.Windows.Forms

System.Data System.XML

System

• Services• Description

• Discovery

• Protocols

•UI• HTML controls

• Web controls

Design

Configuration

Cache

Session state

Security

Imaging

Drawing 2D

Text

Printing

Design

ADO.NET

SQL ServerCE

SQL Client

Xslt/XPath

XML Document

Reader/writers

Serialization

Service process

Configuration

Threading

Diagnostics

Net

IO

Resources

Reflection

Security

Collections

Globalization

Text

Component model

.NET MicroFramework

• Interop services

• Runtime

• Serialization

• Remoting

System.Drawing

Page 10: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Internals: Target environmentsSupported chipset

ARMARM7TDMI, 25/27.6Mhz, 384Kb RAM, 1/2Mb FLASH, 8Kb D/I cache

ARM920T, 96Mhz, 4Mb RAM, 2Mb FLASH, 16Kb D/I cache

ARM Cortex M3 (in development)

Supported platforms (as a hosted runtime)

M68k

Windows XP

Net+OS

Porting to new HW requires new HAL

~80-100 API calls

Porting to new platform requires new PAL

~20-40 API calls

A porting kit (DDK) will be available soon

Page 11: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

User Interface

Based on WPF (Avalon)

Input event routing

Layout systemContent sizing

Text flow

Nestable controls

Fonts

Images

Pens, brushes, colors

Vector Primitives

Alpha-blendingApplicable to all primitives

Page 12: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Tool Chain

Microsoft Visual Studio 2005

Project system/templates

Post-build processing

Deploy to device (USB, serial, TCP/IP) or emulator

Interactive debugging in VS IDE

Breakpoints

Memory inspection

Tracing

Extensible Device Emulator

Page 13: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...
Page 14: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Windows Embedded CE 6.0

Page 15: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

CE 6.0 tools and Vista

VS 2005

VS 2005 SP1

VS 2005 SP1 for Vista

Windows Embedded CE 6.0

.NET Compact Framework 2.0 SP2

March 2007 QFE Rollup

CE 6.0 SP1

Page 16: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Windows CE 6.0 Tools SP1

Microsoft Windows Vista support (also good for XP!)

Quality improvements (~250 bug fixes in Debugger alone)

HW Assist debugging, Full OS Awareness

New eXDI Device Emulator sample

New CEDebugX Debugger extension

Remote Tools Framework (RTFx)

New Tools Only release

Page 17: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Windows CE 6.0 Tools SP1

We provide sample with PB for third-party probe vendors to jump-start eXDI development

Provides interface for the PB System debugger to HW Assist debug Windows Mobile/CE platforms

New Device Emulator eXDI sample

Page 18: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...
Page 19: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

CEDebugX

Debugger extension that completes the debugging experience for Windows Mobile and Embedded by providing more discipline-specific information and an automatic diagnosis mechanism

Sits on top of the target control window and is accessible at break time.

Use !help for a list of available commands

Available at CE 6.0 Platform Builder SP1 for both Windows Mobile 5.0 and CE 6.0 operating systems

Debugger extension

Page 20: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

CEDebugX

Complete the debugging experience

Provide deep system information

Thread lists (all, run, sleep, blocked)

Proxy lists, events

Provide discipline specific information

Window lists, GDI table, MSG Queues

Screenshot, heap information

Provide product knowledge

Automatic diagnosis of deadlocks, CPU starvation, heap corruption, memory issues, exceptions

Hints of what could be going wrong on the device

Debugger extension

Page 21: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...
Page 22: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Introducing the Remote Tools Framework

The new framework for remote tools development

Simplified desktop-side UI development using .NET

Highly-abstracted connectivity and command packet APIs

Plug-ins delivered as a single-file for easier distribution

For anyone who wants to:

Develop a remote tool with ease

Distribute a remote tool without complicated setup

Have a unified experience in using a remote tool

Page 23: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

How Does the Remote Tools Framework Work? (cont'd)

Two command handler modes

Synchronous

Desktop initiates the command

Waits for response from device

Updates desktop view

Asynchronous

Device initiates the command

Desktop view updates

Page 24: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...
Page 25: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Windows XP Embedded

Page 26: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Windows XP Embedded Roadmap

Based on Vista

File-based Write Filter

USB Boot

Footprint, reliability, productivity improvements

Rollup of WMP11, IE7, RDP6, .NET3.0, UMDF

XP SP3

Unified Setup

Plus??? If we could do just one thing for you…

Page 27: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Windows Embedded Customer Needs

Power developers – served today through Windows XP Embedded

Need full granularity, customization due to hard requirements

Proficient in Target Designer

Will customize beyond out-of-the-box componentization

Express developers/enterprises – served today through Windows Embedded for Point of Service

No footprint constrained, quick build, easy servicing

Embedded Customer Needs

Power

Developer

Express

Developer

Toolkit Setup

Page 28: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

vNext +1 Product vs. Current (XPe)

Features vNext+1 Windows XP Embedded

Windows Vista technologies Same as Windows Vista Ultimate Subset available on Windows XP Professional

e.g., Windows Media Player 11, Internet Explorer 7

Image Build Modified Windows Vista (OPK):

- Windows setup

- Windows System Image Manager

- Package Manager

- WIM

Embedded Studio Toolkit:

- Target Designer

- Component Designer

- DB Manager

- Target Analyzer

Processor support 32-bit (x86)

64-bit (x64)

32-bit (x86)

OS Image Footprint Larger compared to Windows XPe

Image size > 300 M

Min image size 40-50M

OS Building Blocks Very coarse (<100)

Driver Packs (<1000)

Granular OS components (~1000)

Granular Drivers (~9000)

Page 29: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

vNext+1 Product vs. Current (XPe) (cont'd)

Features vNext+1 Windows XP Embedded

Build Time Striving for improvement compared to Windows XPe

CD+TD build time

Team Sharing WIM location shared across network (distribution share)

Component database shared on the network

Deployment tools Windows Deployment Services

Windows OPK (WinPE 2.0)

CD Boot, USB Boot

PXE Boot, Remote Installation

WinPE 1.0

CD Boot, USB Boot

Embedded Enabling Features Parity with Windows XPe EWF, FBWF, etc

Servicing OEM Servicing

Device Servicing (Windows Update)

Image updates only (OEM Servicing)

Activation Required Not required

Page 30: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Image Building Concepts

Embedded Core

(Bootable)

Embedded

OS

Enhanced

Write Filter

Internet

Explore

r

Lang Packs/

Driver Packs

3rd Party

Software

Installer

OS Updates

Update

Package

Feature

PackageEEF Package

Image-

Based

Setup

Page 31: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

OS Image Building Blocks (cont'd)

Every image is built using:

The Embedded Core

Feature Packages (e.g., Internet Explorer 7, Windows Media Player 11)

Language Packages (e.g., English-US)

Driver Packs (e.g., printers and display)

Embedded Enabling Features (e.g., FBWF)

OS updates

Third-party software and drivers

The building blocks are combined in Image-Based Setup to create an image

Page 32: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Feature Packages

Logical collections of functionality, e.g.:

Windows Media Player 11

Internet Explorer 7

Network Security

Expect less than 100

Signed and serviceable by Microsoft

Binaries and resources can not be tweaked

Tweaking breaks servicing

Configurable Settings

Page 33: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Embedded Enabling Features

The goal is to have Windows XPe parity:

Write Filters (EWF, EWF HORM, FBWF, Registry Filter)

USB Boot

Device Update Agent

MessageBox default reply

Custom Shell support

Page 34: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Current Status of the Product

Currently in product planning phase

Yet to be defined:

SKUs

Pricing

Licensing

Give us your feedback and requirements!

Page 35: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Customer Programs

Early Technology Adoption Program (TAP)

Partner with the development team

Shape the final product

Late 2007

Community Technology Preview (CTP)

Public access to builds and documentation

https://connect.microsoft.com/windowsembedded

Early 2008

Page 36: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Microsoft Robotics Studio

Page 37: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Shared Challenges… Input from industry, hobbyists, academia, research, etc.

Configuring sensors and actuators in running system

Monitoring/interacting/debugging running system

Coordinating sensors and actuators asynchronously

Span multiple compute units

Starting and stopping components dynamically

Development when access to robot is limited

Rapid application development and re-use of

components across hardware platforms and devices

Page 38: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Microsoft Robotics Studio

Runtime environment

Execute, monitor, and interact with robotics applications

Authoring environment

Write, orchestrate, and deploy robotics applications

Simulation environment

Execute robotics applications using simulated hardware, physical entities, and terrain

Addressing the challenges

Page 39: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Microsoft Robotics StudioHigh-level architecture

Runtime Environment

Concurrency and

Coordination Runtime

(CCR)

Decentralized Software

Services (DSS)

Services

Simulation

Orchestration

Devices

Interaction

Internet

Explore

Win

Forms

Visualization

&

Simulation

Authoring Environment

Visual

StudioVPL

Other

Other..

Page 40: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Authoring Environment

Many choices for creating robot applications

Using a Web browser

Inspect/change service state

JScript (Javascript) as application development language

Visual Studio and .NET support

C# (Desktop and Windows Embedded CE 6.0)

Visual Basic .NET (Desktop and Windows Embedded CE 6.0)

C++/CLI

Iron Python

Page 41: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Authoring Environment

Dataflow editing

Drag and drop

Service blocks

Messages as connections

Novice to expert

Visual programming language

Page 42: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Visual Programming Environment

Page 43: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

Summary

Huge opportunity

Breadth of operating system technologies

Amazing tools

Page 44: Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit Setup. ... (Desktop and Windows Embedded CE 6.0) Visual Basic .NET ...

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it

should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.