Problema con el debugger de un ICD2 clónico

Hola chavalería, me he comprado un programador ICD2 clónico por ebay por 20 eurillos, la verdad sk está muy bien, programa de cine, pero a la hora de debuggear me dice :
Connecting to debug executive
ICD0083: Debug: Unable to enter debug mode. Please double click this message for more informaciónrmation.
Esto me solía pasar alguna vez también con el original cuando hice el proyecto de fin de carrera pero me acuerdo k me lo resolvieron.Ahora que estoy solito frente al peligro no se como resolver el problema. Estoy programando un 18f2520 y puede ser algo de los bits de configuración o algo. Yo creo k el hardware no es problema por que llega a programar, pero me ha comentado un ingeniero amigo mio que el firmware del ICD2 entra en el debug mode tras una puesta a cero del reset durante un tiempo determinado o algo así y que puede ser por que el circuito está montado en la placa board y ya se saben las capacidades ineherentes que puede haber, ya se sabe la electronica es misteriosa. Si alguien me puede ayudar les agradecería mucho, plisss
 
Por el lado del hardware, para el debugger tenés que dejarle libres los pines PGC, PGD, /MCLR, PGM debe estar a masa (*). Y si el PIC tiene entradas AVDD, AVSS conectarlas a la fuente respectiva.
La pata MCLR tiene que tener una resistencia de pullup a +Vcc

Por el lado del software, tiene que estar deshabilitada la opción de programación con baja tensión.
También chequeá no usar los recursos que necesita el debugger, para tu caso son:

Memoria de programa: 0x7DC0-0x7FFF
Registros: 0x5F4-0x5FF

La pila también es utilizada por el ICD2, TOSL, TOSH, TOSU no los utilices.

También configurá apropiadamente el ICD2 (comunicación RS-232 o USB, si la placa de aplicación tiene su propia alimentación o utiliza la del ICD2.

Si tenés activada la protección de código no vas a poder depurar, programalo de vuelta con la protección desactivada.

Bueno, eso es lo que se me ocurre por ahora. Si no es nada de eso, posteá un esquemático en el que figure como están conectadas los pines que mencioné al principio (el resto no hace falta). Programás y depurás con el MPLAB IDE o con otro programa?. Usas USB o RS-232?. Revisá la ayuda del ICD2 que no te voy a decir nada que no esté ahí.

Saludos

--------------------------
Edición

(*) eso de PGM a masa segun entiendo puede llegar a ser necesario (con un pull-down) solo si el PIC no se programo nunca antes y viene por default con "Low voltage program" habilitado. Una vez que se programó con esa opción deshabilitada no debería haber problemas si se usa para otra cosa.
Lo dejo para que no confíen mucho en lo que les digo
 
Gracias por tu inestimable ayuda ardogan.

Para empezar por el lado del hardware, para el debugger dejo libres los pines PGC, PGD y PGM para que los utilice el ICD2 tal y como me muestra el fabricante. La conexion del icd2 a VPP la conecto a MCLR cuyo hardware es el respresentado en el archivo adjunto. ¿Cuando dices que el PGM debe estar a masa que quieres decir? Que lo ponga en el pic, en el icd2 o en ambos. Mira eso no lo hacia, no conectaba el PGM ni al icd2 ni en el pic vamos que solo utilizaba PGC y PGD.
Por supuesto conecto el PIC con su cristal de 12Mhz con sus condensadores de 22pF y dos condensadores de desacoplo de 0.1uF.

En cuanto a los bits de configuración utilizo los que muestro en el archivo adjunto. Te pido con el corazon en un puño que le eches un vistazo haber que podemos sacar en claro por que me estoy rayando muchisimo.
Utilizo USB 19200 baudios y MPLAB IDE.
Gracias gracias gracias
 

Adjuntos

  • reset_241.jpg
    reset_241.jpg
    6.5 KB · Visitas: 368
  • configbits_626.jpg
    configbits_626.jpg
    112.1 KB · Visitas: 46
Se me olvidaba en el modo debugg no me pasa de aqui, del archivo c018.i
#pragma code _entry_scn=0x000000
void
_entry (void)
{
_asm goto _startup _endasm

}
 
Lo de los bits de configuración está bien (en particular lo que decía era que "Low voltage program" tiene que estar desactivado, y todos los "code protect también").
Lo de PGM a masa, mi error, mis disculpas. El pin de PGM no requiere ningún conexionado en particular, con que "Low voltage program" esté deshabilitado ya está.

Probá sacando el capacitor de MCLR: "No capacitors on MCLR, they will prevent fast transitions of
VPP. A simple pull-up resistor is generally sufficient" (ayuda del ICD2).
PGC y PGD no tienen que tener pullups, ni capacitores, ni diodos... ni nada, conectados de los pines del pic al ICD2.

Por último respecto al hardware, otra cosa para probar es cambiar la resistencia de pullup por un valor en el rango medio (según la especificación se supone que puede ser de 1K a 10K, una de 4K7 y estamos lejos de los límites).

La secuencia sería:

1) enchufar el ICD2 al puerto USB de la PC
2) Ejecutar el MPLAB IDE
3) Debugger-> Select tool -> MPLAB ICD2
4) Chequear configuración: Debugger->Settings
a) Pestaña Status -> "Automatically download firmware if needed" esté habilitado, mi preferencia es deshabilitar opción "Autoconnect at startup", para tener la chance de verificar la configuración antes de que el ICD2 interactúe con la placa con el pic a programar.
b) Pestaña communication este configurada de acuerdo a si vamos a usar USB o RS-232
c) Pestaña program, si uno no quiere andar reservando memoria dejar seleccionada opción "Allow ICD2 to select memories and ranges"
d) Pestaña Power verificar casilla "Power target circuit from MPLAB ICD2" esté de acuerdo a nuestra aplicación
e) Pestaña Warnings, que estén todos chequeados por si falla algo tener la mayor información posible

5) Energizamos la placa de aplicación.
6) Damos la instrucción de que el MPLAB se comunique con el ICD2 con menú Debugger-> Connect
7) Si a esta altura hay error (el MPLAB tira un mensaje raro), verificar en Debugger-> settings-> pestaña Status -> Run self test a ver si los valores están en orden (Vpp's más de 10 V, Vdd a 5V, GND a 0V). Si no pasa el test revisar conexiones.
8) Si sigue sin andar... problema complicado (probablemente estés utilizando Windows Vista ).

Buena suerte, comentanos como te fue.
 
Ah no ví antes tu último mensaje:

Se me olvidaba en el modo debugg no me pasa de aqui, del archivo c018.i
#pragma code _entry_scn=0x000000
void
_entry (void)
{
_asm goto _startup _endasm

}

Quiere decir que la conexión anda. Chequeá el inciso 4)_c en particular.
 
Efectivamente tengo vista y efectivamente no me funciona.Todo esto ya lo venía aciendo voy a intentar poder hacerlo en xp.Suerte en tu carrera k veo k eres cuasi ingeniero electronico, yo lo soy y de verdad abre muchisimas puertas
 
Fijate que hace poco salio el release 8.15 del MPLAB que específicamente dice:

- 64-bit USB Drivers – USB drivers for Windows Vista 64-bit operating system allows MPLAB ICD 2, MPLAB REAL ICE and other tools using USB interfaces to operate in both Windows 32-bit and 64-bit platforms (XP-64 and Vista-64).

Página MPLAB:
http://www.microchip.com/stellent/i...E&nodeId=1406&dDocName=en019469&part=SW007002

MPLAB 8.15:
http://ww1.microchip.com/downloads/en/DeviceDoc/mp815.zip
 
Atrás
Arriba