Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Is an ICD worth it?

Status
Not open for further replies.
I'm kind of ignorant on the subject of ICDs, but I understand that they are development tools that allow the user to single step through their code and watch the actual register values change (like in the watch window in MPLAB SIM). To me this concept seems wonderful. When I write some assembly code that's a few bytes long, it can be a lot to keep up with (for me at least).

If an ICD would allow you to single step through the code and do things like capture actual ADC values (versus simulating them), it seems like it would tremendously speed up debugging.

Microchip wants about $200 for their ICD3. I found some on ebay that I'll link to below, but I'm a little skeptical.

Are the ICDs all they are cracked up to be? Do they really help in debugging more than simulating?

**broken link removed**

**broken link removed**
 
Hi,

Just a footnote - not all pic chips have the inbuilt circuitry to allow them to be used directly with your Pickit2 debugger.

Goto to MPlabs, Configure, Select Device and then look at the bottom right hand boxes, first the one that shows a green light on the Pickit2 Debugger and then importantly the box below that 'ICD Header' - if thats also green it lists the extra hardware header you would need to debug that chip - so avoid them.

You can always debug on a larger chip with inbuilt debugger and port your code into the non debugger chip when proven, easier and cheaper than messing with Debugger Headers
 
I think I need to re-install MPLAB then. I think I read that you have to "opt in" to having the PK2 plug-in installed at installation time. This is why I have to bring up a separate screen, the PK2 program itself, to flash it in versus being able to flash from MPLAB. I wonder if I can install the plug-in without totally re-installing MPLAB.
 
Hmmmm. I'm into the 16F193X pics now and a quick search of the microchip section shows it is not supported for debugging with the PK2.

I guess the question now becomes, is ICD as useful as I think it is? Is the functionality worth the $50 bucks I'd lay down to get the PK3?
 
Hmmmm. I'm into the 16F193X pics now and a quick search of the microchip section shows it is not supported for debugging with the PK2.

I guess the question now becomes, is ICD as useful as I think it is? Is the functionality worth the $50 bucks I'd lay down to get the PK3?

It really depends what you're used to - I spent many years using PIC's before debuggers were reasonable value, and I can't say I use the debugging side very much at all.

However, if you're used to such debuggers, then it's invaluable.

Bear in mind the PK3 is the new version, the PK2 is quite elderly now, so it may be worth spending the extra on the PK3 if you're planning using devices only it supports. MicroChip 'may' add support to the PK2, but that's not guaranteed.
 
Hi,

From your earlier posts thought you had got a Pickit2 ..?

As Nigel stated Debugger is one of those tools you can live without, I was also like him not using one until I got the Pk2.

It can be a useful tool, as can Mplab Sim, but its not something you need to use all the time you are coding - its as it says on the can, a tool for Debugging your program code in the hardware when all other avenues have failed.


Regarding reinstalling Mplab not sure what you mean if you already have a Pickit2 ?

Also avoid installing v8.63, this has known problems with the Pickits - see the microchip pickit forums

Mplab does not give PK2 support for the 16F193x chips but you can still program them with the PK2 application V2.61
 
Last edited:
Wp100:
I have owned the PK2 for several months. I have a fairly recent version of MPLAB, but I think when I installed I didn't select the option to include PK2 functionality from within MPLAB. The only reason I'd get PK3 is because the PICs I'm using now are supported by it for debugging, but not the PK2.

I've been programming without debugging since the start of my little journey, I just figured that most everyone used ICD for debugging once they got into more complex things.

Nigel:
Would you say that you don't use the ICD much because it really isn't helpful in debugging as opposed to say MPLAB SIM, or because you are good enough with your programming that you don't make enough mistakes to warrant needing ICD?
 
Last edited:
Another think to consider:. Most of the inexpensive ICDs work at the machine code/register level, which means you have to be intimately familiar with the code produced by a higher level compiler, if you use one... Since I use C, an ICD (or at least the ones I can afford) doesn't do much for me...
 
Last edited:
Hi,

Well not sure if you can just re-run MPlab to just update / repair it for the Pk2 module, you might have to uninstall and do a clean install again.

You would not normally run the hardware dugger until your project is well advanced and you hit some unexplained problem when running it on the hardware.

As to getting the much maligned ( rightly or wrongly) Pk3 to run degugger on your 16F193x chips - well do you need to use those chips ?
Seems a high price to pay for hardware debugger for them ..?

OK they do have a direct lcd drive, but thats not often used in hobby projects and the cap sensing feature is good if you want to use them, but otherwise they are quite simllar to many other 16F and the improved 18F chips which do have full PK2 / Mplab support.
 
Another think to consider:. Most of the inexpensive ICDs work at the machine code/register level, which means you have to be intimately familiar with the code produced by a higher level compiler, if you use one... Since I use C, an ICD (or at least the ones I can afford) doesn't do much for me...

Very good point - it's an assembler level debugger.
 
Status
Not open for further replies.

Latest threads

Back
Top