ICD 2 LE
Many PIC developers, especially hobbyists, lust after an in-circuit debugger. The problem is, the ICD2 is fairly expensive, at least for many hobbyists. The ICD 2 LE is Microchip's attempt to ease this problem a bit. The LE is an inexpensive version of the ICD2, typically only available as part of some package, and generally associated with some Microchip event. One recent such event was their 2007 Spring Seminar, which was held at a number of locations around the country.
What is an ICD?
The in-circuit debugger allows the developer to set breakpoints and examine the contents of the target microcontroller's memory while the part is in the target circuit.
The ICD2 can be used as a programmer, and is supported within MPLAB. When selected as a programmer, a new set of toolbar buttons appears in MPLAB, providing buttons to (left to right) Write Flash, Read Flash, Read EEPROM, Verify, Erase, Check that part is erased, release from reset, hold in reset, and download ICD2 operating system.
When used as a debugger, the programming options are slightly more limited, but the same familiar buttons available with MPLAB SIM allow the developer to run, stop, animate and single-step the target PIC. The same viewing options are available as are with MPLAB SIM, although some can slow execution substantially, so the developer need exercise some caution.
Not all PICs include the on-board assets necessary to support in-circuit debugging. Those that do have a limited number of breakpoints available, so in this respect, debugging is limited compared to MPLAB SIM.
How is the LE different from the ICD 2?
The ICD 2 LE is housed in a package similar to the PICkit 2, rather than the familiar hockey-puck package of the full ICD 2. To MPLAB, the LCD 2 LE looks just like an ICD 2. However, there are a few limitations.
- The LE has no serial connector, and thus may only connect to the PC via a USB port. Since few recent PCs have serial ports, this is rarely a problem.
- The LE cannot power the target circuit. The developer must provide that power some other way. Since the LE is generally marketed with packages addressing the 16-bit microcontrollers, which cannot be powered by the ICD 2 anyway, this isn't much of a limitation.
- The LE connects to the target circuit via a 6-pin header, rather than the familiar RJ-45 used for the ICD 2. This is the same connector used by the PICkit 2, and is probably somewhat simpler for hobbyists.
So is it a good deal?
Unfortunately, the ICD 2 LE is not routinely available. However, if one should have the option of purchasing one, it provides all the features of the more expensive ICD 2, unless the developer does not have USB available or requires that the debugger power the target circuit.