Speech Title - CECS Multimedia Communications and Visualization

advertisement
WINDOWS EMBEDDED
STUDENT CHALLENGE
COMPETITION
Juan E. Vargas, Ph. D.
(juanv@microsoft.com)
Academic Relations Manager
Microsoft Corporation
1
Outline



Windows Embedded Challenge Competition
Windows CE as a Platform
Windows CE Platform Builder Tools
2
Windows Embedded Challenge
Overview

Goal: Supplement faculty initiatives by giving students the opportunity

Target Audience: Undergraduate Computer Engineering/ CS

Prizes:
to work on real world projects, with hardware, software and technical
support provided by Microsoft
students worldwide.

Especially relevant for Senior Design/ Senior Project courses






1st Prize - $8,000 US
2nd Prize - $6,000 US
3rd Prize - $4,000 US
4th Prize - $3,200 US
5th Prize - $2,400 US
Key dates for participating



Registration ends – February 6, 2005
Final reports due to both CSIDC and Microsoft - April 23, 2005
Finalists announced - May 6, 2005
Finals - June 17&18, 2005 in Redmond, WA
3
Windows Embedded Challenge
How does it work
Application
Windows CE.NET
Students build apps using .Visual Studio .NET (C# &VB)
or
Embedded Visual C++ (C or C++)
Customizable by students with Platform Builder,
the Windows CE IDE (also provided to teams)
Board Support package
Hardware




Provided to participating teams
through ICOP
Contest among undergraduate students
Build a computer based system based on the theme – “Going
beyond the boundaries”
Collaboration with CSIDC - IEEE
James Madison University – Champions, 2004
4
Windows Embedded Challenge
Microsoft Technical Support

Helpp@microsoft.com
 Manned by over 25 Windows CE developers
 Get answers to questions about Windows CE
Software – how to configure, build, debug and
deploy OS image
 This was one of the most valuable resources last
year for students
 Will not help with writing code

Frequent Online chats

Other resources (books, etc) available on request
Be part of this exciting contest! Register Now!!
www.windowschallenge.com/register.aspx
5
29 TEAMS INVITED TO THE FINALS in 2004
SUNY Stony Brook -3
UNL -3
Utah State
SUNY Binghamton
Wisconsin
Madison
UNO-1
Boston College
DePaul
Bradley
UMass
Dartmouth
James Madison
University
University of
S.Carolina - 2
Cal Poly Pomona -2
CSU- Northridge
CSU Chico
CSU Long Beach
San Diego State
LSU
Georgia State
San Jose State-2
Santa Clara -2
Be part of this exciting contest! Register Now!!
www.windowschallenge.com/register.aspx
6
OS Versus Platform




Why distinguish between the two?
Because Windows desktop development
blurs differences between them, causing
confusion w.r.t. the embedded space.
To draw attention at some differences
between Windows CE and other Windows
OS.
To set the stage for talking about Tools.
To highlight some opportunities and
design choices coming at us like an
avalanche.
7
Avalanche: Wide Range of Devices
Voice-over IP
Devices
Gateways
Thin Clients
Set-Top Boxes
Digital Audio
Receivers and Players
Mobile
Handhelds
Medical Devices
Smart Displays
8
Industrial
Automation
Avalanche: Devices in Automobiles
Model
Automaker
BMW
7 Series
Citroen
C5, Xara
DaimlerChrysler
S-Class
Fiat
Lancia Thesis
Honda
Accord
Mitsubishi
Airtek, Lancer,
Grandis, Dingo
Subaru
Lancaster
Toyota
Will-CYPHA
(G-Book)
Volvo
S60, S80, V70, XC
Aftermarket
Clarion
Joyride, CADIAS
Aftermarket
Hyundai ExRide
Aftermarket
NexTech Carman-i
9
Avalanche: 2500+ Partners
Over 2,500 Windows Embedded Partners worldwide
Exponential growth in China, Taiwan, India
Gold partners in all major regions
Industry experts
Demonstrating value across product line
10
Operation Systems Are…

Webster Dictionary


Abstracts the hardware for
applications


Offers standard APIs to access Hardware
Is not useful without hardware


“The Master Control Program that starts
when a Computer boots”
You cannot just develop for an OS
Examples

Windows XP, Windows CE, Linux, …
11
Platforms Are…

A specified set of OS technologies
defined as components for a specific set
of hardware




In the embedded space these are usually
defined by the OEM
Applications are developed targeting
the platform
The Platform SDK defines the platform
Microsoft platforms

Windows 3.1, Windows 98, Windows XP,
Pocket PC, Pocket PC 2002, SmartPhone
12
Windows XP versus Windows CE

Windows XP as a platform


Uniform platform with significant app compatibility
Restricted hardware architecture


Readily available, inexpensive
Windows CE as OS


A collection of components that can be assembled into a
wide variety of platforms
Much more flexibility about the hardware since it supports
4 processor architectures:




X86
SH4
ARM
MIPS
13
Design Choices

Build your own platform




Greater flexibility regarding choice of
components to include
Platform designer supplies kernel and
drivers
More work …
Develop towards an existing platform



App level environment already exists
You probably can’t change it
You can get stuck if you need a
component that’s not available
14
CE Technology Components
Kernel, Power Manager, File System

Hard real-time preemptive multitasking kernel




Installable ISRs, Multimedia timers, DMA APIs





more flexibility for drivers & apps
Kernel hooks for profiling and debugging
Flexible Power Manager with power profile states
Layered Storage Manager Architecture
File system Filters


Interprocess communication (IPC), sync objects
Memory mapped files, message queues, fibers
Virtual memory with hardware access protection
E.G. for adding FS Encryption
Sample file system drivers in PB

FATFS, CDFS/UDFS, BinFS (Flash file system)
15
CE Technology Components
Networking & Communications




Self tuning TCP/IP stack, incl. IPv6 Support
NDIS 5.1 driver architecture; RNDIS supported
Winsock 2 & WinINet
Wireless networking




Bluetooth, including qualified profiles
802.11, Auto configuration & 802.1x security
Services: LDAP, DCOM, SOAP, MSMQ, UPnP, …
Gateway functionality


V4 NAT/ICS and v6 routing & router advertisement (RA)
Firewall, DNS Proxy, DHCP allocation
16
CE Technology Components
Graphics & Multimedia

Windowing



Window / Dialog
Manager
Basic / Common
Controls
Media Playback



Graphics






DirectDraw,
Direct3D
GDI

Audio


DirectShow
Windows Media
Technologies
Windows Media Player
and ActiveX Control
Stream from media
server, web, local file
Support for many types
and formats

DirectSound, WaveOut,
DirectMusic
17
WMA, WMV, MPEG-1,
MPEG-4, Wav, MP3,
ADPCM, G.711, GSM
6.10
CE Technology Components
Services & Applications








Shell (Desktop)
Two browsers
Email client
Wordpad
Viewers for MSWord,
Excel, PowerPoint &
PDF
Instant Messenger
client
Terminal services
client
Windows Media Player
18







Component Object Model /
ActiveX Control
infrastructure
.NET Compact Framework
Data synchronization
infrastructure
Device Management
HTTP Server
FTP Server
Telnet Server
CE Technology Components
Board Support Packages

Improve out-of-the-box experience



Shorten time to booting prototype





Evaluation & Learning
Prototype & Demonstration
Sample drivers based on integrated peripherals
Many source examples available
Decouple high-level app development from
hardware and driver development
At least one BSP per supported kernel included in
PB, additional on the web
Additional BSPs available on the web and included
in reference hardware products
19
Embedded Devices Vs Mobile
Devices

Embedded Devices







Soft PLC
HMI Panel
HVAC Controller
Sewing Machine
Traffic Light
Set-top Box /
Stereo Component
Cash Register
20

Mobile Devices







Smart Phone
PDA
Gaming device
Web Pad
Inventory Scanner
Portable Music
Device
Robot
Embedded Devices




No power consumption optimization
Might not have a display
Application durability is most important
Software gets pre-installed


By OEM, Machine Builder, SP
Optimize for application footprint
Mobile Devices




Optimization for power management
99% have displays
User Experience and ease of use is essential
Footprint still important

Larger application may not install with default memory
settings
21
Platform Builder

Creates platforms with Windows CE



Mainly for OEM but also for driver development
Exports the platform SDK for embedded Visual
Tools




Windows CE.NET PB exports to eVC 4.0
Emulator facilitates software development
independent of hardware
Platform wizards walk you through component
selection for common device types
Components can be added by dragging and
dropping from the catalog


Assembles OS components into a device image
Dependency checking automatically brings in other
needed components
New components can be written from scratch
22
Development Cycle
From Platform to Applications
Device
Development
Application
Development
Export SDK with Device Specific
Win32 APIs or use Standard SDK
Platform
Builder
Component
Catalog incl.
.NET CF
Download Device Specific
Windows CE OS and Applications
via KITL
Build Device
Image
eMbedded Visual
C++ 4.0
C/C++ MFC/ATL
via KITL
Device Under
Development
Visual Studio .NET
VB/C#
Device
Emulation
Smart Device
Programmability
Debug
Device
Builds and
Brings Up Device
Builds Rich
Applications
23
Windows CE: Core Operating System
Architecture
Applications
Programming Interfaces
(Win32, COM, MFC, ATL)
Kernel
Library
OAL
Bootloader
GWES
Communication Interfaces
(Winsock, RAS, TAPI)
Device
Manager
Filesys
Device Drivers
OEM Hardware
24
Networking and
Communication
System
Does Microsoft share its source
code ?
Yes, through two programs:
•Shared Source
•Premium Share
25
Shared Source: What is Included
Not
Available
Mostly
Available
ISV, OEM
Provided
Applications
Embedded Shell
Remote
Connectivity
Windows CE Shell Services
WIN32 APIs
COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Kernel
Library
GWES
File
Manager
Device
Manager
IrDA
OAL
Bootloader
Drivers
Device
Drivers
File Drivers
OEM Hardware
26
TCP/IP
IPv6
Premium Source: What is Included
Not
Available
Mostly
Available
ISV, OEM
Provided
Applications
Embedded Shell
Remote
Connectivity
Windows CE Shell Services
WIN32 APIs
COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Kernel
Library
GWES
File
Manager
Device
Manager
IrDA
OAL
Bootloader
Drivers
Device
Drivers
File Drivers
OEM Hardware
27
TCP/IP
IPv6
Resources
28
More Shared Source Information

Working with Shared Source code for Windows CE .NET


Shared Source Licensing Overview for Windows CE .NET


http://msdn.microsoft.com/embedded/ce.net/sharedsrccode/
List of Shared Source Files for Windows CE .NET


http://msdn.microsoft.com/library/?url=/library/enus/dncenet/html/privatesource.asp
http://msdn.microsoft.com/library/default.asp?url=/library/enus/wcepb40/htm/pbconsharedsourcecodedirectories.asp?frame=true
Microsoft Windows Embedded Community


http://msdn.microsoft.com/embedded/community/default.aspx
E-mail questions to: cesrc@microsoft.com or wemap@microsoft.com
29
For More Information




Join the Windows Embedded Academic Program (WEMAP)

Contact us at: wemap@microsoft.com

Visit us online at:
http://www.microsoft.com/windows/Embedded/ce.NET/eval
uation/offers/academic.asp
CSIDC IEEE Contest

http://www.computer.org/csidc/
Windows Embedded Community (support, newsgroups, chats,
events, newsletters…)

http://www.microsoft.com/windows/embedded/community
Hardware Empowerment Program
http://www.research.microsoft.com/collaboration/university
/hep.aspx
MSDN Embedded (technical articles, documentation)

http://msdn.microsoft.com/embedded


30
Additional Useful Links

Real-Time TechInsight


DevWire (newsletter including links to latest downloads,
articles, content)


www.microsoft.com/windows/embedded/ce.net/downloads
All Microsoft Downloads


www.microsoft.com/windows/embedded/devwire
Windows CE .NET Downloads (Evaluation Edition,
Smartphone SDK, etc)


www.microsoft.com/windows/embedded/techinsights/realtime.as
p
www.microsoft.com/downloads
Case Studies:

Windows CE .NET


www.microsoft.com/windows/Embedded/ce.NET/evaluation/casest
udies
Windows XP Embedded

www.microsoft.com/windows/Embedded/xp/evaluation/casestudie
s
31
Books


Source Code Analysis of Windows CE .NET - released in China
Integration of a chapter (or more in some cases) into their core
textbooks






Survey Of Operating Systems – McGraw-Hill Companies
Advanced Concepts In Operating Systems – McGraw-Hill Companies
Real-Time Programming: A Guide to 32-bit Embedded Development Addison Wesley & Benjamin Cummings
An Embedded Software Primer - Addison Wesley & Benjamin Cummings
Introduction to Operating Systems - Addison Wesley & Benjamin
Cummings
Industry books in progress and of interest to academia:

Windows XP Embedded with Service Pack 1 Step by Step


Inside Windows CE


Written by Sean Liming, A7 Engineering (MVP) - Release Date: June 2003
Written by John Murray
Programming Windows CE .NET

Written by Doug Boling, Boling Consulting (MVP)
32
Download