Using the eXDI2 Helpers (Windows Embedded CE 6.0)
1/5/2010
eXDI provides a collection of common helper modules that are reusable in any driver. The helper modules are packaged as in-process COM objects.
If you are writing an eXDI driver, you can select helpers to include in your driver on an as-needed basis, minimizing the amount of driver-specific code needed. For example, if you are writing a driver for a hardware probe that does not support data breakpoints, you can use the data breakpoint emulation helper to add that functionality to your design.
The following table describes the helper elements:
Helper | Description |
---|---|
Automation |
Provides a custom interface re-mapping for automation objects. |
Breakpoint step-over and restart (BP SOAR) |
Allows the target to transparently resume execution past a breakpoint. |
Breakpoint resource optimizer |
Allows breakpoint aliasing for separate instances of a breakpoint at the same location. |
Data breakpoint emulation |
Emulates a data breakpoint when not supported by the underlying hardware. |
Exception filtering |
Filters exception halt notifications based on user settings. |
Memory cache |
Caches target memory on the target device while the target is halted. |
Memory manipulations |
Provides common memory manipulation operations, such as search, copy, compare, and fill, when not supported by the underlying hardware. |
Memory map filter |
Filters access to memory addresses that are not supported by the underlying hardware. |
Notification |
Notifies client of debugging events such as memory changes and run-state changes. In addition, the notification helpers obtain client authorization for restarting execution on the target device. |
Single Stepping |
Provides single stepping using breakpoints when not available on the underlying hardware. |
Most helper modules provide functionalities that can be offered directly in a probe. The helpers use the eXDI memory interface IeXdi2Mem, the execution interfaces IeXdi2Exec, and a specific generic interface, IeXdi2HelperGeneric.