The Data Monitor and Control Interface (DMCI) is a plugin used with the MPLAB®X IDE that allows a developer to interact with an application while the application program is running. DMCI provides a graphical user interface which operates within the IDE enabling the developer to examine or modify the contents of application variables without having to halt the application during a debug session.
By allowing the developer to modify and examine the effect of system parameter changes without having to recompile after each modification, the DMCI can reduce the debugging time needed for complex embedded applications.
DMCI Operating Modes
Data Monitor and Control Interface (DMCI) has 3 basic capabilities:
1 Modify/Capture on Break
The primary purpose of DMCI is to allow the user to modify and observe variables and memory locations during a debug session. Modify/Capture on Break allows the user to modify variables though GUI elements (such as sliders and check boxes) when a debug session is "paused" or encounters a break point. After setting the variable values the debug session is resumed. When the debug session is paused again or reaches the next break point the value of variables in the MCU memory can be brought back to the IDE.
Works with the MPLAB® REAL ICE™, the ICD3 programmer/debugger, or the MPLAB X Simulator
2 Run Time Watch
When working with a MPLAB® REAL ICE™ emulator Run Time Watch adds to DMCI's Capture/Modify on Break capability. Run Time Watch allows a number of variables to be updated on the IDE without having to pause a debug session. With Run Time Watch the user sees the variables values change in the IDE while the application is running. This non-intrusive observation method can be essential in debugging applications where pausing the program would adversely effect the value of the variables under consideration. The DMCI GUI has a separate tab allowing the user to designation which variables are updated in run time.
Requires the use of an MPLAB® REAL ICE™
3 Real Time Data Monitoring (RTDM)
Written to support applications where controlling multiple interdependent system parameters is essential. RTDM allows the user to modify and observe changes in the variables while the application is running. This mode requires a specially written software module to be built into the application program. When running the IDE communicates with the RTDM code through a serial port on the MCU.
Currently RTDM modules are available for the PIC24H, PIC24EP, and dsPIC33F MCUs.