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.

Why do I need an ICD (In Circuit Debugger)?

Status
Not open for further replies.
Oh I see I have to connect my new PIC outside running a 5 pin cable from the ICD circuit.

Earlier I thought I have to fix the new PIC in the ICD circuit.

Then what’s the purpose of the PIC already in the ICD circuit?

Do I need two PICs?
 
Oh thanks a lot 3V0 now I understand.

But how can I program the ONBOARD chip (the ICD BRAIN CHIP)?
Do I have to program it from a different programmer & insert it?

So where is the hex file?

Sorry for asking more questions.
 
It looks like your ICD uses a 16F876. This **broken link removed**has a link to the HEX file you need to program it with.

Where did you get the schematic for the one you built. Did it not talk about programming and testing the ICD?
 
3v0 said:
It looks like your ICD uses a 16F876. This **broken link removed**has a link to the HEX file you need to program it with.

Where did you get the schematic for the one you built. Did it not talk about programming and testing the ICD?

Here it is **broken link removed**
 
Yes you need a different (simpler) programmer to program the PIC for the ICD.

One of the parallel types seem to be the most reliable. Some have had good luck with the JDM style programmers but not always with laptops.
You may want to go to the programmer.
 
Last edited:
On stolz's site you need to see 3.1. ICD's Firmware.

He also has a **broken link removed** that you can use to program the PIC.

It can be bult with only 4 10K resistors. He calls it dirty but working. The P16PRO40 is a better programmer but since you only need to program the one chp you may want to give it a try. I have not tried it.
 
Hi 3V0 thanks your explanation.
I’m sorry I have some more questions to ask so please answer me.

What’s the meaning of a BOOTLOADER & FIRMWARE? Is it the OS in the ICD main chip?
 
I do not mind answering your questions but if you want better/faster answers to the simple ones you can google for them or look them up on wikipedia.

What follows have been put in the most basic terms. Not 100% correct but it should move you in the direction of understanding these terms enough so you can read more about them elsewhere.

First some basic definitions.

uC = microController
RAM = Random Access Memory
ROM = Read Only Memory
Flash = a type of ROM used by many uC, also known as EEPROM.

FIRMWARE is code that is saved in and executed out of ROM. Code you store/execute on a flash PIC is firmware. The code inside a microwave oven is firmware.

A BOOTLOADER is a simple program with the purpose to load other programs. A bootloader must be written to the uC with a programmer. After the bootloader is in place the uC can be programmed without the use of a programmer. Most often this is done over a RS232 or USB connection. The bootloader can also be used to reprogram the flash. So once you have a bootloader on a uC you can do without a programmer. This is very useful to upgrade firmware after a product is released.

A BOOTLOADER is most often firmware because it is software stored in ROM.

What does this mean for the ICD2?

The uC that is the brains of the ICD2 needs firmware to function.
To make life easy that firmware is initialy a bootloader.
MPLAB communicates with the bootloader on the ICD2 to download the software needed to program other PICs. Microchip calls this software an OS (operation system).

There are several OS used to program various Microchip uC's. If you had been programming 16F chps and switched to a 18F chip the ICD2 would need a different OS. MPLAB uses the bootloader on the ICD2 to load in that new OS.

HTH
 
Last edited:
Oh I see now only I fully understand the real situation.
From the very first time only I have to program the firmware (BOOTLOADER) file to the brain chip using an external programmer. After that I have the OS. So after that I can program, flash & debug other new chips inserted in the target board.

I’m half way mark building the ICD circuit.

Thanks 3V0 you helped me a lot.
Many thanks
 
Status
Not open for further replies.

Latest threads

Back
Top