**Notes about MPLAB ICD 2 Headers
Some 8-, 14- and 18-pin devices use small header boards with a special MCU for debugging. This special MCU has extra pins for MPLAB ICD 2 communication and therefore allows the use of all pins on the part for the application. The header board is not used or needed for programming. However, when debugging these devices the header must be used.
An all-in-one debugger/programmer solution: MPLAB® ICD 2 is a low cost, real-time debugger and programmer for selected PIC® MCUs and dsPIC® DSCs. Using Microchip Technology's proprietary In-Circuit Debug functions, programs can be downloaded, executed in real time and examined in detail with the debug functions of MPLAB. Set watch variables and breakpoints from symbolic labels in C or assembly source code, and single step through C source lines or into assembly code. MPLAB ICD 2 can also be used as a development programmer for supported MCUs.
The secret behind In Circuit Debugging is two dedicated hardware lines (microcontroller pins used only during debugging mode) that control In Circuit Serial Programming™ (ICSP™) of the device and, afterwards, debugging through proprietary, on-chip firmware. The ICD 2 debug features are built into the microcontroller and activated by programming the debug code into the target processor. There is some shared overhead expense that includes one stack level, some general purpose file registers and a small area of program memory when in the debug mode.
IMPORTANT NOTE: MPLAB ICD 2 requires minimal design guidelines be followed to ensure stable communications between the unit and the target. Check this page for some useful tips: https://www.microchip.com/en-us/development-tool/dv164035
The MPLAB ICD 2 connects using USB or RS-232 between the design engineer's PC operating with MPLAB IDE and their product board (target) being developed. It acts as an intelligent interface/translator between the two, allowing the engineer to look into the active target board's microcontroller, viewing variables and registers at breakpoints with MPLAB watch windows. A breakpoint can be set to halt the program at a specific location. The program can be single-stepped or run at full speed. At breakpoints, data and program memory can be read and modified. Additionally, the MPLAB ICD 2 can be used to program or reprogram the Flash-based microcontroller while installed on the board.
N/A