miércoles, 31 de diciembre de 2014

Problemas con PICKit2 en MPLAB X?

Estas navidades (a parte de retomar las entradas que me faltan de nuestro Wirelearn Robot Shield), se me ha ocurrido una idea y para llevarla a cabo he tenido que desempolvar mi PICKit2. Después de leer un poco acerca del mundillo de los microcontroladores de Microchip para ponerme al día, he descubierto que MPLAB X IDE ya está en su version 2.26. Además, el compilador Hi-Tech C de la misma casa está en desuso, y lo reemplazan la nueva serie de compiladores XC-x. 


Escenario

Por lo tanto mi escenario es el siguiente:

- Sistema Operativo Linux Ubuntu - Utopic Unicorn (debería dar lo mismo)
- MPLAB X IDE v 2.26
- Compilador XC-8 debidamente instalado y activado en el IDE.
- Programa sencillo (yo hice un blink con un LED en el pin RD4)

Me dispongo a compilar (build) y todo va bien, pero a la hora de programar, obtengo un mensaje de error tal que así:

The programmer could not be started: Could not connect to tool hardware: PICkit2PlatformTool, com.microchip.mplab.mdbcore.pickit2.PICkit2DbgToolManager

Solución

  • Antes de nada, necesitas un PC con windows (a poder ser la versión 7). Descárgate la aplicación PICKit 2 v2.61 aquí.
  • Instala la aplicación en tu PC con Windows 7 (o si eres un valiente intentalo con Wine y nos cuentas).
  • Conecta el PICKit2 y cuando esté reconocido e instalado, abre la aplicación. En la pantalla principal de la aplicación debería mostrar que está conectado.
  • Ahora vamos a Tools > Calibrate VDD and set Unit ID. Damos "next" 3 veces hasta saltarnos la historia del VDD que no nos interesa. Entonces nos aparece una pantalla en la que podemos introducir un "Unit ID". Ponemos lo que nos de la gana, (sin caracteres raros) y finalizamos. Hacemos lo que nos dice de esperar a que el USB esté listo.
  • Reiniciamos MPLAB X y listo. Con esa ID, ya puedes utilizar tu programador en cualquier PC


Al parecer es necesario en MPLAB X que el PICKit2 tenga una ID (los dispositivos antiguos no estan serializados y por defecto vienen sin ID).

Solamente añadir que a mi me aparece el PICKit2 con dos puntitos amarillos en el las propiedades del proyecto para el PIC que utilizo (16F887), y funciona perfectamente con el compilador XC-8, tanto para programar, como para hacer debug.