Presentation is loading. Please wait.

Presentation is loading. Please wait.

Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-303.

Similar presentations


Presentation on theme: "Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-303."— Presentation transcript:

1 Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-303

2

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

4 Platform Builder Integrated Development Environment Platform Pane (Component Tab) Component view Component view  Used to configure your platform components IDE saves your platform state IDE saves your platform state .wce workspace  Components  Build rules  Platform settings

5 Platform Builder Catalog Catalog – Contains superset of available components Logical abstraction – Choose logical type groupings and resolve to components in Platform Pane Extensible – Add new components to catalog via.cec files

6 New PB 3.0 Tools Features Usability/ease of use Usability/ease of use  Configuration improvements  Connectivity/download integration  IDE manages/communicates state of tools  Debugger integration CPU add-in model CPU add-in model  Entire product (IDE, Wizards, Debugger, etc) capable of supporting a new CPU that ships after PB releases Extensibility Extensibility  New hardware debug APIs  Tools plug-in model

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

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

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

10 CESH (Target Control) Now Integrated Process and Thread Windows now serve dual Process and Thread Windows now serve dual purposes  Debugger populates windows during break state  Shell.exe (CESH) populates windows during run state  Ability to refresh views after state change CESH commands now integrated as features in the IDE 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.

11 Debugging Platform Builder 3.0 Device Images

12 Platform Builder 2.12 Debugger Experience Good news Good news  Integrated the kernel debugger into the IDE  Supported many windbg debugger commands in the IDE  !Process  !thread stack  Brought the benefits of integrated application debugging to embedded development

13 PB 3.0 Debugger Enhancements Continuity: Intuitive work flow 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 the click of a button  3.0 gives the developer a checkbox to enable debugging + adds debugger stub by default for debug configuration

14 (More) Debugger Enhancements Communication and control Communication and control  Status Monitor, Status Strings  IDE is State-Aware  New UI: Processes, Threads, Call-stack, and more…  New Manual/Auto Logging functionality

15 Demo: Kernel Debugging Platform Builder 3.0 Platform Builder 3.0  Integration of Host/Target Connectivity  Integrated Download and Boot  CESH Integration  Kernel Debugger

16 Hardware Assist: Software Model (Data Breakpoints) Software Model versus Hardware Model 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 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

17 Demo: SW Model HW Assist Platform Builder 3.0 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

18 HW-Modeled Hardware Assist: Motivation OEM Challenge: Building and debugging the OAL 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 Hardware Debugging is an essential part of the embedded tool chain Existing tools (Probes, ICE, associated SW) Existing tools (Probes, ICE, associated SW)  Ad Hoc tool chains  Proprietary interfaces  Very difficult to use

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

20 Hardware Assist: Solution Embedded Extended Debugging Interface Embedded Extended Debugging Interface  API sits between our debugger and third 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 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

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

22 Demo: HW Model HW Assist Platform Builder 3.0 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

23 Platform Builder Hardware Assist Demonstration

24 Hardware Assist: Closure Debugging capability is extensible 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 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 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

25 Data Visualization: Overview Embedded Development Complexity versus Desktop Development 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 Graphical display of data to reduce complexity and visualize system state Integration with PB Integration with PB

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

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

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

29 Summary Platform Builder 3.0 now supports hardware assisted Debugging 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 PB 3.0 now supports extensibility through Data Visualization Model Final PB 3.0 product available soon! Final PB 3.0 product available soon!  Product and availability information at http://www.microsoft.com/windowsce/ embedded

30 Questions?

31


Download ppt "Debugging Windows ® CE Applications And Systems David Streams Lead Program Manager Windows CE Tools Microsoft Corporation 8-303."

Similar presentations


Ads by Google