1 / 30

Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporati

Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-303. Agenda. Introduction to Platform Builder New Platform Builder 3.0 features IDE Kernel debugging HW assisted debugging Data Visualization Model Product demos

dyan
Download Presentation

Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Debugging Windows® CE Applications And SystemsDavid StreamsLead Program ManagerWindows CE ToolsMicrosoft Corporation8-303

  2. Agenda • Introduction to Platform Builder • New Platform Builder 3.0 features • IDE Kernel debugging • HW assisted debugging • Data Visualization Model • Product demos • Questions and answers

  3. 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

  4. 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

  5. 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

  6. Connectivity Integration • PB 3.0 incorporates connectivity settings into the integrated development environment • Users select and configure transports used by embedded tools

  7. Connectivity Integration Users can then configure their specific transport settings in the appropriate tab

  8. Download And Boot Now Integrated Into IDE Target Menu utilizes settings defined in connectivity settings dialog

  9. 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.

  10. DebuggingPlatform Builder 3.0 Device Images

  11. 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 debuggingto embedded development

  12. 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

  13. (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

  14. Demo: Kernel Debugging • Platform Builder 3.0 • Integration of Host/Target Connectivity • Integrated Download and Boot • CESH Integration • Kernel Debugger

  15. Hardware Assist: Software Model (Data Breakpoints) • Software Model versus Hardware Model • SW model does not require specialized HW • OEM can configure run control behavior (step in ROM is possible) • Data breakpoints • Previous model: Software emulation • Debugger took single steps (by instruction) • At every single step, evaluate location • 3.0 Model: Use HW registers, when available

  16. Demo: SW Model HW Assist • Platform Builder 3.0 • ODO Platform with SH3 CPU • OAL modified to utilize debug registers for data breakpoints • Application downloaded to target modifies a given address • Data breakpoint set on that address hitting a certain value • Performance of hw usage versus software emulation

  17. HW-Modeled Hardware Assist: Motivation • OEM Challenge: Building and debugging the OAL • OAL code executed prior to KDInit (OEMInit, bootloader, …) • Kernel Debugging too intrusive in some cases • Hardware Debugging is an essential part of the embedded tool chain • Existing tools (Probes, ICE, associated SW) • Ad Hoc tool chains • Proprietary interfaces • Very difficult to use

  18. Hardware Assist: Goals • Bring solution to market • Leverage third-party expertise through partnering • Focal points • Ease of use • Integration with PB’s existing tool set • Flexibility • Extensibility

  19. 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

  20. Embedded ExtendedDebug Interface (eXDI) eXDI Callback Debugger (PB) Probe (JTAG,BDM…) or Emulator Driver eXDI Server eXDI Callback Plug-ins CPU Plug-ins Plug-ins Optional 3rd party int’f Plug-ins eXDI provides mainly Target Run Control, Mem / IO / Reg. Access and State Change Notification to clients

  21. Demo: HW Model HW Assist • Platform Builder 3.0 • AMC Custom Foundation CE Platform with PPC 821 CPU • eXDI driver written by AMC to communicate with eXDI Server and PB • We will debug prior to Kernel Init (OEMInit) • Plug-In Demo: Download without Bootloader

  22. Hardware Assist: Closure • Debugging capability is extensible • Third parties can write tools to interface with HW through eXDI and plug-in model (Real-Time Trace, Flash programming,…) • Debugging functionality is expanded • Debug where we never have before:from CPU Reset to Kernel Init – code in ROM – OAL critical code • True HW BPs (code and data), true Target halt • Very low intrusiveness • Debugging experience is unique • In the IDE, HW debugging is transparent to the user • Never before has the power of HW debugging been combined with the ease of use of our desktop experience

  23. Data Visualization: Overview • Embedded Development Complexity versus Desktop Development • Connectivity across the wire • Limited resources on the target • Specialized hardware, systems • Graphical display of data to reduce complexity and visualize system state • Integration with PB

  24. Data Visualization: Architecture • Target-side information drives host-UI • Collector/Viewer Model • Target: Collector Manager and Collectors • Host: Viewer Manager and Viewers

  25. Data Visualization Tools: Flagship Product • Kernel Event Viewer (KEV) • Proof of concept • MS expertise in Kernel • KEV features • Time-based linear display ofsystem synchronicity events • Event-sensitive Search capabilities • Support for user-defined events

  26. Data Visualization: Partnering • Collector/Viewer Plug-In Model is available now! • Partners already implementing solutions • Contact us today!

  27. Summary • Platform Builder 3.0 now supports hardware assisted Debugging • Software Model and Hardware Model • Extensibility allows for third-party value • PB 3.0 now supports extensibility through Data Visualization Model • Final PB 3.0 product available soon! • Product and availability information at http://www.microsoft.com/windowsce/embedded

  28. Questions?

More Related