Microchip ICD 2
Please consider the Microchip ICD 3 (DV164035). The Microchip ICD 2 is not recommended for new designs and will not support new MCU or dsPIC devices released after September 2010.
Summary
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: http://www.microchip.com/icd2help
Features
- USB (Full Speed 2 M bits/s) & RS-232 interface to host PC
- Real time background debugging
- MPLAB IDE GUI (free copy included)
- Built in over-voltage/short circuit monitor
- Firmware upgradeable from PC
- Totally enclosed
- Supports low voltage to 2.0 volts. (2.0 to 6.0 range)
- Diagnostic LEDs (Power, Busy, Error)
- Reading/Writing memory space and EEDATA areas of target microcontroller
- Programs configuration bits
- Erase of program memory space with verification
- Peripheral freeze-on-halt stops timers at breakpoints
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.