Frequently Asked Quesons (FAQ)
User Guide
© 2023 Microchip Technology Inc. and its subsidiaries
DS-50003529B - 64
7. Frequently Asked Quesons (FAQ)
Answers to frequently asked questions about the MPLAB ICD 5 In-Circuit Debugger system are
covered in the following sections.
7.1 How Does It Work?
What's in the silicon that allows it to communicate with the MPLAB ICD 5 In-Circuit
Debugger?
MPLAB ICD 5 can communicate with Flash silicon via ICSP and other target interfaces. On some
devices, it communicates with a debug executive located in dedicated memory or user memory.
For legacy 8-bit PIC devices, the debug executive resides in Program memory. On other devices, it
communicates directly with the chip’s OCD module.
How is the throughput of the processor aected by having to run the debug execuve?
The debug executive doesn't run while in Run mode, so there is no throughput reduction when
running your code, i.e., the debugger doesn’t ‘steal’ any cycles from the target device.
How does MPLAB X IDE interface with the MPLAB ICD 5 In-Circuit Debugger to allow more
features than older debug tools?
MPLAB ICD 5 communicates using the debug executive located in a dedicated area of memory
or using chip’s OCD. The debug executive is streamlined for more ecient communication. The
debugger contains an FPGA, large SRAM Buers (1Mx8), and a High-Speed USB interface. The FPGA
in the debugger serves as an accelerator for interfacing with the device in-circuit debugger modules.
On tradional debuggers, the data must come out on the bus in order to perform a complex
trigger on that data. Is this also required on the MPLAB ICD 5 In-Circuit Debugger? For
example, could I halt, based on a ag going high?
Traditional debuggers use a special debugger chip (-ME) for monitoring. There is no -ME with the
MPLAB ICD 5, so there are no buses to monitor externally. With theMPLAB ICD 5, rather than using
external breakpoints, the built-in breakpoint circuitry of the debug engine is used – the buses and
breakpoint logic are monitored inside the part.
Does the MPLAB ICD 5 In-Circuit Debugger support complex breakpoints?
Yes. This is device dependent. If your device has it, then you can break based on a value in a
data memory location. You can also do sequenced breakpoints, where several events have to occur
before it breaks. However, you can only do two sequences. You can also do the AND condition and
do PASS counts.
Will this slow down the running of the program?
There is no cycle stealing with the MPLAB ICD 5.
Is it possible to debug a dsPIC DSC device running at any speed?
The MPLAB ICD 5 is capable of debugging at any device speed as specied in the device’s data sheet.
7.2 What's Wrong?
When MPLAB ICD 5 is not working as expected or not working, please see the sections below for
help. See also 8. Error Messages.
7.2.1 My computer went into power-down/hibernate mode, and now my debugger won’t work.
What happened?
When using the debugger for prolonged periods of time, and especially as a debugger, be sure
to disable the Hibernate mode in the Power Options Dialog window of your computer’s operating
system. Go to the Hibernate tab and clear or uncheck the “Enable hibernation” check box. This will
ensure that all communication is maintained across all the USB subsystem components.