4.7.2 ICSP Debugging
There are two steps to using MPLAB PICkit 5 In-Circuit Debugger as a debugger. The first requires that an application is programmed into the target device (MPLAB PICkit 5 can be used for this). The second uses the internal in-circuit debug hardware of the target Flash device to run and test the application program. These two steps are directly related to MPLAB X IDE operations:
- Programming the code into the target and activating special debug functions (see the next section for details).
- Using the debugger to set breakpoints and run.
For more information, refer to the MPLAB X IDE WebHelp.
If the target device cannot be programmed correctly, the MPLAB PICkit 5 will not be able to debug it.
A simplified diagram of some of the internal interface circuitry of the MPLAB PICkit 5 is shown in the figure below. In the figure, Rpu=10 kΩ typical and Ric=4.7 kΩ.
For programming, no clock is needed on the target device, but power must be supplied. When programming, the debugger puts programming levels on VPP/MCLR, sends clock pulses on PGC, and serial data via PGD. To verify that the part has been programmed correctly, clocks are sent to PGC and data is read back from PGD. This sequence confirms the debugger and device are communicating correctly.