Electrical – How to resolve the following error “Verify failed. [ Pgm ] at 0x0, expected 0x00002805, got 0x00002807” in MPLAB X IDE

errormplabxpic16fpickitprogrammer

I recently decided to get into learning how to develop embedded systems, using MPLAB X IDE and literature available on microcontrollers. The vast majority of which referenced the PIC16F84 and as such I decided to invest in the hardware to build and test out the programs, once I had gotten familiar with coding using the PIC16F84.

Unfortunately, the specific ICSP programmer used for this MCU is no longer available & a lot of the online commentary were suggesting that PICKit 4 was essentially the same, but much better & faster. Therefore, I bought the PICKit 4 assuming that it would be backwards compatible with the PIC16F84.

To cut a long story short, it is not backwards compatible without making a slight modification to the circuit, which I found after doing some research on the internet. It simply involves putting a 100ohm resisor in series between the PICKit progamming pin and the progarmming pin on the PIC16F84.

However, although the PICKit 4 is able to communicate with the PIC16F84, I keep on getting this error "Verify failed. [ Pgm ] at 0x0, expected 0x00002805, got 0x00002807".

PICKit Error

Despite my best efforts, I am unable to find a resolution to this problem, as of yet. However, any insight that anyone can provide will be very much appreciated.

Before, I forget I am using MPLAB X v5.05! 🙂

Another thing. I have also tried to slow down the program, using the device properties menu!

Best Answer

First byte of programs is GOTO[label], unconditional jump to addresss 005. But you have "1" in second bit instead of "0". May be it is a broken bit in program memory. You can upload program memory and compare it with origin. If it is only one bit, you can shift two cells the begining of main program. Just write two NOP before the label of main cycle. So it will start from 007.