Debugging Windows CE Applications And Systems

Download Report

Transcript Debugging Windows CE Applications And Systems

®
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
Questions and answers
Platform Builder Integrated
Development Environment
Platform Pane (Component Tab)

Component view


Used to
configure your
platform components
IDE saves your
platform state

.wce workspace



Components
Build rules
Platform settings
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
New PB 3.0 Tools Features

Usability/ease of use


Configuration improvements
Connectivity/download integration



Debugger integration
CPU add-in model


IDE manages/communicates state of tools
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
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 during
run 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.
Debugging
Platform Builder 3.0
Device Images
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 of
integrated 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 the
click 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: Kernel Debugging

Platform Builder 3.0




Integration of Host/Target Connectivity
Integrated Download and Boot
CESH Integration
Kernel Debugger
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
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
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
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
Hardware Assist: Solution

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



Port existing and new probe software
and tools
These tools integrate with PB IDE
Currently: AMC, Microtek Int’l, Macraigor
Embedded Extended
Debug Interface (eXDI)
eXDI
Callback
Debugger
(PB)
Probe
eXDI
Server
Plug-ins
Plug-ins
Plug-ins
Plug-ins
(JTAG,BDM…)
or Emulator
Driver
eXDI
Callback
3rd
Optional
party int’f
CPU
eXDI provides mainly Target Run Control, Mem / IO / Reg.
Access and State Change Notification to clients
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
Hardware Assist: Closure

Debugging capability is extensible


Debugging functionality is expanded




Third parties can write tools to interface with HW
through eXDI and plug-in model (Real-Time Trace,
Flash programming,…)
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
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
Data Visualization:
Architecture


Target-side information drives host-UI
Collector/Viewer Model


Target: Collector Manager and Collectors
Host: Viewer Manager and Viewers
Data Visualization Tools:
Flagship Product

Kernel Event Viewer (KEV)



Proof of concept
MS expertise in Kernel
KEV features



Time-based linear display of
system synchronicity events
Event-sensitive Search capabilities
Support for user-defined events
Data Visualization:
Partnering



Collector/Viewer Plug-In Model is
available now!
Partners already implementing solutions
Contact us today!
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
Questions?