320 likes | 814 Views
WINDOWS EMBEDDED STUDENT CHALLENGE COMPETITION Juan E. Vargas, Ph. D. ( juanv@microsoft.com ) Academic Relations Manager Microsoft Corporation Outline Windows Embedded Challenge Competition Windows CE as a Platform Windows CE Platform Builder Tools Windows Embedded Challenge Overview
E N D
WINDOWS EMBEDDED STUDENT CHALLENGE COMPETITION Juan E. Vargas, Ph. D. (juanv@microsoft.com) Academic Relations Manager Microsoft Corporation
Outline • Windows Embedded Challenge Competition • Windows CE as a Platform • Windows CE Platform Builder Tools
Windows 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 17&18, 2005 in Redmond, WA
How does it work Windows Embedded Challenge Application • 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 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
Microsoft Technical Support Windows Embedded Challenge • 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
29 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
OS Versus PlatformWhy 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.
Avalanche: 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
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) S60, S80, V70, XC Volvo Aftermarket Clarion Joyride, CADIAS Hyundai ExRide Aftermarket Aftermarket NexTech Carman-i Avalanche: Devices in Automobiles
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
Operation 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, …
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
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
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
CE 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)
CE 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
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 CE Technology ComponentsGraphics & Multimedia
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 CE Technology ComponentsServices & Applications
CE 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
Embedded Devices Soft PLC HMI Panel HVAC Controller Sewing Machine Traffic Light Set-top Box / Stereo Component Cash Register Mobile Devices Smart Phone PDA Gaming device Web Pad Inventory Scanner Portable Music Device Robot Embedded Devices Vs Mobile Devices
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
Platform 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
Device UnderDevelopment Device Emulation Development 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
Windows CE: Core Operating System Architecture Applications Programming Interfaces (Win32, COM, MFC, ATL) Communication Interfaces (Winsock, RAS, TAPI) Networking and Communication System Kernel Library Filesys Device Manager GWES OAL Bootloader Device Drivers OEM Hardware
Does Microsoft share its source code ? • Yes, through two programs: • Shared Source • Premium Share
Remote Connectivity Windows CE Shell Services WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Shared Source: What is Included Not Available ISV, OEM Provided Mostly Available Applications Embedded Shell IrDA Kernel Library TCP/IP IPv6 GWES File Manager Device Manager File Drivers Drivers Device Drivers OAL Bootloader OEM Hardware
Remote Connectivity Windows CE Shell Services WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Premium Source: What is Included Not Available ISV, OEM Provided Mostly Available Applications Embedded Shell IrDA Kernel Library TCP/IP IPv6 GWES File Manager Device Manager File Drivers Drivers Device Drivers OAL Bootloader OEM Hardware
More 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/sharedsrccode/ • List of Shared Source Files for Windows CE .NET • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/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
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/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/community • Hardware Empowerment Program • http://www.research.microsoft.com/collaboration/university/hep.aspx • MSDN Embedded (technical articles, documentation) • http://msdn.microsoft.com/embedded
Additional Useful Links • Real-Time TechInsight • www.microsoft.com/windows/embedded/techinsights/realtime.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/downloads • All Microsoft Downloads • www.microsoft.com/downloads • Case Studies: • Windows CE .NET • www.microsoft.com/windows/Embedded/ce.NET/evaluation/casestudies • Windows XP Embedded • www.microsoft.com/windows/Embedded/xp/evaluation/casestudies
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 • 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)