320 likes | 601 Views
Building Embedded Systems With Windows ® CE Platform Builder 3.0 David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-304. Agenda. Introduction Feature overview Using the Integrated Development Environment (IDE) to configure the OS New Platform Builder 3.0 features
E N D
Building Embedded Systems With Windows® CE Platform Builder 3.0David StreamsLead Program ManagerWindows CE ToolsMicrosoft Corporation8-304
Agenda • Introduction • Feature overview • Using the Integrated Development Environment (IDE) to configure the OS • New Platform Builder 3.0 features • IDE kernel debugging, HW assisted debugging • Platform Builder 3.0 walkthrough and demonstration • Questions and answers
Platform Builder Integrated Development EnvironmentPlatform pane (component tab) • Component view • Used toconfigure your platform components • IDE saves your platform state • .wce workspace • Components • Build rules • Platform settings
Platform Builder IDEProject pane • Configure\build user apps and components • Project Pane parallels Visual C++® • Class, file and resource views • Project state saved as .pbp (~VC++ .dsp) • Build against Sysgen’d platform .h .libs
Configuring Your Platform • Configuring existing components • New Platform Wizard • Platform Builder Catalog • Import from sources\dirs • Creating new platform components • Create .exe, .dll, console apps, etc • Platform Builder Projects (.pbp)
Platform Builder Catalog Catalog –Contains superset of available components Logical abstraction – Choose logical type groupings and resolveto components in Platform Pane Extensible –Add new components to catalog via .cec files
Windows CE Build Process • Sysgen – generates system headers and libraries • Build – application and board support components are built • BuildRel – Copies sysgen and build files to release directory • MakeImg – Packages all files into single binary file NK.bin
Sysgen Build Process • Command Line Build • Developers modify cesysgen.bat and the sysgen process builds the OS modules referenced in the batch file • Platform Builder IDE • Core OS is bundled in IDE as a single component consisting of many child components • Core OS (sysgen) components are configured using platform settings
Sysgen IDE Build Settings • Use the IDE to configure core OS component
Building Individual Components • User components and drivers • Any user components included in the Platform pane will be built individually • IDE supports custom build methods • Platform Builder Projects (pbp) • Dirs\Sources • File copy • Custom build command
MakeImg IDE Build ProcessPlatform Pane\Parameter View Modify settings that are consumed by MakeImg build tool *.bib files – add files to binary image (NK.bin) *.reg files – Used to set registry keys *.dat files – define dir and file location of CE OS *.db files – defines database
MakeImg IDE Build Process • Platform\Settings Menu • Easily edit global environment variables • Simply click Build\Build Platform menu to refresh NK.bin
Creating CustomPlatform SDKs • Why? • Enable team collaboration • Application and component developers can target their embedded platform from Windows CE tools • Easily create an open platform • Allow third party developers to build value-added components and applications after their platform ships • How? • Use the Platform Builder‘Export SDK’ feature
Creating Platform SDKs • What does ‘Export SDK’ do? • Packages all pertinent files into a single installable .EXE file • Platform\Runtime include files and libraries • Pertinent sources • Default and custom host\target communication transports
New PB 3.0 Tools Features • Usability/ease of use • Configuration improvements • Connectivity/download integration • IDE manages/communicates state of tools • Debugger integration • CPU add-in model • Entire product (IDE, Wizards, Debugger, etc) capable of supporting a new CPU that ships after PB releases • Extensibility • New hardware debug APIs • Tools plug-in model
Configuration AndBuild Improvements • Better support for custom configs • IDE displays custom coreOS configurations • Platform settings are dynamically generated from data in the .CEC file • Data-driven wizards and settings • More granular control overbuild settings
Connectivity Integration • PB 3.0 incorporates connectivity settings into the integrated development environment • Users select and configure transports used by embedded tools
Connectivity Integration Users can then configure their specific transport settings in the appropriate tab
Download And Boot Now Integrated Into IDE Target Menu utilizes settings defined in connectivity settings dialog
CESH (Target Control)Now Integrated • Process and Thread Windows now serve dual purposes • Debugger populates windows during break state • Shell.exe (CESH) populates windows duringrun state • Ability to refresh views after state change • CESH commands now integrated as features in the IDE • Ability to start and stop processes, view process\thread info, set debug zones, set debug break, etc.
Platform Builder 2.12 Debugger Experience • Good news • Integrated the kernel debugger into the IDE • Supported many windbg debugger commands in the IDE • !Process • !thread stack • Brought the benefits ofintegrated application debugging to embedded development
PB 3.0 Debugger Enhancements • Continuity: Intuitive work flow • Debugger no longer tied to projects • Build from IDE:Debug seamlessly from platform • Build from Command: Target nk.bin • Enable kernel debugger with theclick of a button • 3.0 gives the developer a checkbox to enable debugging + adds debugger stub by default for debug configuration
(More) Debugger Enhancements • Communication and control • Status Monitor, Status Strings • IDE is State-Aware • New UI: Processes, Threads, Call-stack, and more… • New Manual/Auto Logging functionality
Demo • Platform Builder 3.0 • Integration of Host/Target Connectivity • Integrated Download and Boot • CESH Integration • Kernel Debugger
Hardware Assist: Motivation • OEM Challenge: Building and debugging the OAL • OAL code executed prior to KDInit • PB 2.12 KDBG insufficient • Hardware Debugging is an essential part of the embedded tool chain • Existing tools (Probes, ICE, associated SW) • Ad Hoc tool chains • Proprietary interfaces • Expensive • Very difficult to use
Hardware Assist: Solution • Embedded Extended Debugging Interface • API sits between our debugger andthird party drivers • Drivers communicate with existing hardware tools and proprietary interfaces • IDE does not need to know probe details • Third-party tools plug-in model • Port existing and new probe software and tools • These tools integrate with PB IDE • Currently: AMC, Microtek Int’l, Macraigor
Hardware Assist: Closure • Debugging capability is extensible • Third parties can write tools to interface with HW through eXDI and plug-in model • Debugging functionality is expanded • Debug where we never have before:prior to Kernel Init • True HW BPs, true Target halt, Run control • Aids OEMs in debugging the OAL more effectively • Debugging experience is unique • In the IDE, HW debugging is transparent to the user • Never before has the power of HW debuggingbeen combined with the ease of use of ourdesktop experience
Data Visualization Tools • Target information drivesHost-Side Tools • Third-party plug-in support • Viewer/Collector Model • Flagship: Kernel Event Viewer (KEV) • Time-based linear display ofsystem and custom events • Event-sensitive Search capabilities
Summary • Platform Builder 3.0 now supports fullend-to-end platform development • From an integrated development environment • Final PB 3.0 product available soon! • Product and availability information at http://www.microsoft.com/windowsce/embedded