Do you have a question about the MPLAB ICD 5 and is the answer not in the manual?
Questions and answers
Mike Rath
May 28, 2025
I am migrating from ICD 3 to ICD 5. What issues do I need to know to make it a successful migration?
1 comments:
Mr. Anderson
May 28, 2025
For a successful migration from MPLAB ICD 3 to MPLAB ICD 5, consider the following issues:
1. Firmware Compatibility: Ensure the firmware version on the ICD 5 supports the required features. Some features like runtime breakpoints may need a specific firmware version.
2. Device Support: Verify that the target device is supported by ICD 5 and that the Device ID matches the expected value.
3. MPLAB X IDE Version: Use MPLAB X IDE v6.10 or greater to access full features, including the Emergency Boot Firmware Recovery Utility.
4. Connection Checks: Ensure proper connections for test interfaces (PGC/PGD lines) and verify clock/data line read/write success.
5. Power and Self-Test: Perform initial power and self-tests to confirm hardware functionality.
6. LED Indicators: Use LED color indicators for status—cyan indicates recovery mode, purple indicates operational.
7. Emergency Recovery: Be prepared to use the emergency recovery tool if the device fails to communicate.
8. Debugger Features: Review updated debugger features such as USB CDC, Data Gateway Interface, and ARM trace support.
Addressing these points helps ensure a smooth transition to MPLAB ICD 5.
This answer is automatically generated
Related Manuals for Microchip Technology MPLAB ICD 5
Preface Preface MPLAB ICD 5 documentation and support information is discussed in this section. Conventions Used in This Guide The following conventions may appear in this documentation: Table 1-1. Documentation Conventions Description Represents Examples Arial font: Italic characters Referenced books MPLAB ®...
By default, the MPLAB ICD 5 connects to your PC through a high-speed USB 2.0 interface. However, you can also use Ethernet connections. The MPLAB ICD 5 connects to targets using a flat cable, connected at one end to the debugger, and at the other to the target device communication.
The components of the MPLAB ICD 5 In-Circuit Debugger kit box are: • The rectangular MPLAB ICD 5 unit housed in a durable black and metallic case, which is accented with an LED indicator bar (see figure). On the sides of the unit are the USB connector, Ethernet connector, power connector, as well as the communication and debug connectors •...
Page 10
Table 2-2. MPLAB IPE Overview Use the desktop icon to launch the IPE. Select a device to program and then select MPLAB ICD 5 as the tool. Select on a button to Program, Erase, Read, Verify or Blank Check. For more on MPLAB IPE, including Advanced mode, see the MPLAB IPE User’s...
Power and Self Test MPLAB ICD 5 can be powered by USB-C power or Power over Ethernet (PoE). It does not use an external power supply. The MPLAB ICD 5 can provide power to the target with PoE. PoE also powers the tool if USB is unplugged.
3.2.1 USB Default Connection The default connection between the PC and MPLAB ICD 5 unit is USB using a USB Type-C cable. It is recommended that you use the cable that comes with the kit to avoid communication issues. Note: Only USB communications can be used for trace.
Power Debugging. Device and communication types, as well as an available adapter board, are discussed in the following sections. Note: MPLAB ICD 5 can power the target. For details, see 10.2. Power Specifications. Select powering the target in the Project Properties window, “ICD 5” category, “Power” option category.
Page 15
Connecting the Debugger to an RJ-45 Target via an RJ-45 Type Cable The MPLAB ICD 5 In-Circuit Debugger has an RJ-45 connector for communication to the target. Connect the RJ-45 type cable into the RJ-45 connector. Connect the other end of the cable to the RJ-45 connector on the target.
Page 16
Table 3-2. Pinouts for Debug Interfaces MPLAB ICD 5 DEBUG TARGET rotatethispage90 TTDI MOSI TVPP MCLR /Vpp MCLR RESET RESET TVDD VDD/VDDIO MISO SWCLK TAUX RESET RESET/dW RESET RESET TTMS SWDIO rotatethispage90 Black (8-pin) cable must be used for EJTAG, JTAG, SWD and ISP.
Page 18
3.3.3 Debugger Adapter Board The Debugger Adapter Board is a connectivity board that gives MPLAB ICD 5 and MPLAB PICkit 5 Debuggers cable compatibility to demo boards with Atmel-ICE, Power Debugger and ARM style connectors. It supports JTAG, SWD and ICSP protocols in multiple connector formats. It is useful for debugging AVR Xplained demonstration boards with MPLAB PICkit 5 debuggers.
Page 19
Connections Figure 3-7. MPLAB ICD 5 Adapter Board (AC102015) Pinouts 3.3.4 SAM MCUs - JTAG/SWD Interfaces SAM devices feature the Serial Wire Debug (SWD) interface for programming and debugging and/or a JTAG interface with identical functionality. Check the device data sheet for supported interfaces of that device.
Page 20
Target voltage reference. Not used by MPLAB ICD 5. 3, 5, 9 Ground. All must be connected to ensure that the MPLAB ICD 5 and the target device share the same ground reference. Connected internally to the TRST pin on the AVR connector. Recommended as not connected.
Page 21
SWDIO Serial Wire Debug Data Input/Output Serial Wire Output (optional- not implemented on all devices) nSRST Reset Target voltage reference - not used by MPLAB ICD 5 3, 5, 9 Ground 3.3.5 AVR MCUs Connections AVR devices feature various programming and debugging interfaces. Check the device datasheet for supported interfaces of that device.
Page 22
Target voltage reference. The MPLAB ICD 5 samples the target voltage on this pin in order to power the level converters correctly. The MPLAB ICD 5 draws less than 1mA from this pin in this mode. 2, 10 Ground. All must be connected to ensure that the MPLAB ICD 5 and the target device share the same ground reference.
Page 28
PIC32M MIPS-based devices use EJTAG for debug and programming. 3.3.6.1 Connecting to a PIC32M EJTAG Target The MPLAB ICD 5 provides a direct connection for new designs or a legacy 14-pin 10-mil JTAG/EJTAG connection using the adapter board. 3.3.6.2 PIC32M EJTAG Pinout - 4-Wire JTAG PIC32M EJTAG pin names and descriptions are shown in the table below.
Page 29
6-pin and 8-pin ICSP interfaces. 3.3.7.2 ICSP Target Connection Circuitry The figure below shows the interconnections of the MPLAB ICD 5 In-Circuit Debugger to the ICSP connector on the target board. The diagram also shows the wiring from the connector to a device on the target PCB.
Operation Operation A simplified theory of operation of the MPLAB ICD 5 In-Circuit Debugger system is provided here. It is intended to provide enough information so that a target board can be designed that is compatible with the debugger for both debugging and programming operations. The basic theory of in-circuit debugging and programming is discussed so that problems, if encountered, are quickly resolved.
Page 33
If such code is already executing on the Microchip AVR device when starting a debug session, the MPLAB ICD 5 will assert the RESET line while connecting. If this line is wired correctly, it will force the target AVR device into Reset, thereby allowing a JTAG connection.
Page 34
When the application program in Run mode writes a byte of data to the OCDR register of the AVR device being debugged, the MPLAB ICD 5 reads this value out and displays it in the message window of the software front-end. The OCDR register is polled every 50 ms, so writing to it at a higher frequency will NOT yield reliable results.
Page 35
A bug existed on early versions of ATxmegaA1 devices that prevented the OCD from being enabled while the device was in certain sleep modes. There are two work-arounds to re-enable OCD: • Go into the MPLAB ICD 5. Options in the Tools menu and enable “Always activate external Reset when reprogramming device.”...
Page 43
For more information, refer to the MPLAB X IDE WebHelp. If the target device cannot be programmed correctly, the MPLAB ICD 5 will not be able to debug it. A simplified diagram of some of the internal interface circuitry of the MPLAB ICD 5 is shown in the figure below.
Page 44
• The target device is run in Debug mode. 4.4.2.3 Debugging Details The figure below illustrates the MPLAB ICD 5 In-Circuit Debugger system when it is ready to begin debugging. In the figure, Rpu=10 kΩ typical and Ric=4.7 kΩ. Note: There are programmable pullups and pulldowns instead of fixed resistor.
Page 45
If the device does not run, for whatever reason (no oscillator, faulty power supply connection, shorts on the target board, etc.), then the debug executive cannot communicate to the MPLAB ICD 5, and MPLAB X IDE will issue an error message.
Page 46
In the MPLAB X IDE, use the MPLAB ICD 5 as a programmer to program a non-ICE/-ICD device, that is, a device not on a header board. Set the MPLAB ICD 5 as the current tool (click the Debug Tool ICD 5 in the navigation window, then select File >...
Output Voltage in mV Between 1600 mV and 5500 The MPLAB ICD 5 features an adjustable target supply that mV, or 0 can be used to power the target application. This setting enables and controls the output voltage of this supply. A selection of 0 disables the supply.
• trace OS and application events. • emit diagnostic system information. MPLAB ICD 5 is capable of streaming UART-format ITM trace to the host computer. Trace is captured on the TRACE/SWO pin of the 10-pin header (JTAG TDO pin). Data is buffered internally on the MPLAB ICD 5 and is sent over the trace interface to the host computer.
Page 51
5.4.4 Hardware Setup Preliminaries 1. Use USB communication between the PC and MPLAB ICD 5. Other communication types do not support trace. 2. Find devices that support ITM trace – see Help>Release Notes> Debug Features Support>Hardware Tool Debug Features by Device.
Figure 5-7. Memory with ECC and CoreSight ETB Debugger Polling MPLAB ICD 5 can be instructed by MPLAB Data Visualizer to repeatedly poll the Program Counter (PC) as fast as possible during active debug session with a target device. Though this will not yield a very high percentage of PC sampling or code trace, it can be useful in Code vs Power correlation to trap the areas of code which use more power than intended.
Page 59
To open in MPLAB X IDE, select Window>Debugging>Data Visualizer. When the data visualizer opens, there will be a Power selection available under the MPLAB ICD 5 DGI list, as current sense is being used. Click on it to view Power Setting controls. For this use case, no power from the debugger will be used (Output Voltage = 0).
Troubleshooting First Steps Troubleshooting First Steps If you are experiencing problems with MPLAB ICD 5 In-Circuit Debugger operation, the following sections are provided to help. Some Questions to Answer First 1. What device are you working with? Often an upgrade to a newer pack (DFP/TP) version for MPLAB X IDE is required to support newer devices.
Debug>Hardware Tool Emergency Boot Firmware Recovery. Figure 6-2. Selecting Emergency Utility If the procedure was successful, the recovery wizard displays a success screen. The MPLAB ICD 5 will now be operational and able to communicate with the MPLAB X IDE, showing a purple LED color.
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 specified in the device’s data sheet. What's Wrong? When MPLAB ICD 5 is not working as expected or not working, please see the sections below for help.
Error Messages Error Messages The MPLAB ICD 5 In-Circuit Debugger produces various error messages; some are specific, some are informational, and others can be resolved with general corrective actions. In general, read any instructions under your error message. If those fail to fix the problem or if there are no instructions, refer to the following sections.
2. Ensure that the cable(s) are of the correct length. 8.2.3 Debugger to Computer Communication Error Actions If the MPLAB ICD 5 In-Circuit Debugger and MPLAB X IDE are not communicating with each other: 1. Unplug and then plug in the debugger. 2. Reconnect to the debugger.
Page 73
6. Make sure the USB drivers are loaded. 8.2.6 Debug Failure Actions The MPLAB ICD 5 In-Circuit Debugger was unable to perform a debugging operation. There are numerous reasons why this might occur. See section Troubleshooting. 8.2.7 Internal Error Actions Internal errors are not expected nor should happen.
Page 80
For developers creating their own boards, ensure the Vdd rise time is less than 10 seconds. 9.2.9.2 Programming AVR Devices with UPDI MPLAB ICD 5 supports using the high-voltage mechanism to activate the AVR Unified Program and Debug Interface (UPDI). On low pin count AVR devices with UPDI, the UPDI pin can be configured as GPIO or RESET by configuring the RSTPINCFG configuration bits.
3.1. Power and Self Test 10.3 Indicator Lights (LEDs) The top of MPLAB ICD 5 unit has two light pipes butted against to each other, each illuminated by an LED. The expected start-up sequence for the debugger is: 1. Purple - steady on for approximately 3 seconds.
® up to 480 Mbps Ethernet Direct or via network up to 100 Mbps Connectors available on the MPLAB ICD 5 unit for communication are described in the following sections. ® 10.4.1 USB Type-C Connector (J1) and Cable A USB Type-C connector and cable are provided for USB 2.0 communication between the debugger and a computer.
Hardware Specification Figure 10-1. Ethernet Connector on MPLAB ICD 5 Table 10-2. Ethernet Connector Pinout Pin Number Function EGND EGND EGND EGND EGND: Enclosure ground Table 10-3. Connector LEDs LED Location LED Color LED Function Top left Green LAN ACT...
10.6.1 Connecting an RJ-11 Type Cable to an RJ-45 Jack on the Debugger The MPLAB ICD 5 In-Circuit Debugger has an RJ-45 connector for communication to the target. Connect the RJ-11 type cable into the RJ-45 connector by simply inserting it into the center of the RJ-45 connector.
Page 90
The V sense connection draws very little current from the target processor. The actual power comes from the MPLAB ICD 5 In-Circuit Debugger system, as the V sense line is used as a reference only to track the target voltage. The V connection is isolated with an optical switch.
Recovery Specifications The MPLAB ICD 5 unit can be placed in Recovery mode - device reset and flash erase - using a paper clip or similar tool through a hole in the bottom of the unit to activate the hardware reset switch (see image below).
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. in other countries. GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
Need help?
Do you have a question about the MPLAB ICD 5 and is the answer not in the manual?
Questions and answers
I am migrating from ICD 3 to ICD 5. What issues do I need to know to make it a successful migration?
For a successful migration from MPLAB ICD 3 to MPLAB ICD 5, consider the following issues:
1. Firmware Compatibility: Ensure the firmware version on the ICD 5 supports the required features. Some features like runtime breakpoints may need a specific firmware version.
2. Device Support: Verify that the target device is supported by ICD 5 and that the Device ID matches the expected value.
3. MPLAB X IDE Version: Use MPLAB X IDE v6.10 or greater to access full features, including the Emergency Boot Firmware Recovery Utility.
4. Connection Checks: Ensure proper connections for test interfaces (PGC/PGD lines) and verify clock/data line read/write success.
5. Power and Self-Test: Perform initial power and self-tests to confirm hardware functionality.
6. LED Indicators: Use LED color indicators for status—cyan indicates recovery mode, purple indicates operational.
7. Emergency Recovery: Be prepared to use the emergency recovery tool if the device fails to communicate.
8. Debugger Features: Review updated debugger features such as USB CDC, Data Gateway Interface, and ARM trace support.
Addressing these points helps ensure a smooth transition to MPLAB ICD 5.
This answer is automatically generated