Title: WINDOWS EMBEDDED
1- WINDOWS EMBEDDED
- STUDENT CHALLENGE
- COMPETITION
- Juan E. Vargas, Ph. D.
- (juanv_at_microsoft.com)
- Academic Relations Manager
- Microsoft Corporation
2Outline
- Windows Embedded Challenge Competition
- Windows CE as a Platform
- Windows CE Platform Builder Tools
3Windows Embedded Challenge Overview
- Goal Supplement faculty initiatives by giving
students the opportunity to work on real world
projects, with hardware, software and technical
support provided by Microsoft - Target Audience Undergraduate Computer
Engineering/ CS students worldwide. - Especially relevant for Senior Design/ Senior
Project courses - Prizes
- 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, 2005Finalists announced - May 6, 2005 - Finals - June 1718, 2005 in Redmond, WA
4How does it work
Windows Embedded Challenge
Application
Students build apps using .Visual Studio .NET (C
VB) or Embedded Visual C (C or C)
Windows CE.NET
Customizable by students with Platform Builder,
the Windows CE IDE (also provided to teams)
Board Support package
Provided to participating teams through ICOP
Hardware
- 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
5Microsoft Technical Support
Windows Embedded Challenge
- Helpp_at_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
629 TEAMS INVITED TO THE FINALS in 2004
SUNY Stony Brook -3 SUNY Binghamton
UNL -3 UNO-1
Wisconsin Madison
Utah State
Boston College UMass Dartmouth
DePaul Bradley
James Madison University
University of S.Carolina - 2
Cal Poly Pomona -2 CSU- Northridge CSU Chico CSU
Long Beach San Diego State San Jose State-2 Santa
Clara -2
Georgia State
LSU
Be part of this exciting contest! Register
Now!! www.windowschallenge.com/register.aspx
7OS 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.
8Avalanche Wide Range of Devices
Voice-over IP Devices
Gateways
Thin Clients
Set-Top Boxes
Digital Audio Receivers and Players
Mobile Handhelds
Medical Devices
IndustrialAutomation
Smart Displays
9Avalanche Devices in Automobiles
10Avalanche 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
11Operation Systems Are
- Webster Dictionary
- The Master Control Program that starts when a
Computer boots - Abstracts the hardware for applications
- Offers standard APIs to access Hardware
- Is not useful without hardware
- You cannot just develop for an OS
- Examples
- Windows XP, Windows CE, Linux,
12Platforms 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
13Windows 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
14Design 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 cant change it
- You can get stuck if you need a component thats
not available
15CE Technology ComponentsKernel, Power Manager,
File System
- Hard real-time preemptive multitasking kernel
- Interprocess communication (IPC), sync objects
- Memory mapped files, message queues, fibers
- Virtual memory with hardware access protection
- 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
- E.G. for adding FS Encryption
- Sample file system drivers in PB
- FATFS, CDFS/UDFS, BinFS (Flash file system)
16CE Technology ComponentsNetworking
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
17CE Technology ComponentsGraphics Multimedia
- Windowing
- Window / Dialog Manager
- Basic / Common Controls
- Graphics
- DirectDraw,
- Direct3D
- GDI
- Audio
- DirectSound, WaveOut,
- DirectMusic
- Media Playback
- DirectShow
- Windows Media Technologies
- Windows Media Player and ActiveX Control
- Stream from media server, web, local file
- Support for many types and formats
- WMA, WMV, MPEG-1, MPEG-4, Wav, MP3, ADPCM, G.711,
GSM 6.10
18CE Technology ComponentsServices Applications
- Shell (Desktop)
- Two browsers
- Email client
- Wordpad
- Viewers for MSWord, Excel, PowerPoint PDF
- Instant Messenger client
- Terminal services client
- Windows Media Player
- Component Object Model / ActiveX Control
infrastructure - .NET Compact Framework
- Data synchronization infrastructure
- Device Management
- HTTP Server
- FTP Server
- Telnet Server
19CE Technology ComponentsBoard Support Packages
- Improve out-of-the-box experience
- Evaluation Learning
- Prototype Demonstration
- Shorten time to booting prototype
- 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
20Embedded Devices Vs Mobile Devices
- Mobile Devices
- Smart Phone
- PDA
- Gaming device
- Web Pad
- Inventory Scanner
- Portable Music Device
- Robot
- Embedded Devices
- Soft PLC
- HMI Panel
- HVAC Controller
- Sewing Machine
- Traffic Light
- Set-top Box / Stereo Component
- Cash Register
21Embedded 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
22Platform Builder
- Creates platforms with Windows CE
- Assembles OS components into a device image
- 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 - Dependency checking automatically brings in other
needed components - New components can be written from scratch
23Development CycleFrom Platform to Applications
Device Development Builds and Brings
Up Device
Application Development Builds Rich
Applications
Export SDK with Device Specific Win32 APIs or
use Standard SDK
Platform Builder
eMbedded Visual C 4.0 C/C MFC/ATL
Download Device Specific Windows CE OS and
Applications
Component Catalog incl. .NET CF
Visual Studio .NET VB/C
via KITL
via KITL
Build DeviceImage
Smart Device Programmability
Debug Device
24Windows CE Core Operating System Architecture
Applications
Programming Interfaces (Win32, COM, MFC, ATL)
Communication Interfaces (Winsock, RAS, TAPI)
Networking and Communication System
Kernel Library
GWES
Device Manager
Filesys
Device Drivers
OAL Bootloader
OEM Hardware
25Does Microsoft share its source code ?
- Yes, through two programs
- Shared Source
- Premium Share
26Shared Source What is Included
Not Available
ISV, OEM Provided
Mostly Available
Applications
Embedded Shell
Kernel Library
IrDA
GWES
TCP/IP IPv6
Device Manager
File Manager
File Drivers
OAL Bootloader
Drivers
Device Drivers
OEM Hardware
27Premium Source What is Included
Not Available
ISV, OEM Provided
Mostly Available
Applications
Embedded Shell
Kernel Library
IrDA
GWES
TCP/IP IPv6
Device Manager
File Manager
File Drivers
OAL Bootloader
Drivers
Device Drivers
OEM Hardware
28 29More Shared Source Information
- Working with Shared Source code for Windows CE
.NET - http//msdn.microsoft.com/library/?url/library/en
-us/dncenet/html/privatesource.asp - Shared Source Licensing Overview for Windows CE
.NET - http//msdn.microsoft.com/embedded/ce.net/sharedsr
ccode/ - List of Shared Source Files for Windows CE .NET
- http//msdn.microsoft.com/library/default.asp?url
/library/en-us/wcepb40/htm/pbconsharedsourcecodedi
rectories.asp?frametrue - Microsoft Windows Embedded Community
- http//msdn.microsoft.com/embedded/community/defau
lt.aspx - E-mail questions to cesrc_at_microsoft.com or
wemap_at_microsoft.com
30For More Information
- Join the Windows Embedded Academic Program
(WEMAP) - Contact us at wemap_at_microsoft.com
- Visit us online at http//www.microsoft.com/wind
ows/Embedded/ce.NET/evaluation/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/communit
y - Hardware Empowerment Program
- http//www.research.microsoft.com/collaboration/un
iversity/hep.aspx - MSDN Embedded (technical articles, documentation)
- http//msdn.microsoft.com/embedded
31Additional Useful Links
- Real-Time TechInsight
- www.microsoft.com/windows/embedded/techinsights/re
altime.asp - DevWire (newsletter including links to latest
downloads, articles, content) - www.microsoft.com/windows/embedded/devwire
- Windows CE .NET Downloads (Evaluation Edition,
Smartphone SDK, etc) - www.microsoft.com/windows/embedded/ce.net/download
s - All Microsoft Downloads
- www.microsoft.com/downloads
- Case Studies
- Windows CE .NET
- www.microsoft.com/windows/Embedded/ce.NET/evaluati
on/casestudies - Windows XP Embedded
- www.microsoft.com/windows/Embedded/xp/evaluation/c
asestudies
32Books
- 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 - Written by Sean Liming, A7 Engineering (MVP) -
Release Date June 2003 - Inside Windows CE
- Written by John Murray
- Programming Windows CE .NETÂ
- Written by Doug Boling, Boling Consulting (MVP)