3.Introduction to Windows CE

download 3.Introduction to Windows CE

of 35

Transcript of 3.Introduction to Windows CE

  • 8/6/2019 3.Introduction to Windows CE

    1/35

    Introduction to Embedded SoftwareIntroduction to Embedded Software

    DevelopmentDevelopment

    School of software EngineeringSchool of software Engineering20052005

    3. Introduction to Windows CE3. Introduction to Windows CE

  • 8/6/2019 3.Introduction to Windows CE

    2/35

    AgendaAgenda

    Hello Windows CE!Hello Windows CE!

    Windows CE featuresWindows CE features

    Compare with desktop versionCompare with desktop version

    Compare with other embedded OSCompare with other embedded OS

  • 8/6/2019 3.Introduction to Windows CE

    3/35

    Demo :Demo :Hello Windows CE!Hello Windows CE!

  • 8/6/2019 3.Introduction to Windows CE

    4/35

    What can CE do: Mobile PhoneWhat can CE do: Mobile Phone

  • 8/6/2019 3.Introduction to Windows CE

    5/35

    What can CE do: PDAWhat can CE do: PDA

  • 8/6/2019 3.Introduction to Windows CE

    6/35

    Portable Media CenterPortable Media Center

  • 8/6/2019 3.Introduction to Windows CE

    7/35

    What can CE do:What can CE do:Entertainment devicesEntertainment devices

    LinuxLinuxWindowsWindows

  • 8/6/2019 3.Introduction to Windows CE

    8/35

    What can CE do:What can CE do:

    Car automotiveCar automotive BMWBMWCitronCitron

    Clarion Co. Ltd.Clarion Co. Ltd.

    DaimlerChryslerDaimlerChrysler

    FiatFiat

    SubaruSubaru

    HondaHonda

    HyundaiHyundai

    MitsubishiMitsubishi

    ToyotaToyota

  • 8/6/2019 3.Introduction to Windows CE

    9/35

    What can CE do : OtherWhat can CE do : Other

    GatewaysGateways

    Industrial AutomationIndustrial Automation

    SetSet--Top BoxesTop Boxes

    Medical Devices and SystemsMedical Devices and Systems

    ATMsATMs

    Projectors and Large Screen DisplaysProjectors and Large Screen Displays VoIP DevicesVoIP Devices

  • 8/6/2019 3.Introduction to Windows CE

    10/35

    Windows CE historyWindows CE history

    First edition released in 1996First edition released in 1996

    Windows CE .NET 4.x is widely usedWindows CE .NET 4.x is widely used

    The latest version Windows CE 5.0The latest version Windows CE 5.0

  • 8/6/2019 3.Introduction to Windows CE

    11/35

    Windows CE featuresWindows CE features

  • 8/6/2019 3.Introduction to Windows CE

    12/35

    Compare with Desktop Version:Compare with Desktop Version:Hardware platformHardware platform

    Desktop WindowsDesktop Windows

    Only runsOnly runs on x86on x86

    architecturearchitecture

    Windows CEWindows CE

    ARM / XscaleARM / Xscale

    MIPSMIPS PowerPCPowerPC

    SHSH

    x86x86

  • 8/6/2019 3.Introduction to Windows CE

    13/35

    Windows CE feature listWindows CE feature list

    Windows CE can run on differentWindows CE can run on differenthardware platforms.hardware platforms.

    How can we do that?How can we do that?

  • 8/6/2019 3.Introduction to Windows CE

    14/35

    New Platform WizardNew Platform Wizard

    The answer is BSP !The answer is BSP !

  • 8/6/2019 3.Introduction to Windows CE

    15/35

    Introduction to BSPIntroduction to BSP

    Board Support Package is the softwareBoard Support Package is the softwarethat implements and supports the OEMthat implements and supports the OEMadaptation layer (OAL) and deviceadaptation layer (OAL) and devicedrivers for a standard developmentdrivers for a standard development

    board (SDB).board (SDB).

    HardwareHardware

    Operation SystemOperation System

    Board Support PackageBoard Support Package

  • 8/6/2019 3.Introduction to Windows CE

    16/35

    Compare with Desktop Version:Compare with Desktop Version:Image SizeImage Size

    Desktop WindowsDesktop Windows

    Windows 3.x : 2Windows 3.x : 2--5MB5MB

    Windows 98 : 400MBWindows 98 : 400MB Windows XP : 1.5GBWindows XP : 1.5GB

    Lager and lagerLager and lager

    Can NOT beCan NOT becustomizedcustomized

    Windows CEWindows CE

    Minimal : 200KBMinimal : 200KB

    Networking aboutNetworking about800KB800KB

    GWES, Shell andGWES, Shell andApps about 4MBApps about 4MB

    Internet ExplorerInternet Explorerabout 3MBabout 3MB

  • 8/6/2019 3.Introduction to Windows CE

    17/35

    Windows CE feature listWindows CE feature list

    ComponentizationComponentization

    More than 200 optional componentsMore than 200 optional components

    Quick and easy to customize OS for aQuick and easy to customize OS for aparticular systemparticular system

  • 8/6/2019 3.Introduction to Windows CE

    18/35

    Compare with Desktop Version:Compare with Desktop Version:Real TimeReal Time

    Desktop WindowsDesktop Windows

    NoNo inherentinherent realreal

    time supporttime support

    Windows CEWindows CE

    256 levels of thread256 levels of thread

    prioritypriority Nested interruptsNested interrupts

    PerPer--thread quantumsthread quantums

    Priority inversionPriority inversion

  • 8/6/2019 3.Introduction to Windows CE

    19/35

    Windows CE feature list:Windows CE feature list:

    Windows CE provide RealWindows CE provide Real--time supporttime support

    RealReal--time support is essential whentime support is essential whendealing with timedealing with time--critical applications.critical applications.

  • 8/6/2019 3.Introduction to Windows CE

    20/35

    Compare with Desktop Version:Compare with Desktop Version:Power managementPower management

    Desktop WindowsDesktop Windows

    No powerNo power

    managementmanagement

    Windows CEWindows CE

    Battery power / ACBattery power / AC

    powerpower Devices can have theirDevices can have their

    own power stateown power state

    Turn off unnecessaryTurn off unnecessary

    devicedevice

  • 8/6/2019 3.Introduction to Windows CE

    21/35

    Windows CE feature list:Windows CE feature list:

    Windows CE provides a PowerWindows CE provides a PowerManager to manage device power andManager to manage device power andimprove overall OS power efficiencyimprove overall OS power efficiency

    Windows CE can reduce the powerWindows CE can reduce the powerconsumption of a target device and toconsumption of a target device and to

    maintain and preserve the file systemmaintain and preserve the file systemin RAM during the reset, on, idle, andin RAM during the reset, on, idle, andsuspend power states.suspend power states.

  • 8/6/2019 3.Introduction to Windows CE

    22/35

    Compare with Desktop Version:Compare with Desktop Version:Programming InterfaceProgramming Interface

    Desktop WindowsDesktop Windows

    ASCII / UNICODEASCII / UNICODE

    RichAPI setRichAPI set Powerful hardwarePowerful hardware

    platformplatform

    Windows CEWindows CE

    UNICODE onlyUNICODE only

    Compact Version ofCompact Version ofWin32 API, MFC..Win32 API, MFC..

    Processor, RAM, FileProcessor, RAM, FileSystem limitationSystem limitation

  • 8/6/2019 3.Introduction to Windows CE

    23/35

    Windows CE feature list:Windows CE feature list:

    Windows CE only support UNICODEWindows CE only support UNICODE

    CHARCHAR --> TCHAR / WCHAR> TCHAR / WCHAR

    strlenstrlen --> wcslen> wcslen

    Some APIs provide limited functionSome APIs provide limited function

    Windows CE only have limitedWindows CE only have limitedresourceresource

  • 8/6/2019 3.Introduction to Windows CE

    24/35

    Compare with Desktop Version:Compare with Desktop Version:Micro KernelMicro Kernel

    Desktop WindowsDesktop Windows

    NT series isNT series is

    claimed to be microclaimed to be microkernel.kernel.

    9x series is not9x series is notmicro kernel.micro kernel.

    Windows CEWindows CE

    Complete micro kernelComplete micro kernel

    File system and deviceFile system and devicedrivers run on userdrivers run on usermodemode

    Kernel is responsible forKernel is responsible forpassing messagepassing message

  • 8/6/2019 3.Introduction to Windows CE

    25/35

    Windows CE feature list:Windows CE feature list:

    Complete micro kernelComplete micro kernel

    Enhanced reliabilityEnhanced reliability

    Enhanced scalabilityEnhanced scalability

  • 8/6/2019 3.Introduction to Windows CE

    26/35

    Compare with Desktop Version:Compare with Desktop Version:Share source codeShare source code

    Desktop WindowsDesktop Windows

    CommercialCommercial

    software, sourcesoftware, sourcecode is MS 1stcode is MS 1stlevel secret.level secret.

    Windows CEWindows CE

    70% of Windows CE70% of Windows CE

    5.0 source code is5.0 source code isshared.shared.

    User can modify it.User can modify it.

  • 8/6/2019 3.Introduction to Windows CE

    27/35

    Windows CE feature list:Windows CE feature list:

    Source code is sharedSource code is shared

    User can find shared source codeUser can find shared source codeunder %_WINCEROOT%under %_WINCEROOT%\\privateprivatefolderfolder

  • 8/6/2019 3.Introduction to Windows CE

    28/35

    Compare with other EmbeddedCompare with other EmbeddedOS: Multimedia supportOS: Multimedia support

    Other EOS:Other EOS:

    Little buildLittle build--in supportin supportfor audio & videofor audio & video

    No commercial webNo commercial webbrowser.browser.

    Windows CEWindows CE

    Rich UI elementRich UI element

    Windows MediaWindows MediaPlayer 9, supportPlayer 9, supportmp3, wav, avi,mp3, wav, avi,wmvwmv

    Internet Explorer 6Internet Explorer 6& Pocket IE& Pocket IE

  • 8/6/2019 3.Introduction to Windows CE

    29/35

    Windows CE feature list:Windows CE feature list:

    Rich User Interface ElementRich User Interface Element

    Strong Multimedia supportStrong Multimedia support

    Interact with desktop windowsInteract with desktop windows

    Pocket Word, Excel, PowerPoint, adobePocket Word, Excel, PowerPoint, adobereaderreader

    Pocket MSN messengerPocket MSN messenger

    Pocket IE, Windows Media PlayerPocket IE, Windows Media Player SQL Server CE editionSQL Server CE edition

    ACD SeeACD See

  • 8/6/2019 3.Introduction to Windows CE

    30/35

    Compare with other EmbeddedCompare with other EmbeddedOS: Programming InterfaceOS: Programming Interface

    Other EOS:Other EOS:

    DifferentDifferentprogrammingprogramminginterfaceinterface

    Typically use C/C++ &Typically use C/C++ &j2mej2me

    Windows CEWindows CE

    Win32 APIWin32API

    MFC,A

    TL, STLMFC,A

    TL, STL COM,ActiveXCOM,ActiveX

    .NET Compact.NET CompactFrameworkFramework

    Java VMJava VM

    EVB, EVCEVB, EVC

  • 8/6/2019 3.Introduction to Windows CE

    31/35

    Windows CE feature list:Windows CE feature list:

    Easy to get start for WindowsEasy to get start for Windowsprogrammerprogrammer

    Support multiple programmingSupport multiple programminglanguageslanguages

  • 8/6/2019 3.Introduction to Windows CE

    32/35

    Compare with other EmbeddedCompare with other EmbeddedOS: image size and real timeOS: image size and real time

    Other EOS:Other EOS:

    RTLinux, C/OSRTLinux, C/OS--IIIIsupport hard realsupport hard realtimetime

    Vxworks min size : 8kVxworks min size : 8k

    C/OSC/OS--II min size : 2kII min size : 2k

    Windows CEWindows CE

    No hard real timeNo hard real timesupportsupport

    Image size is tooImage size is toolarge for specificlarge for specificusageusage

  • 8/6/2019 3.Introduction to Windows CE

    33/35

    Windows CE advantages:Windows CE advantages:

    Rich optional components andRich optional components andfunctions.functions.

    Can be strongly customized.Can be strongly customized.

    Easy to use.Easy to use.

    Same programming interface withSame programming interface withdesktop windows.desktop windows.

    Rich MS and third party applications.Rich MS and third party applications.

  • 8/6/2019 3.Introduction to Windows CE

    34/35

    Windows CE disadvantages:Windows CE disadvantages:

    Image size is still too large for specificImage size is still too large for specificuse.use.

    Real time?Real time?

    Not free :Not free : 3$ per runtime license3$ per runtime license

    995$ for Platform Builder995$ for Platform Builder

    Performance & Security ??Performance & Security ??

  • 8/6/2019 3.Introduction to Windows CE

    35/35

    HomeworkHomework

    1.1. Build your own Windows CE platformBuild your own Windows CE platformwith Platform Builder and run it.with Platform Builder and run it.

    2.2. Be familiar with Windows CE GUI, FileBe familiar with Windows CE GUI, FileSystem structure, Control PanelSystem structure, Control Panel

    3.3. Write a ticWrite a tic--tactac--toe application withtoe application withPlatform Builder and play it on yourPlatform Builder and play it on yourown Windows CE platform.own Windows CE platform.