introduction to embedded software development
DESCRIPTION
Introduction to Embedded Software Development. 3. Introduction to Windows CE. School of software Engineering 2005. Agenda. Hello Windows CE! Windows CE features Compare with desktop version Compare with other embedded OS. Demo : Hello Windows CE!. What can CE do: Mobile Phone. - PowerPoint PPT PresentationTRANSCRIPT
Introduction to Embedded Software Introduction to Embedded Software DevelopmentDevelopment
School of software EngineeringSchool of software Engineering
20052005
3. Introduction to Windows CE3. Introduction to Windows CE
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
Demo :Demo :Hello Windows CE!Hello Windows CE!
What can CE do: Mobile PhoneWhat can CE do: Mobile Phone
What can CE do: PDAWhat can CE do: PDA
Portable Media CenterPortable Media Center
What can CE do: What can CE do: Entertainment devicesEntertainment devices
LinuxLinuxWindowsWindows
What can CE do: What can CE do: Car automotiveCar automotive
BMWBMW
CitroënCitroën
Clarion Co. Ltd.Clarion Co. Ltd.
DaimlerChryslerDaimlerChrysler
FiatFiat
SubaruSubaru
HondaHonda
HyundaiHyundai
MitsubishiMitsubishi
Toyota…Toyota…
What can CE do : OtherWhat can CE do : Other GatewaysGateways Industrial AutomationIndustrial Automation Set-Top BoxesSet-Top Boxes Medical Devices and SystemsMedical Devices and Systems ATMsATMs Projectors and Large Screen DisplaysProjectors and Large Screen Displays VoIP DevicesVoIP Devices ……
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
Windows CE featuresWindows CE features
Compare with Desktop Version:Compare with Desktop Version:Hardware platformHardware platform
Desktop WindowsDesktop Windows Only runsOnly runs on x86 on x86
architecturearchitecture
Windows CEWindows CE ARM / XscaleARM / Xscale MIPS MIPS PowerPC PowerPC SH SH x86 x86
Windows CE feature listWindows CE feature list Windows CE can run on different Windows CE can run on different
hardware platforms.hardware platforms.
How can we do that?How can we do that?
New Platform WizardNew Platform Wizard
The answer is BSP !The answer is BSP !
Introduction to BSPIntroduction to BSP Board Support Package is the software Board Support Package is the software
that implements and supports the OEM that implements and supports the OEM adaptation layer (OAL) and device adaptation layer (OAL) and device drivers for a standard development drivers for a standard development board (SDB). board (SDB).
HardwareHardware
Operation SystemOperation System
Board Support PackageBoard Support Package
Compare with Desktop Version:Compare with Desktop Version:Image SizeImage Size
Desktop WindowsDesktop Windows Windows 3.x : 2-5MBWindows 3.x : 2-5MB Windows 98 : 400MBWindows 98 : 400MB Windows XP : 1.5GBWindows XP : 1.5GB Lager and lager…Lager and lager… Can NOT be Can NOT be
customizedcustomized
Windows CEWindows CE Minimal : 200KBMinimal : 200KB Networking about Networking about
800KB800KB GWES, Shell and GWES, Shell and
Apps about 4MBApps about 4MB Internet Explorer Internet Explorer
about 3MBabout 3MB
Windows CE feature listWindows CE feature list ComponentizationComponentization
More than 200 optional componentsMore than 200 optional components
Quick and easy to customize OS for a Quick and easy to customize OS for a particular systemparticular system
Compare with Desktop Version:Compare with Desktop Version:Real TimeReal Time
Desktop WindowsDesktop Windows No No inherentinherent real real
time supporttime support
Windows CEWindows CE 256 levels of thread 256 levels of thread
prioritypriority Nested interruptsNested interrupts Per-thread quantumsPer-thread quantums Priority inversionPriority inversion
Windows CE feature list:Windows CE feature list:
Windows CE provide Real-time supportWindows CE provide Real-time support
Real-time support is essential when Real-time support is essential when dealing with time-critical applications.dealing with time-critical applications.
Compare with Desktop Version:Compare with Desktop Version:Power managementPower management
Desktop WindowsDesktop Windows No power No power
managementmanagement
Windows CEWindows CE Battery power / AC Battery power / AC
powerpower Devices can have their Devices can have their
own power stateown power state Turn off unnecessary Turn off unnecessary
devicedevice
Windows CE feature list:Windows CE feature list: Windows CE provides a Power Manager Windows CE provides a Power Manager
to manage device power and improve to manage device power and improve overall OS power efficiencyoverall OS power efficiency
Windows CE can reduce the power Windows CE can reduce the power consumption of a target device and to consumption of a target device and to maintain and preserve the file system maintain and preserve the file system in RAM during the reset, on, idle, and in RAM during the reset, on, idle, and suspend power states.suspend power states.
Compare with Desktop Version:Compare with Desktop Version:Programming InterfaceProgramming Interface
Desktop WindowsDesktop Windows ASCII / UNICODEASCII / UNICODE Rich API setRich API set Powerful hardware Powerful hardware
platformplatform
Windows CEWindows CE UNICODE onlyUNICODE only Compact Version of Compact Version of
Win32 API, MFC..Win32 API, MFC.. Processor, RAM, File Processor, RAM, File
System limitationSystem limitation
Windows CE feature list:Windows CE feature list: Windows CE only support UNICODEWindows CE only support UNICODE
CHAR -> TCHAR / WCHARCHAR -> TCHAR / WCHAR strlen -> wcslenstrlen -> wcslen
Some APIs provide limited functionSome APIs provide limited function Windows CE only have limited resourceWindows CE only have limited resource
Compare with Desktop Version:Compare with Desktop Version:Micro KernelMicro Kernel
Desktop WindowsDesktop Windows NT series is NT series is
claimed to be micro claimed to be micro kernel. kernel.
9x series is not 9x series is not micro kernel.micro kernel.
Windows CEWindows CE Complete micro kernelComplete micro kernel
File system and device File system and device drivers run on user drivers run on user modemode
Kernel is responsible for Kernel is responsible for passing messagepassing message
Windows CE feature list:Windows CE feature list: Complete micro kernelComplete micro kernel
Enhanced reliabilityEnhanced reliability
Enhanced scalabilityEnhanced scalability
Compare with Desktop Version:Compare with Desktop Version:Share source codeShare source code
Desktop WindowsDesktop Windows Commercial Commercial
software, source software, source code is MS 1st level code is MS 1st level secret. secret.
Windows CEWindows CE 70% of Windows CE 70% of Windows CE
5.0 source code is 5.0 source code is shared.shared.
User can modify it.User can modify it.
Windows CE feature list:Windows CE feature list: Source code is sharedSource code is shared
User can find shared source code User can find shared source code under “%_WINCEROOT%\private” under “%_WINCEROOT%\private” folderfolder
Compare with other Embedded Compare with other Embedded OS: Multimedia supportOS: Multimedia support
Other EOS:Other EOS: Little build-in support Little build-in support
for audio & videofor audio & video No commercial web No commercial web
browser.browser.
Windows CEWindows CE Rich UI elementRich UI element Windows Media Windows Media
Player 9, support Player 9, support mp3, wav, avi, mp3, wav, avi, wmv…wmv…
Internet Explorer 6 Internet Explorer 6 & Pocket IE& Pocket IE
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, adobe Pocket Word, Excel, PowerPoint, adobe readerreader
Pocket MSN messengerPocket MSN messenger Pocket IE, Windows Media PlayerPocket IE, Windows Media Player SQL Server CE editionSQL Server CE edition ACD SeeACD See … …… …
Compare with other Embedded Compare with other Embedded OS: Programming InterfaceOS: Programming Interface
Other EOS:Other EOS: Different Different
programming programming interfaceinterface
Typically use C/C++ & Typically use C/C++ & j2mej2me
Windows CEWindows CE Win32 APIWin32 API MFC, ATL, STL…MFC, ATL, STL… COM, ActiveXCOM, ActiveX .NET Compact .NET Compact
FrameworkFramework Java VMJava VM EVB, EVC…EVB, EVC…
Windows CE feature list:Windows CE feature list: Easy to get start for Windows Easy to get start for Windows
programmerprogrammer
Support multiple programming Support multiple programming languageslanguages
Compare with other Embedded Compare with other Embedded OS: image size and real timeOS: image size and real time
Other EOS:Other EOS: RTLinux, µC/OS-II RTLinux, µC/OS-II
support hard real support hard real timetime
Vxworks min size : 8kVxworks min size : 8k µC/OS-II min size : 2kµC/OS-II min size : 2k
Windows CEWindows CE No hard real time No hard real time
supportsupport Image size is too Image size is too
large for specific large for specific usageusage
Windows CE advantages:Windows CE advantages: Rich optional components and Rich optional components and
functions.functions. Can be strongly customized.Can be strongly customized. Easy to use.Easy to use. Same programming interface with Same programming interface with
desktop windows.desktop windows. Rich MS and third party applications.Rich MS and third party applications.
Windows CE Windows CE disadvantages:disadvantages: Image size is still too large for specific Image size is still too large for specific
use.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 ??
HomeworkHomework1.1. Build your own Windows CE platform Build your own Windows CE platform
with Platform Builder and run it.with Platform Builder and run it.
2.2. Be familiar with Windows CE GUI, File Be familiar with Windows CE GUI, File System structure, Control Panel…System structure, Control Panel…
3.3. Write a tic-tac-toe application with Write a tic-tac-toe application with Platform Builder and play it on your Platform Builder and play it on your own Windows CE platform.own Windows CE platform.