building embedded systems with windows ® ce platform builder 3.0 david streams lead program manager...

32
Building Embedded Building Embedded Systems With Windows Systems With Windows ® ® CE Platform Builder CE Platform Builder 3.0 3.0 David Streams David Streams Lead Program Manager Lead Program Manager Windows CE Tools Windows CE Tools Microsoft Corporation Microsoft Corporation 8-304 8-304

Upload: kellen-samuel

Post on 31-Mar-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Building Embedded Building Embedded Systems With WindowsSystems With Windows®® CE CE Platform Builder 3.0Platform Builder 3.0

David StreamsDavid StreamsLead Program ManagerLead Program ManagerWindows CE ToolsWindows CE ToolsMicrosoft CorporationMicrosoft Corporation

8-3048-304

Page 2: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304
Page 3: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

AgendaAgenda

IntroductionIntroduction Feature overviewFeature overview

Using the Integrated Development Using the Integrated Development Environment (IDE) to configure the OSEnvironment (IDE) to configure the OS

New Platform Builder 3.0 featuresNew Platform Builder 3.0 features IDE kernel debugging, HW IDE kernel debugging, HW

assisted debugging assisted debugging Platform Builder 3.0 walkthrough Platform Builder 3.0 walkthrough

and demonstrationand demonstration Questions and answersQuestions and answers

Page 4: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Platform Builder Integrated Platform Builder Integrated Development EnvironmentDevelopment EnvironmentPlatform pane (component tab)Platform pane (component tab)

Component viewComponent view Used toUsed to

configure your configure your platform componentsplatform components

IDE saves your IDE saves your platform stateplatform state .wce workspace.wce workspace

ComponentsComponents Build rulesBuild rules Platform settingsPlatform settings

Page 5: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Platform Builder IDEPlatform Builder IDEProject paneProject pane

Configure\build Configure\build user apps and user apps and componentscomponents

Project Pane Project Pane parallels parallels Visual C++Visual C++®®

Class, file and Class, file and resource viewsresource views

Project state Project state saved as .pbp saved as .pbp (~VC++ .dsp)(~VC++ .dsp)

Build against Build against Sysgen’d Sysgen’d platform .h .libsplatform .h .libs

Page 6: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Configuring Your Platform Configuring Your Platform

Configuring existing componentsConfiguring existing components New Platform WizardNew Platform Wizard Platform Builder CatalogPlatform Builder Catalog Import from sources\dirsImport from sources\dirs

Creating new platform componentsCreating new platform components Create .exe, .dll, console apps, etcCreate .exe, .dll, console apps, etc Platform Builder Projects (.pbp)Platform Builder Projects (.pbp)

Page 7: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Platform Builder CatalogPlatform Builder Catalog

Catalog –Catalog –Contains superset of Contains superset of available componentsavailable components

Logical abstraction –Logical abstraction – Choose logical type Choose logical type groupings and resolvegroupings and resolveto components in to components in Platform PanePlatform Pane

Extensible –Extensible –Add new components to Add new components to catalog via .cec filescatalog via .cec files

Page 8: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Windows CE Build ProcessWindows CE Build Process

Sysgen – generates system headers Sysgen – generates system headers and librariesand libraries

Build – application and board support Build – application and board support components are built components are built

BuildRel – Copies sysgen and build BuildRel – Copies sysgen and build files to release directoryfiles to release directory

MakeImg – Packages all files into MakeImg – Packages all files into single binary file NK.binsingle binary file NK.bin

Page 9: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Sysgen Build ProcessSysgen Build Process

Command Line BuildCommand Line Build Developers modify cesysgen.bat and the Developers modify cesysgen.bat and the

sysgen process builds the OS modules sysgen process builds the OS modules referenced in the batch filereferenced in the batch file

Platform Builder IDE Platform Builder IDE Core OS is bundled in IDE as a single Core OS is bundled in IDE as a single

component consisting of many component consisting of many child componentschild components

Core OS (sysgen) components are Core OS (sysgen) components are configured using platform settingsconfigured using platform settings

Page 10: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Sysgen IDE Build SettingsSysgen IDE Build Settings

Use the IDE to configure core Use the IDE to configure core OS componentOS component

Page 11: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Building Individual Building Individual ComponentsComponents User components and driversUser components and drivers

Any user components included in the Any user components included in the Platform pane will be built individuallyPlatform pane will be built individually

IDE supports custom build methodsIDE supports custom build methods Platform Builder Projects (pbp)Platform Builder Projects (pbp) Dirs\SourcesDirs\Sources File copyFile copy Custom build commandCustom build command

Page 12: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

MakeImg IDE Build ProcessMakeImg IDE Build ProcessPlatform Pane\Parameter ViewPlatform Pane\Parameter View

Modify settings that Modify settings that are consumed by are consumed by MakeImg build toolMakeImg build tool

*.bib files – add files to *.bib files – add files to binary image (NK.bin)binary image (NK.bin)

*.reg files – Used to set *.reg files – Used to set registry keys registry keys

*.dat files – define dir *.dat files – define dir and file location of CE and file location of CE OSOS

*.db files – defines *.db files – defines databasedatabase

Page 13: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

MakeImg IDE Build ProcessMakeImg IDE Build Process

Platform\Settings MenuPlatform\Settings Menu Easily edit global environment variables Easily edit global environment variables Simply click Build\Build Platform menu to Simply click Build\Build Platform menu to

refresh NK.binrefresh NK.bin

Page 14: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Creating CustomCreating CustomPlatform SDKsPlatform SDKs Why?Why?

Enable team collaborationEnable team collaboration Application and component developers Application and component developers

can target their embedded platform from can target their embedded platform from Windows CE toolsWindows CE tools

Easily create an open platformEasily create an open platform Allow third party developers to build Allow third party developers to build

value-added components and value-added components and applications after their platform shipsapplications after their platform ships

How?How? Use the Platform BuilderUse the Platform Builder

‘Export SDK’ feature‘Export SDK’ feature

Page 15: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Creating Platform SDKs Creating Platform SDKs

What does ‘Export SDK’ do?What does ‘Export SDK’ do? Packages all pertinent files into a single Packages all pertinent files into a single

installable .EXE fileinstallable .EXE file Platform\Runtime include files and librariesPlatform\Runtime include files and libraries Pertinent sourcesPertinent sources Default and custom host\target Default and custom host\target

communication transportscommunication transports

Page 16: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

New PB 3.0 Tools FeaturesNew PB 3.0 Tools Features

Usability/ease of useUsability/ease of use Configuration improvementsConfiguration improvements Connectivity/download integrationConnectivity/download integration

IDE manages/communicates state of toolsIDE manages/communicates state of tools

Debugger integrationDebugger integration CPU add-in modelCPU add-in model

Entire product (IDE, Wizards, Debugger, etc) Entire product (IDE, Wizards, Debugger, etc) capable of supporting a new CPU that ships capable of supporting a new CPU that ships after PB releasesafter PB releases

ExtensibilityExtensibility New hardware debug APIsNew hardware debug APIs Tools plug-in modelTools plug-in model

Page 17: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Configuration AndConfiguration AndBuild ImprovementsBuild Improvements Better support for custom configs Better support for custom configs

IDE displays custom coreIDE displays custom coreOS configurations OS configurations

Platform settings are dynamically Platform settings are dynamically generated from data in the .CEC filegenerated from data in the .CEC file

Data-driven wizards and settingsData-driven wizards and settings More granular control overMore granular control over

build settingsbuild settings

Page 18: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Connectivity IntegrationConnectivity Integration

PB 3.0 incorporates connectivity settings into the PB 3.0 incorporates connectivity settings into the integrated development environmentintegrated development environment

Users select and configure transports used by Users select and configure transports used by embedded toolsembedded tools

Page 19: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Connectivity IntegrationConnectivity Integration

Users can then configure their specific Users can then configure their specific transport settings in the appropriate tabtransport settings in the appropriate tab

Page 20: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Download And Boot Now Download And Boot Now Integrated Into IDEIntegrated Into IDE

Target Menu utilizes settings defined in Target Menu utilizes settings defined in connectivity settings dialogconnectivity settings dialog

Page 21: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

CESH (Target Control)CESH (Target Control)Now IntegratedNow Integrated Process and Thread Windows now serve Process and Thread Windows now serve

dual purposesdual purposes Debugger populates windows during break stateDebugger populates windows during break state Shell.exe (CESH) populates windows duringShell.exe (CESH) populates windows during

run staterun state Ability to refresh views after state changeAbility to refresh views after state change

CESH commands now integrated as features CESH commands now integrated as features in the IDEin the IDE Ability to start and stop processes, view process\Ability to start and stop processes, view process\

thread info, set debug zones, set debug break, thread info, set debug zones, set debug break, etc.etc.

Page 22: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Platform Builder 2.12 Platform Builder 2.12 Debugger ExperienceDebugger Experience Good newsGood news

Integrated the kernel debugger into the IDEIntegrated the kernel debugger into the IDE Supported many windbg debugger Supported many windbg debugger

commands in the IDEcommands in the IDE !Process!Process !thread stack!thread stack

Brought the benefits ofBrought the benefits ofintegrated application debugging to integrated application debugging to embedded developmentembedded development

Page 23: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

PB 3.0 Debugger PB 3.0 Debugger EnhancementsEnhancements Continuity: Intuitive work flow Continuity: Intuitive work flow

Debugger no longer tied to projectsDebugger no longer tied to projects Build from IDE:Build from IDE:

Debug seamlessly from platform Debug seamlessly from platform Build from Command: Target nk.binBuild from Command: Target nk.bin

Enable kernel debugger with theEnable kernel debugger with theclick of a buttonclick of a button 3.0 gives the developer a checkbox to 3.0 gives the developer a checkbox to

enable debugging + adds debugger stub enable debugging + adds debugger stub by default for debug configurationby default for debug configuration

Page 24: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

(More) Debugger (More) Debugger EnhancementsEnhancements Communication and controlCommunication and control

Status Monitor, Status StringsStatus Monitor, Status Strings IDE is State-AwareIDE is State-Aware New UI: Processes, Threads, Call-stack, New UI: Processes, Threads, Call-stack,

and more…and more… New Manual/Auto Logging functionalityNew Manual/Auto Logging functionality

Page 25: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

DemoDemo

Platform Builder 3.0 Platform Builder 3.0 Integration of Host/Target ConnectivityIntegration of Host/Target Connectivity Integrated Download and BootIntegrated Download and Boot CESH IntegrationCESH Integration Kernel DebuggerKernel Debugger

Page 26: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Hardware Assist: MotivationHardware Assist: Motivation

OEM Challenge: Building and debugging OEM Challenge: Building and debugging the OALthe OAL OAL code executed prior to KDInitOAL code executed prior to KDInit PB 2.12 KDBG insufficientPB 2.12 KDBG insufficient

Hardware Debugging is an essential part of Hardware Debugging is an essential part of the embedded tool chainthe embedded tool chain

Existing tools (Probes, ICE, associated SW)Existing tools (Probes, ICE, associated SW) Ad Hoc tool chainsAd Hoc tool chains Proprietary interfacesProprietary interfaces ExpensiveExpensive Very difficult to useVery difficult to use

Page 27: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Hardware Assist: SolutionHardware Assist: Solution

Embedded Extended Embedded Extended Debugging Interface Debugging Interface API sits between our debugger andAPI sits between our debugger and

third party driversthird party drivers Drivers communicate with existing Drivers communicate with existing

hardware tools and proprietary interfaceshardware tools and proprietary interfaces IDE does not need to know probe detailsIDE does not need to know probe details

Third-party tools plug-in modelThird-party tools plug-in model Port existing and new probe software Port existing and new probe software

and toolsand tools These tools integrate with PB IDEThese tools integrate with PB IDE Currently: AMC, Microtek Int’l, MacraigorCurrently: AMC, Microtek Int’l, Macraigor

Page 28: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Hardware Assist: ClosureHardware Assist: Closure Debugging capability is extensibleDebugging capability is extensible

Third parties can write tools to interface with HW Third parties can write tools to interface with HW through eXDI and plug-in modelthrough eXDI and plug-in model

Debugging functionality is expandedDebugging functionality is expanded Debug where we never have before:Debug where we never have before:

prior to Kernel Initprior to Kernel Init True HW BPs, true Target halt, Run controlTrue HW BPs, true Target halt, Run control Aids OEMs in debugging the OAL more effectively Aids OEMs in debugging the OAL more effectively

Debugging experience is uniqueDebugging experience is unique In the IDE, HW debugging is transparent to the userIn the IDE, HW debugging is transparent to the user Never before has the power of HW debuggingNever before has the power of HW debugging

been combined with the ease of use of ourbeen combined with the ease of use of ourdesktop experiencedesktop experience

Page 29: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Data Visualization ToolsData Visualization Tools

Target information drivesTarget information drivesHost-Side ToolsHost-Side Tools

Third-party plug-in supportThird-party plug-in support Viewer/Collector ModelViewer/Collector Model

Flagship: Kernel Event Viewer (KEV)Flagship: Kernel Event Viewer (KEV) Time-based linear display ofTime-based linear display of

system and custom eventssystem and custom events Event-sensitive Search capabilitiesEvent-sensitive Search capabilities

Page 30: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

SummarySummary

Platform Builder 3.0 now supports fullPlatform Builder 3.0 now supports fullend-to-end platform developmentend-to-end platform development From an integrated development From an integrated development

environmentenvironment Final PB 3.0 product available soon!Final PB 3.0 product available soon!

Product and availability information at Product and availability information at http://www.microsoft.com/windowsce/http://www.microsoft.com/windowsce/embeddedembedded

Page 31: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304

Questions?Questions?

Page 32: Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304