TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: jaio21 en 06 de Marzo de 2012, 02:32:35
-
Se puede recuperar un PIC mal gravado con CodeP. y DataP.?
De antemano ACLARO no es leer un pic ajeno lo q quiero es BORRARLO ;-)
:? Explico lo sucedido fabrico tarjetas de todo tipo pero nunca habia hecho tarjetas para un proyecto grande en serie y en el proceso programe 35 PIC16F628A :5] con el PICKIT2 activando el CODE PROTECT y el DATA PROTECT que posee el software PICKIT2 para evitar que me clonen el proyecto... :( pero sucede q tengo que grabarle un lenguaje mejorado a los PIC pero dichos PIC no se deja GRAVAR....
Al intentar leerlo todo me aparece en 0000 y arriba en rojo ALL PROTECT
Al Borrarlo o Escribirlo con los CODE PROTECT y DATA PROTECT Desactivados Igual no pasa nada la dicha protección pues tengo entendido q puedo protegerlo con el CODE PROTECT y volver a re-programarlo mas no leerlo...
MI PREGUNTA ES ?
Hay algún modo de BORRAR EL PIC COMPLEMENTE PARA gravar el nuevo lenguaje y no perder los 35 PIC??
Pues seria Doloroso tirar a la basura los 35 PIC ya q no pueden ser reutilizables :(
Agradecería cualquier ayuda y se q muchos asi como yo también se beneficiaran con este TEMA... no creo q aya sido el unico en cometer este estupido error
-
No conozco el software del Pickit pero te aseguro que con Winpic800 y gtpusb sí que se pueden borrar y reutilizar.
Me imagino que con tu software también se podrá y sólo faltará que des con la tecla.
-
Muchas gracias por responder NOCTURNO me das un respiro de esperanza pero lamentablemente no tengo otro programador de PIC y este pickit2 creo q no es compatible con otros programas lo eh intentado configurar pero esta hecho solo para el software PICkit2 me tocara conseguir otro programador para hacer la prueba...
Si alguien mas que conozco a profundidad el Pickit2 y tenga una solución.. porfavor echarme una manito :(
-
Me parece que con PICKITII no lo vas a poder hacer, ya que este no cuenta con el comando de boorado total e chip (que no recuerdo como se llama). Quizas un programador por el puerto serial, con un software como WINPIC o ICPROG te puedan ayudar.... Saludos.
-
Si Cierto amigo yo inicialmente trabajaba con el ICProg.... y es maravilloso pero usaba el programador de pic por LPT y una fuente de 12V adicional y era algo engorroso pero por comodidad del USB me cambie al PICkit2 y regale el PIC-LPT... y ahora lamento haberlo hecho, pero bueno creo q tendre a construirme otro programador para el ICPROG...
GRacias por tu respuesta
-
Como crees que el pickit2 no va a tener la función de borrado si es la herramienta oficial.
Si el pic esta protegido con darle en borrar no importa la protección que tenga,simplemente lo borra.
Lo que comentas que no se dejan borrar o grabar me llego a pasar hace tiempo con esos mismos pics y era porque usaba el oscilador interno y NOMCLR;Entonces cuando conectaba mi programador este energizaba el uC y empezaba a trabajar y si ocupada los pines de programación como salida hacia conflicto con las señales del programador.
-Deja sin marcar la opción de FAST Programming
-Marca la opción de USE VPP FIRTS
con eso deberían borrarse,sino tal vez el problema este por otro lado.
Estas programando con el pic ya colocado en tu aplicación??? si es asi, hay alguna carga o conexion en los pines PGD y PGC ??
MCLR esta como entrada??
Cuando das leer desde el programa del pickit2 te reconoce el pic???
Saludos!
-
Lo que comentas que no se dejan borrar o grabar me llego a pasar hace tiempo con esos mismos pics y era porque usaba el oscilador interno y NOMCLR;Entonces cuando conectaba mi programador este energizaba el uC y empezaba a trabajar y si ocupada los pines de programación como salida hacia conflicto con las señales del programador.
El lenguaje de los PIC estan elaborados para trabajar con un cristal de 4Mhz por lo cual no creo q sea esa falla...
-Deja sin marcar la opción de FAST Programming
-Marca la opción de USE VPP FIRTS
Ya Probé con las opciones q me comentas pero con los mismos resultados :(
Estas programando con el pic ya colocado en tu aplicación??? si es asi, hay alguna carga o conexion en los pines PGD y PGC ??
MCLR esta como entrada??
No... los estoy usando directamente en el programador PICKIT2 casero elaborado por mi... Y ya eh verificado los voltajes de pickit2 y estas todos bien y estables según los datos software PICKIT2
y Si detecta los PIC sin problema
Gracias por responder...
-
Si le das a "Erase" te lo borra, tanto los fuses de proteccion como cualquier cosa que contenga el pic.
-
Si le das a "Erase" te lo borra, tanto los fuses de proteccion como cualquier cosa que contenga el pic.
No lo hace amigo ya e hecho de todo con el pickit2 eh indagado por todos lados el software
-
Esta muy raro.
En vez de solo borrar , prueba cargando otro programa a ver si cambia en algo(aunque para grabar primero hace el paso de borrar).
-
Fue lo primero q intente al querar cambiar el nuevo lenguaje como no funciono probe con otro lenguaje sencillo para prendre solo un led pulsante y nada estoy q lloro jajajaja :P
-
Hola, en este hilo, se comenta que puede ser culpa del cable usb, prueba por si las moscas.
problema borrar pic16f628a (http://www.todopic.com.ar/foros/index.php?topic=31554.0)
Hola de nuevo, se me olvidaba, checa la opción "Target Vdd Source "y ponla en "Force Target" y así te aseguras de que el pic nunca estará alimentado , prueba y nos comentas, por cierto usa esto solo para borrar, para leer, seguramente tengas que conectar de nuevo la alimentación.
-
Según el manual del PicKit2, la función erase, usa "bulk erase" y según el documento que brinda microchip acerca de como programar los 62xA, justamente usando "bulk erase" no importa el estado de los bits de protección ya que borra todo.
No conforme con ello, acabo de probar con un 628A. Grabé un programa que usaba cristal con la protección activada e igualmente lo pude borrar. Luego grabé lo mismo pero con oscilador interno y también lo pude borrar y volver a programar.
¿Cabe la posibilidad que tengas activado LVP en la configuración de los PIC? De ser así, es conveniente que dicho pin esté conectado a GND al momento de la programación, ya que un estado alto o incluso un estado ambiguo, puede hacer que el PIC entre en modo programación pero en modo LVP y en dicho modo no funciona el "bulk erase"
-
con el pikit 2 descelecciona en programmer clear memory buffer on erase y listo.
-
Buenos días a todos, tengo un problema similar, sucede que tengo un PIC18F4550 el cual grave hace tiempo con un Pickit2 casero, el programa usa bootloader y tenia activado el fuse PROTECT, el programa funciona adecuadamente con la tarjeta que en ese entonces tenia para mi aplicación, bueno ahora quiero hacer otra aplicación y cuando pongo mi PIC18F4550 en el Pickit2 para gravar el nuevo programa sale:
Device: Unsupported Part(ID=3FE0)
User IDs: FF FF FF FF
Cheksum: FC00
Y en la ventana de mensajes: No device detected con fondo color amarillo.
Como lo mencione el PIC18F4550 funciona perfectamente con la tarjeta de mi aplicación anterior y el Pickit2 también funciona bien pues lo probé con un PIC16F877A y lo reconoce y puedo gravar, leer, borrar, etc. No entiendo que sucede o por que no me reconoce el PIC18F4550, si alguien me pudiera ayudar le estaría muy agradecido.
Saludos desde Perú.
-
Hola, soy nuevo en el foro. Me paso lo mismo que a muchos de aca .Intentando grabar dos dspic30f4013 y por atolondrado deje activos los fuses de protección contra escritura y de lectura de código. (GWRP y GCP). intente borrarlos o regrabarlos con un programa sencillo para enceder un led y nada, pude configurar al clok externo (HS) pero las protecciones quedaron en modo Enabled. los dspic me devuelven 0x0 a cualquier pedido(por ej un blank check). el tema que estos bichos me salieron bastante caritos para cambiarlos. seguire probando para dar con la tecla. si alguien paso por algo igual agradecería alguna sugerencia.
p/d: uso el pickit 3 (tambien para alimentarlo) programo con el mplab ide v8.90
probe todas las conexiones y las soldaduras de la entrenadora que tan solo tiene una resistencia de 10k entre mclr y vdd mas el cristal con sus dos capas de 22nf a masa.
-
Hola! Estoy teniendo un problema similar al que mencionan acá. Programé un 16F876A con el software PickIt 2, y un programador clon que compré.
Al momento de grabar, (por apurado..), no revisé la Configuration Word, y aparentemente me quedó activada la protección de memoria de programa y eeprom.
Inicialmente, pude programar el PIC correctamente. El problema surge, al intentar re-programar al mismo. Si quiero escribir un nuevo programa, me muestra: "Program failed at Program Memory address 0x000001".
Si quiero borrarlo, me dice que la operación se completó correctamente, pero luego al hacer una lectura, me muestra que el contenido de la memoria de programa son todos 0000 (en lugar de los 3FFF que debería encontrar).
Además, aparece la sentencia 'All Protect'. Esto, me está indicando que el PIC se grabó como protegido. Lo extraño es que, hasta lo que entiendo, los fusibles que configuré estarían correctos (utilice el Proteus, y los fusibles: Config HS_OSC, PWRTE_ON, CPD_OFF, WDT_OFF, BODEN_OFF, LVP_OFF ,DEBUG_OFF, CP_OFF, WRT_OFF).
Cuando importo el .hex al PickIt2, me aparece la Configuration Word: 1E32, la cual establece:
- Flash Program Memory Code Protection ACTIVADO!!
- In_Circuit debugger desactivado. Habilita usar RB6 y RB7 como pines I/O normales.
- Flash Program Memory Write Enable bits off
- Código de protección eeprom ACTIVADO
- Programación de bajo voltaje desconectado
- No actúa el reset por bajada de tensión
- Reset de inicio conectado.
- Perro guardián desactivado
- Oscilador exterior para clock de 8Mhz.
No termino de entender porqué, si supuestamente los fusibles están bien configurados, a la hora de crear el .hex, los mismos aparecen diferentes. O al menos el de Code Protection. ¿No debería estar en Off si puse específicamente CP_OFF?
Y quizás más importante, la pregunta:
¿No hay alguna forma de re-programar el PIC aún cuando el mismo se encuentre protegido? Probé todas las opciones nombradas acá:
-Dejar sin marcar la opción de FAST Programming.
-Marcar la opción de USE VPP First Program Entry.
-Cambiar el cable USB por otro.
-Desceleccionar en programmer clear memory buffer on erase.
Pero ninguna me produjo un resultado distinto. El programa siempre me hace lo mismo.
Ya voy por mi segundo PIC "mal grabado". :5] Les agradecería cualquier comentario que me puedan hacer sobre esto.
Saludos
Martín
-
Agrego nuevos datos. Probé también con un Pickit 3 (original), y conectándolo según la forma estándar (No usando LVP). El resultado es exactamente el mismo. Leo los ceros protegidos, pero no me permite borrarlo, ni sobreescribir el programa. :(
-
Muchas gracias AKENAFAB.
Intenté programar un PIC12F675 con MCLR configurado como I/O y el oscilador interno, y el software PICKIT 2 ya no me reconocía el PIC. Siguiendo las instrucciones de AKENAFAB el software volvio a reconocer el PIC y pude borrarlo, para luego volver a utilizarlo :D