TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: mlen en 23 de Septiembre de 2013, 17:01:38

Título: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: mlen en 23 de Septiembre de 2013, 17:01:38
La consulta es si alguien sabe como puedo borrar la memoria interna eeprom del microcontrolador pic16f917 sin borrar ni cargar un programa en el pic, ya que esta cargado con un programa que esta protegido y no se puede reprogramar.
Yo uso el mplab v8.36 y tengo el icd2 con conexion por usb.
Alguna idea?  me dijeron que si le aplico tension con una resistencia de bajo valor a una pata del micro se puede borrar la eeprom es cierto o es una mentira.

Desde ya muchas gracias, espero las respuestas .



Saludos
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: soymoe en 24 de Septiembre de 2013, 09:36:03
Seguramente en tu programa para grabar el pic te va la opcion de preservar la memoria eeprom, investigalo, lo de la resistencia es mentira.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: MGLSOFT en 24 de Septiembre de 2013, 09:42:14
Es al reves lo que quiere hacer, que yo sepa, no se puede hacer.
Salvo que tengas la aplicacion, es imposible.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: mlen en 24 de Septiembre de 2013, 10:36:31
Hola soymoe, no tengo el programa. Solo tengo el pic programado. Lo que tengo que hacer es borrar la eeprom. La pregunta es si se puede hacer y como.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: soymoe en 24 de Septiembre de 2013, 18:29:55
Hola soymoe, no tengo el programa. Solo tengo el pic programado. Lo que tengo que hacer es borrar la eeprom. La pregunta es si se puede hacer y como.
Si se puede pero con un programador y el programa para el programador.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: planeta9999 en 24 de Septiembre de 2013, 18:48:08
La consulta es si alguien sabe como puedo borrar la memoria interna eeprom del microcontrolador pic16f917 sin borrar ni cargar un programa en el pic, ya que esta cargado con un programa que esta protegido y no se puede reprogramar.
Yo uso el mplab v8.36 y tengo el icd2 con conexion por usb.
Alguna idea?  me dijeron que si le aplico tension con una resistencia de bajo valor a una pata del micro se puede borrar la eeprom es cierto o es una mentira.



El único caso que yo recuerdo, en el que se podía desproteger un PIC, aplicando un sobrevoltaje en una patilla, era el PIC16F84, y de esto hace un porrón de años, allá por el 2001.

De todas formas lo que planteas, no tiene mucho sentido, ¿ para que quieres borrar la eeprom, preservando el programa en la flash ?.
Si el PIC tiene el CP activado, no le puedes entrar de ninguna manera a nivel casero. Si que hay empresas en China que te desprotegen y sacan el código objeto de practicamente cualquier microcontrolador, CPLDs, etc...

Los PIC suelen ser los más baratos de desproteger, a partir de 600 dólares, y los más complicados y caros los ARM. En internet hay mucha documentación sobre como lo hacen, deshacen el encapsulado con ácido, ponen el chip desnudo bajo el microscopio, localizan el area de fuses, y desactivan el CP, pero no es algo que pueda hacer cualquiera en su casa.






Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: mlen en 25 de Septiembre de 2013, 08:25:56
Bueno para mi tiene sentido, ya que este micro es de un autoelevador que controla un tablero digital y guarda las configuraciones como por ejemplo las horas de uso en la eeprom. Si yo pudiera borrarla me quedaria como de fábrica.  Si no se puede borrar la eeprom voy  tener que hacer ingenieria inversa  y escribir el programa de todo este tablero, lo cual es un dolor de huevos.
     Esto que me comentaste vos de que hay unas empresas que te averiguan el codigo en china, no lo sabia, voy a ver que onda.
Pero parece que lo que quiero hacer yo no se puede por lo que me han dicho, asi que gracias por las respuestas.
Hasta luego
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: planeta9999 en 25 de Septiembre de 2013, 10:11:15
Bueno para mi tiene sentido, ya que este micro es de un autoelevador que controla un tablero digital y guarda las configuraciones como por ejemplo las horas de uso en la eeprom. Si yo pudiera borrarla me quedaria como de fábrica.  Si no se puede borrar la eeprom voy  tener que hacer ingenieria inversa  y escribir el programa de todo este tablero, lo cual es un dolor de huevos.
     Esto que me comentaste vos de que hay unas empresas que te averiguan el codigo en china, no lo sabia, voy a ver que onda.
Pero parece que lo que quiero hacer yo no se puede por lo que me han dicho, asi que gracias por las respuestas.
Hasta luego



No vas a poder borrar la eeprom, preservando la flash.
Si se trata de un dispositivo que ya no se fabrica o es extremadamente caro, puedes recurrir a los chinos, allí la extracción de código objeto es algo que está a la orden del día, y es legal, hay montones de empresas que se dedican a eso.

Yo contacté con una de esas empresas chinas, hace años, por un CPLD, me pedían 1200 dólares por sacar el código, aunque al final no lo hice, preferí desarrollar mi propio código, porque no es lo mismo tener el fuente y documentado, que tener un objeto en assembler, por aquello de las modificaciones. En principio es más rápido y cómodo disponer del código objeto, pero a la larga es un problema, si necesitas modificarlo.




Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: elreypic2 en 25 de Septiembre de 2013, 10:58:51
Que tal mlen,

Lo que tu mencionas de borrar solamente el contenido de la memoria EEPROM sin alterar la memoria de programa es posible y es muy simple. Yo lo he hecho varias veces. Yo uso un PICKIT 2 o algun clon del mismo y entonces uso la aplicacion PICkit 2 programmer. Al abrir la aplicacion simplemente deshabilitas la cajita de ENABLE justo debajo de donde dice Program Memory y ademas habilitas la cajita debajo de EPPROM Data, al hacer eso aparece un mensaje en rojo que dice "Write and Read EEPROM data only". Y puedes cambiar los valores en la ventana de la EEPROM, en tu caso pondrias "FF". Luego das click en el boton de Write y listo, con eso se borrara la memoria EEPROM interna del micro sin alterar el contenido del programa.

Te recomiendo intentarlo con otro micro para que este seguro de hacer el procedimiento correctamente.

Saludos.

Elreypic.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: mlen en 25 de Septiembre de 2013, 11:26:55
hola elreypic2 es interesante lo que decís después lo voy a intentar con el icd2 a ver si lo puedo lograr, ahora estoy corto de tiempo.
 Pero te puedo pedir si haces unas capturas de pantalla del método de borrado ?
Salu2
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: planeta9999 en 25 de Septiembre de 2013, 11:39:22
Que tal mlen,

Lo que tu mencionas de borrar solamente el contenido de la memoria EEPROM sin alterar la memoria de programa es posible y es muy simple. Yo lo he hecho varias veces. Yo uso un PICKIT 2 o algun clon del mismo y entonces uso la aplicacion PICkit 2 programmer. Al abrir la aplicacion simplemente deshabilitas la cajita de ENABLE justo debajo de donde dice Program Memory y ademas habilitas la cajita debajo de EPPROM Data, al hacer eso aparece un mensaje en rojo que dice "Write and Read EEPROM data only". Y puedes cambiar los valores en la ventana de la EEPROM, en tu caso pondrias "FF". Luego das click en el boton de Write y listo, con eso se borrara la memoria EEPROM interna del micro sin alterar el contenido del programa.

Te recomiendo intentarlo con otro micro para que este seguro de hacer el procedimiento correctamente.

Saludos.

Elreypic.


Si es como dices, vaya un agujero de seguridad, teniendo el Code Protection activado.
Un dispositivo comercial podría tener ahí almacenado un nº de serie, contador de usos, versión de firmware, código de producto, etc...


Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: RICHI777 en 25 de Septiembre de 2013, 12:23:34
La consulta es si alguien sabe como puedo borrar la memoria interna eeprom del microcontrolador pic16f917 sin borrar ni cargar un programa en el pic, ya que esta cargado con un programa que esta protegido y no se puede reprogramar.
Yo uso el mplab v8.36 y tengo el icd2 con conexion por usb.
Alguna idea?  me dijeron que si le aplico tension con una resistencia de bajo valor a una pata del micro se puede borrar la eeprom es cierto o es una mentira.



El único caso que yo recuerdo, en el que se podía desproteger un PIC, aplicando un sobrevoltaje en una patilla, era el PIC16F84, y de esto hace un porrón de años, allá por el 2001.

De todas formas lo que planteas, no tiene mucho sentido, ¿ para que quieres borrar la eeprom, preservando el programa en la flash ?.
Si el PIC tiene el CP activado, no le puedes entrar de ninguna manera a nivel casero. Si que hay empresas en China que te desprotegen y sacan el código objeto de practicamente cualquier microcontrolador, CPLDs, etc...

Los PIC suelen ser los más baratos de desproteger, a partir de 600 dólares, y los más complicados y caros los ARM. En internet hay mucha documentación sobre como lo hacen, deshacen el encapsulado con ácido, ponen el chip desnudo bajo el microscopio, localizan el area de fuses, y desactivan el CP, pero no es algo que pueda hacer cualquiera en su casa.

+ 1
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: RICHI777 en 25 de Septiembre de 2013, 12:23:58
Que tal mlen,

Lo que tu mencionas de borrar solamente el contenido de la memoria EEPROM sin alterar la memoria de programa es posible y es muy simple. Yo lo he hecho varias veces. Yo uso un PICKIT 2 o algun clon del mismo y entonces uso la aplicacion PICkit 2 programmer. Al abrir la aplicacion simplemente deshabilitas la cajita de ENABLE justo debajo de donde dice Program Memory y ademas habilitas la cajita debajo de EPPROM Data, al hacer eso aparece un mensaje en rojo que dice "Write and Read EEPROM data only". Y puedes cambiar los valores en la ventana de la EEPROM, en tu caso pondrias "FF". Luego das click en el boton de Write y listo, con eso se borrara la memoria EEPROM interna del micro sin alterar el contenido del programa.

Te recomiendo intentarlo con otro micro para que este seguro de hacer el procedimiento correctamente.

Saludos.

Elreypic.


Si es como dices, vaya un agujero de seguridad, teniendo el Code Protection activado.
Un dispositivo comercial podría tener ahí almacenado un nº de serie, contador de usos, versión de firmware, código de producto, etc...


Coincido plenamente !
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: BrunoF en 25 de Septiembre de 2013, 17:33:51
Puede que sea posible escribir sólo la EEPROM sin tener que obligatoriamente reescribir la memoria de programa. Al menos los FUSES de protección son independientes y puede que permitan esto.

Por otro lado, no me parece que vaya a favor del espíritu del foro (incluso no sé si no está violando alguna de las normas) colaborar con un usuario para ir a favor de lo que seguramente es una violación de propiedad intelectual. Recordemos que muchos de los que estamos acá hemos escrito código y lo protegimos mediante estos FUSES y a nadie le gustaría que otro lucre con su esfuerzo y trabajo.

Saludos.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: RICHI777 en 25 de Septiembre de 2013, 17:41:56
Citar
Puede que sea posible escribir sólo la EEPROM sin tener que obligatoriamente reescribir la memoria de programa. Al menos los FUSES de protección son independientes y puede que permitan esto.

Por otro lado, no me parece que vaya a favor del espíritu del foro (incluso no sé si no está violando alguna de las normas) colaborar con un usuario para ir a favor de lo que seguramente es una violación de propiedad intelectual. Recordemos que muchos de los que estamos acá hemos escrito código y lo protegimos mediante estos FUSES y a nadie le gustaría que otro lucre con su esfuerzo y trabajo.

Saludos.

+1
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: elreypic2 en 26 de Septiembre de 2013, 11:06:58
que tal mlen,

Algo que olvide preguntar es si tambien la memoria de datos (eeprom interna) tiene activado el FUSE de DATA PROTECT. Si es así entonces no podras borrar el contenido de esta memoria. Esto es solo posible cuando el FUSE de DATA Protect esta deshabilitado (aun cuando CODE PROTECT esta habilitado).

Saludos,

Elreypic.
Título: Re: Borrar unicamente memoria eeprom interna del pic16f917
Publicado por: mlen en 26 de Septiembre de 2013, 11:12:59
Me parece que esta protegido también la eeprom, porque cuando lo intente leer me aparecia como estaba en blanco la eeprom en view->eeprom del mplab luego de haberla leido con el icd2.