18
Windows CE Windows CE Development Development He Jianbang

Windows CE Development

  • Upload
    morela

  • View
    65

  • Download
    0

Embed Size (px)

DESCRIPTION

Windows CE Development. He Jianbang. Agenda. Introduction Features Overview Development Overview Tools Demonstration Roadmap How To Start Developing!. Wide Range Of Devices . Voice-over IP Devices. Gateways. Thin Clients. Set-Top Boxes. Digital Audio Receivers and Players. - PowerPoint PPT Presentation

Citation preview

Page 1: Windows CE Development

Windows CE DevelopmentWindows CE Development

He Jianbang

Page 2: Windows CE Development

22

AgendaAgenda

Introduction Introduction Features OverviewFeatures Overview Development OverviewDevelopment Overview Tools DemonstrationTools Demonstration RoadmapRoadmap How To Start Developing!How To Start Developing!

Page 3: Windows CE Development

33

Thin ClientsThin Clients

Digital Audio Digital Audio Receivers and PlayersReceivers and Players

Smart DisplaysSmart Displays

Voice-over IPVoice-over IPDevicesDevices

Medical DevicesMedical Devices

IndustrialIndustrialAutomationAutomation

Wide Range Of Devices Wide Range Of Devices

Mobile Mobile HandheldsHandhelds

Set-Top BoxesSet-Top Boxes

GatewaysGateways

Page 4: Windows CE Development

44

What Is Windows CE .NET?What Is Windows CE .NET?

Microsoft’s latest embedded OS platform Microsoft’s latest embedded OS platform 32-bit, real-time, Win32-based API32-bit, real-time, Win32-based API Easy to use, familiar development toolsEasy to use, familiar development tools Highly componentized, small-footprint Highly componentized, small-footprint Broad CPU supportBroad CPU support Full feature functionality and flexibilityFull feature functionality and flexibility Low cost tools and run-time licensingLow cost tools and run-time licensing

Page 5: Windows CE Development

55

Windows CE ArchitectureWindows CE ArchitectureOverview of Windows CE Architecture

The Hardware

The OEM Adaptation Layer

The Kernel Module

The File sys Module

The GWES Module

Communication Support

Page 6: Windows CE Development

66

Windows CE ArchitectureWindows CE Architecture

OEM HardwareOEM HardwareOEM HardwareOEM Hardware

Embedded ShellEmbedded ShellEmbedded ShellEmbedded Shell

ApplicationsApplicationsApplicationsApplications

WIN32 APIsWIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPICOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI

WIN32 APIsWIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPICOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI

Windows CE Shell ServicesWindows CE Shell ServicesWindows CE Shell ServicesWindows CE Shell Services

Remote Remote ConnectivityConnectivity

Remote Remote ConnectivityConnectivity

KernelKernelLibraryLibraryKernelKernelLibraryLibrary

IrDAIrDAIrDAIrDAGWESGWESGWESGWES Device Device ManagerManagerDevice Device

ManagerManagerFileFile

ManagerManagerFileFile

ManagerManagerTCP/IPTCP/IPTCP/IPTCP/IP

OALOALBootloaderBootloader

OALOALBootloaderBootloader DriversDriversDriversDrivers Device Device

driversdriversDevice Device driversdrivers File driversFile driversFile driversFile drivers

MicrosoftMicrosoftMicrosoftMicrosoft OEMOEMOEMOEM ISVISVISVISV

NetworkNetworkdriversdrivers

NetworkNetworkdriversdrivers

Page 7: Windows CE Development

77

The OEM Adaptation LayerThe OEM Adaptation LayerLayer between the kernel and the H/W

Coded by OEMs to adapt Win CE to their own platforms

Linked with processor-independent code provided by MS to build the kernel

Set of functions related to system startup, interrupt handling, power management, profiling, timer, and clock

Page 8: Windows CE Development

88

Shipping BSPs In 4.2Shipping BSPs In 4.2FamilyFamily CPUCPU SDB NameSDB Name BSPBSP KernelKernel

ARMARM

Intel SA1110Intel SA1110 Ship CSP for SA11x1Ship CSP for SA11x1 N/AN/A ARMV4ARMV4

Samsung S3C2410Samsung S3C2410ARM920ARM920

Samsung SMDK-2410 SDBSamsung SMDK-2410 SDBARM Integrator AP Dev KitARM Integrator AP Dev Kit

Samsung_2410Samsung_2410ARMIntegratorARMIntegrator ARMV4IARMV4I

Intel XScaleIntel XScale Intel Lubbock Platform Intel Lubbock Platform (DBPXA250)(DBPXA250) XSC1BDXSC1BD ARMV4ARMV4

ARMV4IARMV4I

MIPSMIPS

MIPS II flavorsMIPS II flavorsAlchemy DBAu1500 SDB (web Alchemy DBAu1500 SDB (web release)release)NEC DDB-Vr4122 (Eagle) SDB NEC DDB-Vr4122 (Eagle) SDB

DBAu1500DBAu1500EagleEagle MIPSIIMIPSII

MIPS IV flavors (NEC MIPS IV flavors (NEC Vr5432)Vr5432) NEC Solution Gear SeriesNEC Solution Gear Series SG2_VR5500SG2_VR5500

MIPSIIMIPSIIMIPSII_FPMIPSII_FPMIPSIVMIPSIVMIPSIV_FPMIPSIV_FP

SHxSHx

SH4SH4 Hitachi US7750 HARP SDB Hitachi US7750 HARP SDB (“Aspen”) (“Aspen”) AspenAspen SH4SH4

SH3SH3 Hitachi US7729 HARP SDB Hitachi US7729 HARP SDB (“Keywest”) (“Keywest”) KeywestKeywest SH3SH3

x86x86

X86 (Intel, AMD, Via, X86 (Intel, AMD, Via, SiS…)SiS…) Generic CE/PC machineGeneric CE/PC machine CEPCCEPC x86x86

Geode GX1 seriesGeode GX1 series National Pompano PlatformNational Pompano PlatformAny Geode based platformAny Geode based platform GeodeGeode x86x86

Page 9: Windows CE Development

99

BSP’sBSP’s

Platform Builder ships with at least one Platform Builder ships with at least one BSP for each supported processorBSP for each supported processor

Many 3rd party BSP’sMany 3rd party BSP’s Roll your own…Roll your own…

Page 10: Windows CE Development

1010

Board Support PackagesBoard Support Packages

ElementElement DescriptionDescription

Boot loaderBoot loader During development, downloads the During development, downloads the operating system (OS) images. operating system (OS) images.

OEM adaptation OEM adaptation layer (OAL) layer (OAL)

Links to the kernel image and supports Links to the kernel image and supports hardware initialization and management. hardware initialization and management.

Device drivers Device drivers Support peripherals on-board or are Support peripherals on-board or are attached at run time. attached at run time.

Configuration files Configuration files Once created, a BSP can be reconfigured Once created, a BSP can be reconfigured through environment variables and .bib and through environment variables and .bib and .reg file modifications. .reg file modifications.

The following table shows the elements that are contained in a board support package (BSP).

Page 11: Windows CE Development

1111

Windows CE Boot LoadersWindows CE Boot LoadersWindows CE Boot LoadersWindows CE Boot Loaders The boot loader is a utility that is an integral part of the OEM device development process and, in some cases, the boot loader is also included in the final OEM product. The general purpose of the boot loader is to place the OS image into memory and then jump to the OS startup routine. The boot loader can obtain the OS image in a number of different ways, including loading it over a cabled connection, such as Ethernet, universal serial bus (USB), or serial. The boot loader also loads the OS from a local storage device, such as Compact Flash, or hard disk. The boot loader may store the OS image in RAM or in nonvolatile storage, such as flash memory, electrically erasable programmable read only memory (EEPROM), or some other storage device for later use.

Page 12: Windows CE Development

1212

Windows CE Is DifferentWindows CE Is DifferentHardwareHardware

Desktop/Laptop PCDesktop/Laptop PC 2 GHz Pentium IV2 GHz Pentium IV 256 K 256 K 512 K cache 512 K cache 512 M 512 M 1 G DRAM 1 G DRAM 100 G hard drive100 G hard drive 1280x1024 display1280x1024 display 2 2 4 hour battery requirement 4 hour battery requirement 50 Watts50 Watts Keyboard & mouseKeyboard & mouse Extensible throughExtensible through

PCI, AGC, USB, EISA, 1394, PCI, AGC, USB, EISA, 1394, PC-Card, CF, enet, …PC-Card, CF, enet, …

DeviceDevice 400 MHz RISC400 MHz RISC 4 K 4 K 8K cache 8K cache 4 M 4 M ~32 M DRAM ~32 M DRAM 4 M 4 M ~32 M Flash / ROM ~32 M Flash / ROM 170x170 170x170 640x480 640x480 24 hour battery requirement24 hour battery requirement <1 to 2 Watts<1 to 2 Watts Stylus or ThumbStylus or Thumb Not very extensibleNot very extensible

PC-Card, SD, CFPC-Card, SD, CF

Page 13: Windows CE Development

1313

Device Device DevelopmentDevelopment

Builds and Builds and Brings Up DeviceBrings Up Device

Debug Debug Device Device Debug Debug Device Device

Build DeviceBuild DeviceImageImage

Build DeviceBuild DeviceImageImage

Component Component Catalog incl. Catalog incl.

.NET CF .NET CF

Component Component Catalog incl. Catalog incl.

.NET CF .NET CF

ApplicationApplicationDevelopmentDevelopment

Builds Rich Builds Rich ApplicationsApplications

Smart Device Smart Device ProgrammabilityProgrammabilitySmart Device Smart Device

ProgrammabilityProgrammability

Visual Studio .NETVisual Studio .NETVB/C#VB/C#

Visual Studio .NETVisual Studio .NETVB/C#VB/C#

eMbedded Visual eMbedded Visual C++ 4.0C++ 4.0

C/C++ MFC/ATLC/C++ MFC/ATL

eMbedded Visual eMbedded Visual C++ 4.0C++ 4.0

C/C++ MFC/ATLC/C++ MFC/ATL

Device UnderDevice Under

DevelopmentDevelopment

Development CycleDevelopment CycleFrom Platform To ApplicationsFrom Platform To Applications

Download Device Specific Download Device Specific Windows CE OS and ApplicationsWindows CE OS and Applications

via KITLvia KITL via KITLvia KITL

Export SDK with Device Specific Export SDK with Device Specific Win32 APIs or use Standard SDKWin32 APIs or use Standard SDK

Device Device EmulationEmulation

Platform Platform BuilderBuilder

Platform Platform BuilderBuilder

Page 14: Windows CE Development

1414

Windows CE .NETWindows CE .NETToolsTools

Operating System DevelopmentOperating System Development Platform BuilderPlatform Builder

Configuration, debugging tool for deploying an OSConfiguration, debugging tool for deploying an OS

Application DevelopmentApplication Development eMbedded Visual C++ 4.0 SP2eMbedded Visual C++ 4.0 SP2

““Native” application developmentNative” application development C, C++, MFC, ATLC, C++, MFC, ATL

Visual Studio.NET 2003Visual Studio.NET 2003 ““Managed” application developmentManaged” application development Visual Basic .NET, C# .NETVisual Basic .NET, C# .NET .NET Compact Framework.NET Compact Framework

Page 15: Windows CE Development

1515

Windows CE .NET RoadmapWindows CE .NET Roadmap

2002-20032002-2003 20042004

Version 4.2Version 4.2 RG, VoIP optimizationsRG, VoIP optimizations IE 6, WM9IE 6, WM9 .NET CF RTM.NET CF RTM App compat w/ PPCApp compat w/ PPC New “Core” licenseNew “Core” license

2005+2005+

““Macallan”Macallan” Faster time to marketFaster time to market Adaptive device intelligenceAdaptive device intelligence Multimedia capture, encodingMultimedia capture, encoding Direct3D MobileDirect3D Mobile Enhanced securityEnhanced security

““Next Next Major OS Major OS Release”Release”

““Visual Studio for Visual Studio for Yukon”Yukon”

““Visual Visual Studio for Studio for Longhorn”Longhorn”

VS.NET 2003VS.NET 2003 Smart Device Smart Device

Programmability RTMProgrammability RTM .NET Compact Framework .NET Compact Framework

v1.0 RTMv1.0 RTM

Page 16: Windows CE Development

1616

Why Windows CE .NET?Why Windows CE .NET?

Technology portfolio depthTechnology portfolio depth Low total cost of developmentLow total cost of development Customization and differentiationCustomization and differentiation Development and marketing supportDevelopment and marketing support

Page 17: Windows CE Development

1717

Start Building Devices!Start Building Devices! Follow Me Step By Step…Follow Me Step By Step… Read the How-Tos and TutorialsRead the How-Tos and Tutorials

http://msdn.microsoft.com/embedded/getstart/basics/tutorialsce/defaulthttp://msdn.microsoft.com/embedded/getstart/basics/tutorialsce/default.aspx.aspx

Participate in Participate in newsgroups, chats, eventsnewsgroups, chats, events http://www.microsoft.com/windows/embedded/communityhttp://www.microsoft.com/windows/embedded/community

Get deep technical information and documentation updates Get deep technical information and documentation updates http://http://msdn.microsoft.commsdn.microsoft.com/embedded/embedded

Engage with Windows Embedded PartnersEngage with Windows Embedded Partners http://http://www.mswep.comwww.mswep.com

Page 18: Windows CE Development

1818

Key WordsKey Words PlatForm Builder & EVCPlatForm Builder & EVC BSP & OALBSP & OAL SDKSDK Eboot.nb0 &NK.bin Eboot.nb0 &NK.bin