I'm seeing a new behavior of my PICkit 3 that I did not have before. I hope someone can point me to a direction, it seems that I either messed with some MPLAB-X configurations, or my PICkit 3 is simply broken.
During firmware development I usually could just program my device at any time after I made some changes to the firmware. I could also debug my project at any time. Now the PICkit 3 always returns the error message "Failed to program device" when the device is not empty. So after each Firmware change, I'm currently closing MPLAB-X, starting the IPE, erasing the device and finally restarting MPLAB-X. Then I can successfully program the controller without error message.
What I have checked so far:
The project properties / Config PICkit3 / Program Options have a default setting for erasing everything before a new programming. My configuration bits in the firmware disable the write protections (FBS and FGS) This is the output of the PICkit 3: Code:
Connecting to MPLAB PICkit 3... Firmware Suite Version.....01.29.08 Firmware type..............dsPIC33F/24F/24H
Target detected Device ID Revision = 0
The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0xbff configuration memory
Programming... Calibration memory Address: 0 Expected Value: 0 Received Value: 0 Failed to program device