Mplab Icd 3 Software

Posted on by

Microchip today has announced the new MPLAB ICD 3 ®, a high-speed upgrade of the MPLAB ICD 2.

The MPLAB ICD 3 is Microchip's cost-effective development tool that supports Microchip’s Flash-based 8-bit PIC ® microcontrollers, 16-bit microcontrollers, 32-bit microcontrollers (PIC32), and 16-bit dsPIC ® Digital Signal Controllers.

MPLAB® ICD 3 In-Circuit Debugger System is Microchip's most cost effective high-speed hardware debugger/programmer for Microchip Flash Digital Signal Control. The MPLAB ICD 3 In-Circuit Debugger probe is connected to the design engineer's PC using a high-speed USB 2.0 interface and is connected to the target with a connector compatible with the MPLAB ICD 2 or MPLAB REAL ICE systems (RJ-11). MPLAB ICD 3 supports all Emulation headers. MPLAB ICD 3 has improved speed as compared with MPLAB ICD 2.

The MPLAB ICD 3 supports in-circuit programming and debugging of all of Microchip's microcontrollers. The new The MPLAB ICD 3 connects to the host PC via a USB 2.0 interface (backwards compatible to USB 1.1). The MPLAB ICD 3 offers full compatibility with the the previous MPLAB ICD 2, and takes full advantage of USB 2.0 to offer a very high speed debug and programming environment.

The MPLAB ICD 2 was introduced in November 2002 Since that time, nearly 200,000 have been shipped, making the ICD 2 the most popular development tool available from Microchip. The ICD 3 is fully compatible with the previous ICD2, and ICD 2 users of the ICD 2 will see virtually the same user interface.

Improvements
A significant difference between ICD 2 and ICD 3 is new support for software breakpoints. ICD 3 supports up to 1,000 software breakpoints, including complex, sequenced, and ANDed breakpoints. Hardware breakpoints are supported as with the ICD 2.

MPLAB ICD 3 in-circuit debugger using standard communications and a target board. MPLAB ICD 3 In-Circuit Debugger On-line Help File A comprehensive help file for the debugger is included with MPLAB IDE. Trusted Windows (PC) download MPLAB IPE 3.0. Virus-free and 100% clean download. Get MPLAB IPE alternative downloads.

The MPLAB ICD 3 maintains backward compatibility with the RJ-11 interface found on the ICD 2, allowing easy connection to customer target boards for prototype debugging and rapid device programming. By providing the same development, programming, and debugging environment for all of Microchip's Flash-based microcontrollers, design engineers can easily move between Microchip's 500-strong PIC and dsPIC portfolios to find the best device for their application.

The below video was taken at the Embedded Systems Conference Boston 2008, with my handy LG Viewty videophone (which isn't as smooth as I'd like it to be):

The MPLAB ICD 3 supports Microchip Technology’s proprietary 2-wire In-Circuit Serial Programming™ (ICSP™) mode, as well as the Enhanced ICSP programming mode. The MPLAB ICD 3 now supports very high speed programming of Microchip's Flash-based Microcontrollers. For example, the programming speeds of a 128K PIC18 are dramatically reduced, from 26.6 seconds to a scant 8.9 seconds. The entire 512K Flash array of a PIC32, which previously took almost 3 ½ minutes to program, now takes only 11.1 seconds to program.

Microchip has also added a new feature to help novice users verify that the ICD 3 is operating properly. According to Derek Carlson, Vice President of Development Tools, “Included with every MPLAB ICD 3 is a Test Interface Module. Together with the MPLAB IDE, the module is used to confirm that the software is installed correctly, the USB interface is functioning, and that the MPLAB ICD 3 probe unit and driver lines are working properly.”

The Microchip MPLAB ICD 3 includes:

• The ICD 3 puck
• Test Interface Module
• RJ-11 and USB 2.0 cables
• CD containing the MPLAB IDE and full documentation
• Reference poster

About Microchip Technology
'Microchip Technology Inc. (NASDAQ: MCHP) is a leading provider of microcontroller and analog semiconductors, providing low-risk product development, lower total system cost and faster time to market for thousands of diverse customer applications worldwide. Headquartered in Chandler, Arizona, Microchip offers outstanding technical support along with dependable delivery and quality.'

© Microcontroller.com. All Rights Reserved.

Release Notes for MPLAB® ICD 3
In-Circuit Debugger & Device (Production) Programmer

MPLAB® IDE v8.56

DLL and Firmware versions:

MPICD3.dll v1.0.3.22
MPLAB ICD 3 Suite (OS, FW) v1.26.26 (ICD3FW_012626.jam)

August 13, 2010

Table of Contents

1Device Support

2Operating System Support

3Reference Documents

4What's New in v8.56

5Repairs and EnhancementsMade in v8.56

6USB Port Setup

7Powering the Debugger andTarget Board

8Setting Up the Debugger andTarget Board

9Device ProgrammingConsiderations

10Known Problems

11Important Notes

12Reserved Resources

13Number of HardwareBreakpoints Per Device

Click the link below to see device support for “ICD 3Debugging” (IC3D) and “ICD 3 Programming” (IC3P).

·Device Support List

1.1Programming Considerations

See 'DeviceProgramming Considerations' for special device programmingconsiderations to avoid damage these devices:

PIC24F/H

dsPIC33F

1.2Debugging Considerations

For low pin-count devices (8 to 28 pins), a Header boardis usually required. See the Header Board Specification (DS51292) orHeader help file (hlpHeader.chm) for a list of available headers by device.

For high pin-count devices (40 to 100 pins), a Headerboard may available, but is not required. See the Header BoardSpecification (DS51292) or Header help file (hlpHeader.chm) for a list ofavailable headers by device.

This tool has been tested using the following operatingsystems:

32-Bit: Windows®2000 SP4, Windows XP SP2, Windows Vista™ and Windows 7 OSs

64-Bit: Windows XP 64, Windows Vista 64 and Windows 764 OSs

NOTE:Windows NT® and Windows98/ME OSs are NOT supported.

The following documents may be found on our website or MPLABIDE CD-ROM:

·MPLAB ICD 3 In-Circuit Debugger User's Guide (DS51766)

·MPLAB ICD 3 Design Advisory (DS51764)

·Using MPLAB ICD 3 In-Circuit Debugger poster (DS51765)

·Header Specification (DS51292)

·Transition Socket Specification (DS51194)

On-line help (Help>Topics) is alsoavailable for this tool:

·Debuggers>MPLAB ICD 3

Mplab

The default location of the Help file is:

·C:Program FilesMicrochipMPLAB IDEICD 3hlpMPLABICD3.chm

Bug fixes.

ICD3-254: PC values does not change when singlestepping using MPLAB ICD 3 with PIC12F617.

ICD-249: Unable to enter debug mode with MPLAB ICD 3using the emulation header for PIC18F/LF13K22, PIC18F/LF14K22, PIC18F/LF13K50and PIC18F/LF14K50.

ICD3-255: ICD debug reserved resource information inthe help file is inconsistent and incorrect across MPLAB ICD 2, MPLAB ICD 3,REAL ICE for PIC16F1xxx devices.

Installation and setup instructions are dependent on youroperating system. Open the appropriate file for your OS in a web browser andfollow the instructions to install the driver(s).

Notes:

  • USB 2.0 is recommended for use with these drivers. USB 1.1 may be used but may result in reduced performance.
  • If you change debugger units or PC USB ports, you will need to reinstall the drivers.
  • If you use a USB hub, it needs to be powered.

Win 2000/Win XP/WinVista/Win 7

Find detailed instructions at:
C:Program FilesMicrochipMPLABIDEICD3Driversddicd3.htm

Basic instructions are as follows:

  1. Install MPLAB IDE v8.40 or higher.
  2. Insert a communication board (standard or high-speed) into the MPLAB ICD 3 pod.
  3. Connect the MPLAB ICD 3 pod to a PC USB port using a USB cable.
  4. Follow the “Found New Hardware Wizard” to install the drivers (software):

a.

b.

Win XP 64/Win Vista 64/Win 7 64

Find detailed instructions for Win XP 64 at:
C:Program Files (x86)MicrochipMPLABIDEDrivers64XP64ddxp64.htm

For Win Vista 64:
C:Program Files (x86)MicrochipMPLABIDEDrivers64Vista64
ddvista64.htm

For Win 7 64:
C:Program Files (x86)MicrochipMPLABIDEDrivers64Win7_64
ddwin764.htm

Basic instructions are as follows:

1.Install MPLAB IDE v 8.14 or higher (for Win XP/Vista 64) or v8.43 orhigher (for Win 7 64).

  1. Insert a communication board (standard or high-speed) into the MPLAB ICD 3 pod.
  2. Connect the MPLAB ICD 3 pod to a PC USB port using a USB cable.

4.Follow the “Found New Hardware Wizard” to install the drivers (software)manually.
C:Program Files (x86)MicrochipMPLABIDEDrivers64

The MPLAB ICD 3 debugger is powered through its USBconnection to the PC.

The target board is powered from its own supply. With somedevices, the debugger can provide power to the target board, but is limited toa voltage range of 3-5v and current of 100 mA.

1.Install the USB drivers on your PC, as discussed above (USB Port Setup).When this is complete, MPLAB ICD 3 debugger should be plugged into a USB portof the PC.

2.If you have not already done so, connect to a target, either directly orthrough a header board. See on-line help or the user's guide for ways toconnect the debugger to a target board.

3.Power the target.

4.Start MPLAB IDE.

5.In MPLAB IDE, select either Debugger>Select Tool>MPLAB ICD 3 orProgrammer>Select Programmer> MPLAB ICD. The debugger will automaticallyconnect. Also, the debugger can automatically detect if it has beendisconnected/reconnected and if the target has been disconnected/reconnected.

6.The debugger will now be ready for use.

For CodeGuard™ Security Devices

Mplab Icd 3 Software Download

Several 16-bit devices allow customers to define up to 3programming segments: Boot, Secure and General. The purpose is to allow acustomer to place proprietary data (libraries, IP address, etc.) into aprotected boot or secure segment. That customer may then transfer thesepreprogrammed devices to another customer who would use the unprotected generalsegments.

For more details on CodeGuard Security functionality,please refer to the CodeGuard Security reference manual for 16-bit devices(DS70180) and dsPIC33F/PIC24H and dsPIC30F device programming specificationsfound on our website.

To program the preprogrammed devices, MPLAB IDE v8.00 andabove provides a Secure Segment tab on the Settings dialog, accessed undereither the Programmer or Debugger menu. This tab contains the followingoptions:

·Full Chip Erase/Program

·Segment Programming

·Boot, Secure & General Segments

·Secure,General Segments

·General Segment.

The programming function of this tool is now capable ofidentifying various device segments and their sizes upon connecting the device.Hence, these options allow you to selectively program the program memorysegments and thus avoid accidental eraser of preprogrammed proprietary data(Libraries, IP, etc.)

For Non-CodeGuard Security Devices

When programming these devices, bulk erase commands shouldbe issued between successive programming operations, i.e., erase, then program,then erase, then program, etc. Therefore, Microchip advises againstmultiple-stage programming sessions which may fail to verify. For example, youshould NOT do the following sequence with these devices:

  1. load and program a particular hex file
  2. load a second hex file
  3. disable erase-all-before-programming
  4. specify an address sub-range
  5. program the device

The following is a list of known problems. For informationon common problems, error messages and limitations, please see Troubleshootingin the online help file for the MPLAB ICD 3 debugger (hlpMPLABICD3.chm).

10.1Communications

·Do not connect to more than one MPLAB ICD 3 unit at a time or attemptto connect two MPLAB IDE sessions to the MPLAB ICD 3 debugger.

·If you do not use the included cables, make sure the cables youdo use are: (1) not longer than 6 inches for standard communications or errorscould result and (2) USB 2.0 compliant if you will be using USB 2.0communications.

10.2General Issues

·Using the USB connection on a laptop PC with hibernate modeenabled will lock up the debugger if hibernate mode is entered. Unplug the USBcable from the MPLAB ICD 3 debugger and then plug the cable back in to resumedebugging. You may want to disable hibernate mode while using the debugger.From Control Panel, select 'Power Options' and disable hibernatemode.

10.2.1PIC12F/16F Devices

ICD3-55: Above 16MHz, in EC mode, a Reset executesthe first few instructions instead of only 1 instruction. Workaround is to add3 NOPs at the reset vector.

ICD3-198: For the PIC16F505 device, MPLAB ICD3 doesnot display correct values for TRISC in the SFR window.

ICD3-222: For the headersAC162059, AC162070, AC162096: PIC16F505/506/526 device families you cannotsimply switch between MPLAB ICD 2 and MPLAB ICD 3. After using the header withMPLAB ICD 2, it will not work correctly and the calibration memory will belost. Perform the following steps to get the header working with MPLAB ICD3again:

·Note the calibration memory while using the header with MPLAB ICD2 before connecting the header using MPLAB ICD 3

·Connect the header using MPLAB ICD 3 as a Debugger. You will seean invalid calibration memory message in the output window.

·Erase the header using Debugger>Erase Flash Device

·Remove power from the target, wait for approximately 10 seconds,then re-apply power to target.

·Build the project or load the image from a hex file.

·Go to Debugger>Settings>Calibration Memoryand select the checkbox 'Allow ICD 3 to program calibration memory'and enter the old calibration value in the field.

·Program the header using MPLAB ICD 3.

ICD3-233: EEData memory incorrectly reads'FF' in some memory locations after programming the PIC16F886 at 5Vusing MPLAB ICD 3.

ICD3-243: ICD3CMD does not work on 64-bit OperatingSystems.

10.2.2PIC18F Devices

RI-400: If you are not able to enter debug modewhen power-up timer is enabled for the following devices, please disablepower-up timer during the debugging session. (If the final application firmwarerequires power-up timer enabled, please enable it after the debugging sessionis complete and program the part with the final application firmware.)

PIC18F4620/4610/2620/2610

PIC18F4680/2680/4681/2681

PIC18F4520/4420/2520/2420

PIC18F4550/2550/4455/2455

PIC18F8490/8410/6490/6410/8390/8310/6390/6310

PIC18F8722/8627/8622/8527/6722/6627/6622/6527

PIC18F2525/4525

PIC18F87K90/PIC18F86K90/PIC18F85K90/PIC18F67K90/PIC18F66K90/PIC18F65K90

/textmate-mac-download-crack.html. PIC18F87K22/PIC18F86K22/PIC18F85K22/PIC18F67K22/PIC18F66K22/PIC18F65K22

·Watch window – It will take 1 cycle for the watch window toupdate properly for PORTx registers. Use an instruction that reads the portsuch as ‘MOVFF PORTx, PORTx_copy’ before the breakpoint is reached. Thisaffects the following devices:

PIC18F4620

PIC18F84J90

PIC18F65J11

PIC18F63J90

PIC18F84J95

PIC18F83J11

PIC18F64J90

PIC18F85J90

PIC18F84J11

PIC18F64J95

PIC18F63J11

PIC18F84J16

PIC18F65J95

PIC18F64J11

PIC18F85J11

PIC18F83J90

PIC18F64J16

PIC18F8722

·For the PIC18F14K22 family, MPLAB IDE debug/programming toolswill not work below 1.9v. The work-around is to run the device above 1.9v.

·PIC18F2520 MCUs: Table Read Protect (EBTRx) will not work unlessCode Protect (CPx) is enabled. Also, once Table Read Protect is enabled, youcannot perform a Verify on the protected block.

·PIC18F45K20/46K20 MCU family: There is a silicon issue thatprevents some device revisions from being programmed with 'power fromprogrammer'. The workaround is to use 'power from target' ORincrease the capacitance across VDD, VSS (for example to 47uF.)

·For PIC18F8720, MEMCON cannot be read if in a microcontrollermode. This is a silicon issue.

RI-431: Unable to halt at a SWbreakpoint on PIC18F/LFK22 and PIC18F/LFK90 using REALICE as a debugger.

10.2.3PIC24F/H Devices

SSR 29399: PIC24F devices can start to run afterprogramming but before verification. This can result in a verification failureif the code performs self-write to either program memory or Data EE.

ICD2-81: For PIC24F devices during a programming/verifyoperation (or subsequent verification operation) of user code that performsself-writes and/or self-erases to program space, a verify sequence may fail ifthe code execution occurs within the first execution cycles following reset.

Workaround:

Place a delay in your code before the code section thatperforms the self-write and/or self-erase. The specific delay value may need tobe adjusted, but 100 ms would be a conservative value to start out with. Hereis a C language example that illustrates the workaround:

int main (void)

{

// Place 100 ms delay here before anyself-write/self-erase code

: : :

}

ICD3-225: Upper unimplemented bits in theconfiguration word for the PIC24FJ64GA004 are being programmed to a '0' insteadof a ‘1’.

RI-412: PIC24FJ256DA210 Family: Data Memory notfunctional unless 96 MHz PLL is enabled. This is a silicon issue that is beingworked on.

10.2.4PIC32 Devices

ICD3-216: For the PIC32 family of devices, MPLAB ICD3 is unable to reset or single step correctly after a Soft Reset is performed.

·When running in debug mode, selecting Debugger>Resetresets the program, goes to the zero location, and halts. The program does notautomatically re-run.

·If porting an existing project using MPLAB ICD 2 to the MPLAB ICD3 debugger, you must do the following:

·Select Project>Build Options>Project. Whenthe dialog opens, click OK. This is necessary to save new Build Optionsin the project. Previously there had been a checkbox option for 'Link forICD2' on the MPLAB LINK30 tab. This is now gone and has beenreplaced by a Build Configurations selection (see below.)

·On the Project Manager toolbar select 'Debug' from theBuild Configurations drop-down list, or from the Project menu select “BuildConfigurations” and then “Debug”.

·Rebuild the project (Build All).

·Make sure that table reads/writes are not code protected.

·At low Vdd, bulk erase will not erase code protect bits.

11.1PIC18Devices

Before setting the Stopwatch between any 2 Softwarebreakpoints, ensure that the total number of Hardware breakpoints being used isalways 2 less than the Maximum number of Hardware breakpoints available for thedevice.

11.216-BitDevices

1.RB0 and RB1 pins:
If the MPLAB ICD 3 debugger is selected as a debugger, it initializes all theA/D input pins - AN0 (RB0) through AN15 (RB15) pins - as 'digital'pins, by setting all 16 bits in the ADPCFG register.

  1. If you have selected a pair of 'debug pins' (EMUD/EMUC, EMUD1/EMUC1, EMUD2/EMUC2 or EMUD3/EMUC3) that are multiplexed with A/D input pin functions on the particular dsPIC30f device being used, then you must never clear the bits in the ADPCFG register that correspond to those A/D pins.

For example, if EMUD3 and EMUC3 areused as the debug pins on a dsPIC30F2010 device, then bits 0 and 1 of theADPCFG register must remain set at all times. Similarly, if EMUD and EMUC areused as the debug pins on a dsPIC30F5011 device, then bits 6 and 7 of theADPCFG register must remain set at all times. In such cases, you must also takeproper precaution to isolate the application circuitry from the correspondingA/D pins during debugging.

  1. If your application needs to use certain A/D pins as analog input pins, then your code must clear the corresponding bits in the ADPCFG register during A/D module initialization.

For example, if AN4 and AN5 arerequired as analog input pins, then bits 4 and 5 of the ADPCFG register must becleared.

2.SLEEP, IDLE, WDT, Clock Switching:
For dsPIC devices, debug operations can be executed on programs which use SLEEPor IDLE mode, Watchdog Timer, and/or Clock Switching.

3.Debug during SLEEP or IDLE Mode:
When the device is in SLEEP and IDLE mode and a Halt command is issued, theMPLAB ICD 3 debugger will wake up the device and halt execution on theinstruction immediately following the PWRSAV instruction.

4.Interrupts:

  1. In general, single-stepping an instruction will not generate an interrupt or trap, because the corresponding interrupt/trap status flag bit would not get set. Essentially, the interrupt or trap condition would be ignored.
  2. However, if the user has explicitly set an interrupt/trap flag bit, either in the user program or by modifying the status flag values in the MPLAB Watch, SFR or File Registers window, then the interrupt/trap would get generated, and the user would be able to single-step into the Interrupt or Trap Service Routine.

5.Break Point Behavior:
If a break point is set on an instruction that follows a taken branch, theBreakpoint will be triggered even though the branch went elsewhere.

6.Break Point Behavior and Skidding:
It is possible that a breakpoint halt will exhibit program memory skidding inthat the execution stops N instructions after reaching the breakpoint. Thefollowing definitions are provided and referred to:

·One skid - A breakpoint occurs AFTER the instructions isexecuted (PC+2)

·Two skid - A break point occurs AFTER the NEXT instruction(PC+4)

Break Point Behavior:

·If a Non-Program-Flow, modifying, Single-Word, Two-Cycleinstruction (such as Table or PSV) precedes a break point instruction, then thebreakpoint occurs BEFORE the instruction at the breakpoint address is executed(ONE SKID).

·All other instructions have a 'TWO SKID', which meansthe break occurs AFTER the NEXT instruction is executed.

7.The CAN module, unlike the other peripherals, does not get frozen in thefollowing situations:

·during a Halt

·during a stop on a Breakpoint

·after a Single-Step

For example, if you set aBreakpoint and run to it, the CAN module continues to run in the background,and it may seem that data transmissions and receptions have completedimmediately.

8.DISICNT register:
In five dsPIC30F devices (dsPIC30F6010, dsPIC30F6011, dsPIC30F6012,dsPIC30F6013 and dsPIC30F6014), since the DISICNT register continues todecrement even when the device is halted by the debugger, the DISICNT valuewill always be seen as 0x0000 in the Watch, SFR and File Registers windows. Tomonitor the DISICNT value, add code to copy the DISICNT register contents to aW register or memory location and monitor the value of the corresponding Wregister or memory location in the Watch, SFR or File Registers window.

9.ADCMD bit in PMD1 register:
The user application must not set the ADCMD bit (bit 0 of PMD1 register). Thiswould lead to incorrect ICD operation.

10.SPLIM register:
When using the MPLAB ICD 3 debugger as a debugger, your software mustinitialize the Stack Pointer Limit register (SPLIM) before using the stack(device errata).

11.Single-stepping a DO loop:
In five dsPIC30F devices (dsPIC30F6010, dsPIC30F6011, dsPIC30F6012,dsPIC30F6013 and dsPIC30F6014), single-stepping through a DO loop in dsPIC30Fassembly code results in the loop getting executed one less time than expected.

12.Pass Counter feature in Advanced Breakpoints:
For a specified Pass count of 'N', the code will break after 'N+1' occurrencesof the breakpoint instead of 'N' occurrences.

13.If you need to use the Fail-Safe Clock Monitor feature on a dsPIC devicewhen using the MPLAB ICD 3 debugger for debugging your application, a WatchdogTimer Device Reset will occur, even if the Watchdog Timer has not beenexplicitly enabled in the application. To work around this issue, use the'CLRWDT' instruction in the main loop of your application code. Thiswill ensure that the Watchdog Timer gets cleared before it causes the device toreset.

11.332-BitDevices

Refer to the data sheet for more information.

Due to the built-in in-circuit debugging capability of ICEdevices, and the ICSP function offered by the debugger, the MPLAB ICD 3in-circuit debugger uses on-chip resources when debugging, i.e., some deviceresources are reserved for use by the debugger.

Mplab Icd 3 Software

Refer to the on-line help for the most up-to-date list ofresources used by the debugger.

To see the number of breakpoints supported for your deviceand the number of breakpoints used in your project, use the Device DebugResource toolbar. For more on this toolbar, see MPLAB IDE on-line help.

Breakpoint support per device family is as follows:

PIC18F devices – 1 breakpoint

PIC18F Enhanced devices – 3 breakpoints

PIC18FXXJ devices – 3 or 5 breakpoints*

dsPIC30F devices – 2 breakpoints

dsPIC33F/PIC24 devices – 4 breakpoints

PIC32MX devices – 6 breakpoints

Mplab Icd 3 Software Download

Digital wallpaper free download for mobile. * There is a limitation forthese devices that only 1 data capture is available.