Problema de MPLAB X IDE con el programador PIC

Tengo un programador y funciona bien con PICKit2v2. Como puede ver en las imágenes a continuación, leí mi memoria PIC16F877A y escribo en ella con éxito:

ingrese la descripción de la imagen aquí

Pero el problema aparece cuando quiero usar mi programador en MPLAB-X-IDE:

ingrese la descripción de la imagen aquí

Como ve arriba, dice que el programador no se pudo iniciar: ¡Error al programar el dispositivo! ¿Por qué?

Contenido de la pestaña de advertencia de carga del proyecto :

Warning: Project "FirstProject-FlashingLight" refers to file "C:\Users\Amir Ebrahim\MPLABXProjects\FirstProject-FlashingLight.X/myMain.c" that contains spaces or odd characters in its name or its path.
Some of the files in this Project "FirstProject-FlashingLight" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process. Removing spaces from all file and folder names included in this project will eliminate this potential issue.

Contenido de la pestaña PIC Kit2 :

Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:40:36
PK2Error103: Unexpected device ID: Aborting as requested
PK2Error103: Unexpected device ID: Aborting as requested
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:40:57
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:41:19
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:43:35
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:56:45
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:57:42
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)

Tenga en cuenta que el proyecto que traté de programar en mi MCU es un proyecto vacío (quiero decir que solo tiene un main() vacío y nada más; solo hice los pasos principales para crear un proyecto como se menciona en la sección Inicio rápido de MPLAB X IDE). También probé otro proyecto que funcionó bien en otra computadora con otro lector, pero recibí el mismo error (así que no hay problema con el proyecto).

Agradezco su tiempo y su consideración.

Respuestas (2)

El PICkit2™ solo tiene soporte parcial (es decir, beta) en MPLAB-X. Si su PICkit2™ no es un Microchip genuino, es probable que no funcione con el controlador en MPLAB-X.

He usado durante muchos años un clon barato de PICkit2™ (uno de los amarillos envueltos en termorretráctil de eBay). Funciona perfectamente en todo lo demás, pero MPLAB-X no funcionará en absoluto.

El PICkit2™ ahora se considera un producto al final de su vida útil y, como tal, no han invertido mucho tiempo ni dinero en migrar el controlador a MPLAB-X. Han hecho lo suficiente para respaldar los conceptos básicos de los oficiales, pero no lo suficiente para que funcione con los dispositivos clonados de otros.

Puede que, en parte, haya sido un intento de frenar el uso de clones no autorizados y aumentar las ventas de los oficiales, pero probablemente solo sea mi cínico el que habla.

Siempre uso pk2cmd o pic32prog con mi PICkit2™ desde la línea de comandos; ambos funcionan perfectamente. Si necesito programar o depurar directamente desde MPLAB-X, entonces uso un PICkit3™ en su lugar.

También he estado usando un clon amarillo del PICkit2 y tampoco funciona con MPLABX... Probablemente porque es un clon, sí.
Secundo esto. Uso MPLAB X solo cuando realmente necesito depurar mi aplicación o cuando estoy usando PK3. En mi experiencia, la aplicación independiente PK2 funciona más rápido y tiene acceso a la herramienta lógica/serie que puede ser útil en ciertos PIC donde puede redirigir los pines de E/S al mismo que los pines ICSP.
Estimado Majenko, agrego la línea #define _XTAL_FREQ 12000000en la segunda línea después de #include <xc.h>! ¡ Y ahora, el MPLAB X funciona bien con el programador! ¡¿Sabes por qué?! Tenga en cuenta que si lo cambio a #define _XTAL_FREQ 6000000, ¡recibiré el mismo error nuevamente!
Vaya, no funciona de nuevo! ¡Es aleatorio! :\

He tenido problemas similares al usar PICkit 2 con MPLAB X. Es uno de los dos PICkit 2 kosher que compré hace un tiempo y usé una cantidad considerable. Dos chips de destino diferentes, proyectos diferentes, todo tipo de operaciones. Finalmente, volví a MPLAB 8 (mejor interfaz de usuario y diseño que X, claro y conciso, Y tiene el control adecuado para PICkit 2 fácilmente disponible). Entonces, descargué un nuevo sistema operativo PICkit 2. Sin mejora. Se jugó con la configuración del programador en PICkit 2... no se hizo ningún cambio real... pero al salir con Aceptar, el problema se solucionó. Sospecho que el controlador tiene un estado de configuración en caché que se corrompe. Desinstalar y volver a instalar el controlador (la clásica idiotez de Windoze) probablemente tendría un efecto similar. Entonces, la conclusión es: probablemente un controlador defectuoso, control inadecuado de PICkit 2 de MPLAB X.