Autor Tema: dsPIC33F PICKIT no graba  (Leído 2073 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado daniel_82

  • PIC10
  • *
  • Mensajes: 12
dsPIC33F PICKIT no graba
« en: 14 de Abril de 2014, 15:12:09 »
Buen dia:

Escribo para ver si me dan una mano con el siguiente problema:
Estoy intentando programar un dsPIC33FJ128GP802, lo he hecho durante mucho tiempo con el ICD2. Ahora adquirí un PICKIT3 y un PICKIT2 y con ninguno de estos dos logro programarlo. El código y el hard son los mismos que funcionaban correctamente con el ICD2.
Pero ahora con ninguno de los 2 PICKIT logro hacerlo andar. He probado con los software de los PICKIT, el MPLAB IDE y el MPLAB X y siempre pasa lo mismo, la programación no reporta error, dice que esta todo OK. Pero el micro esta vacío, lo leo después de programado y todas las posiciones de memoria están vacias.
Si lo utilizo en modo debugg, ahí si anda. Pero en modo programación con ninguno de los dos programadores funcionan.

Gracias al que me pueda ayudar.
Saludos




Desconectado daniel_82

  • PIC10
  • *
  • Mensajes: 12
Re: dsPIC33F PICKIT no graba
« Respuesta #1 en: 16 de Abril de 2014, 10:17:56 »
Buen dia. Ya encontré la solución, la dejo para compartir.

Era un problema de configuración de FUSES, unos FUSES especiales que no están disponibles en el menú Configure -> Configuration Bits del MPLAB IDE y sin querer los estaba configurando por línea de código.

En la pagina 299 del datasheet el registro FICD tiene tres bits reservados. Estos bits se pueden configurar (con el compilador C30) con la función: _FICD


#define _FICD(x) __attribute__((section("__FICD.sec,code"))) int _FICD = (x);

/*
** Only one invocation of FICD should appear in a project,
** at the top of a C source file (outside of any function).
**
** The following constants can be used to set FICD.
** Multiple options may be combined, as shown:
**
** _FICD( OPT1_ON & OPT2_OFF & OPT3_PLL )
**
**   Background Debug Enable Bit:
**     BKBUG_OFF            Device will Reset in Debug mode
**     BKBUG_ON             Device will Reset in user mode
**
**   Debugger/Emulator Enable Bit:
**     COE_OFF              Reset in clip-on operational mode
**     COE_ON               Reset in operational mode
**
**   JTAG Enable Bit:
**     JTAGEN_OFF           JTAG is disabled
**     JTAGEN_ON            JTAG is enabled
**
**   ICD communication channel select bits:
**     ICS_NONE             Reserved
**     ICS_PGD3              communicate on PGC3/EMUC3 and PGD3/EMUD3
**     ICS_PGD2             communicate on PGC2/EMUC2 and PGD2/EMUD2
**     ICS_PGD1             communicate on PGC1/EMUC1 and PGD1/EMUD1
**
*/

El parámetro COE_OFF hace que el dsPIC programado con PICKIT 2 o 3 no corra el soft pero con el ICD2 si corre.
Colocando el parámetro en COE_ON. El programa corre con los 3 programadores.

Saludos

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: dsPIC33F PICKIT no graba
« Respuesta #2 en: 16 de Abril de 2014, 11:59:18 »
  Pero que rebusca'o el asunto  :5]  Qué bueno que hayas podido dar con la solución  :-/ :-/ :-/
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas