Chapter 5. Frequently Asked Questions (FAQs)
5.1
INTRODUCTION
Look here for answers to frequently asked questions about the MPLAB ICD 4 In-Circuit
Debugger system.
•
How Does It Work?
•
What's Wrong?
5.2
HOW DOES IT WORK?
• What's in the silicon that allows it to communicate with the MPLAB ICD 4
In-Circuit Debugger?
MPLAB ICD 4 In-Circuit Debugger can communicate with Flash silicon via the
ICSP interface. It uses the debug executive located in test memory. For legacy
8-bit devices, the debug executive resides in Program memory.
• How is the throughput of the processor affected by having to run the debug
executive?
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 4 In-Circuit Debugger
to allow more features than older debuggers?
MPLAB ICD 4 In-Circuit Debugger communicates using the debug executive
located in the test area. The debug executive is streamlined for more efficient
communication. The debugger contains an FPGA, large SRAM Buffers (1Mx8),
and a High-Speed USB interface. Program memory image is downloaded and is
contained in the SRAM to allow faster programming. The FPGA in the debugger
serves as an accelerator for interfacing with the device in-circuit debugger
modules.
• On traditional debuggers, the data must come out on the bus in order to per-
form a complex trigger on that data. Is this also required on the MPLAB ICD
4 In-Circuit Debugger? For example, could I halt, based on a flag going
high?
Traditional debuggers use a special debugger chip (-ME) for monitoring. There is
no -ME with the MPLAB ICD 4 In-Circuit Debugger, so there are no busses to
monitor externally. With the MPLAB ICD 4 In-Circuit Debugger, rather than using
external breakpoints, the built-in breakpoint circuitry of the debug engine is used –
the busses and breakpoint logic are monitored inside the part.
• Does the MPLAB ICD 4 In-Circuit Debugger have complex breakpoints?
Yes. 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.
DS50002596A-page 41
MPLAB
ICD 4 USER'S GUIDE
®
2017 Microchip Technology Inc.
Need help?
Do you have a question about the MPLAB ICD 4 and is the answer not in the manual?