Autor Tema: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..  (Leído 3017 veces)

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

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Hola, quisiera saber si es posible mantener el contenido de la eeprom interna de un PIC aun despues de actualizar este con un nuevo firmware, estoy usando el ICD2 y el picKit2..


Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #1 en: 24 de Marzo de 2014, 13:25:58 »
Está protegida la memoria EEPROM contra lectura? Si no lo está podrías leer la EEPROM antes de grabar el dispositivo.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #2 en: 24 de Marzo de 2014, 13:35:00 »
cuando vuelves a grabar el PIC se borra la eemprom, o puedes cargarle el valor que tu quieras, lo único que podrías hacer es lo que te comenta Bruno, leer el valor qe tiene la eeprom y luego cargarle los mismos valores
« Última modificación: 24 de Marzo de 2014, 15:16:33 por rivale »
"Nada es imposible, no si puedes imaginarlo"

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #3 en: 24 de Marzo de 2014, 14:11:42 »
Creo que se puede configurar si se borra o no la eeprom al grabar..
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #4 en: 24 de Marzo de 2014, 14:16:11 »
Creo que se puede configurar si se borra o no la eeprom al grabar..
con el software del pickit2 se puede, tanto grabar flash y eeprom, como flash sólo o eeprom sólo
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #5 en: 24 de Marzo de 2014, 14:18:23 »
He desarrolla una aplicacion comercial para un cliente pero quiero tener el control de la cantidad de estos productos, por que el cliente me esta solicitando que tenga la capacidad de modificarse el firmware, facilmente el puede hacer un clon del hardware y usar el firmware que le envie para sacar una copia del producto.., lo que estaba imaginando era que el hardware original salga de mi empresa con un firmware 1xx con un numero de serie almacenado en la eeprom interna del PIC y si el cliente requeria un cambio el el firmware le podria enviar un firmware 2xx pero este firmware leeria el contenido de la eeprom en donde se almaceno inicialmente el nro de serie y empezaria a funcionar correctamente, pero si no encontraba datos en este region era por que el cliente esta tratando de hacer una copia de mi trabajo...claro que esto seria posible solo si la siguientes veces no se pudiera borrar el numero se serie almacenado en la eeprom...

En todo caso, alguien tiene otra sugerencia...? 

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #6 en: 24 de Marzo de 2014, 14:52:29 »


Necesitas hacerte un bootloader encriptado.

Aquí puedes ver el que yo tengo hecho para PIC32, cada placa está personalizada con nº de serie, código de producto y versión de firmware, además hay varios campos para bloquear el bootloader si el firmware detecta una placa ilegal (por nº de serie).  http://www.todopic.com.ar/foros/index.php?topic=40379.0

En ese link está la versión que hice para PC-USB, luego hice la versión para tarjetas SD y para pendrive USB.







Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #7 en: 24 de Marzo de 2014, 15:04:05 »
Hola planeta9999,

Yo estaba vien la posibilidad de usar la opcion TO-GO del pickit2....

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #8 en: 24 de Marzo de 2014, 15:16:16 »
Creo que se puede configurar si se borra o no la eeprom al grabar..
con el software del pickit2 se puede, tanto grabar flash y eeprom, como flash sólo o eeprom sólo

Gracias por la aclaración
"Nada es imposible, no si puedes imaginarlo"

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #9 en: 24 de Marzo de 2014, 15:37:58 »
Hola planeta9999,

Yo estaba vien la posibilidad de usar la opcion TO-GO del pickit2....


Todo eso son apaños que no resuelven nada, esa función TO-GO de pickit2 sirve para cargar el fichero a grabar en el pickit2, y a partir de ahí poderlo grabar en el pic, sin necesidad de usar el PC, eso no te protege a ti en nada, le estás dando al cliente el programa, ¿ o cada vez que quieras darle una actualización del firmware, le vas a mandar un pickit2 con el firmware grabado ?, eso es muy poco práctico, además eso no impedirá que lo grabe cuantas veces quiera, lo ideal es enviarle un archivo por email o colgárselo en algún server para que lo descargue.

Lo que quieres hacer no es nada recomendable, y además deja al descubierto tu programa, en el momento que entregas el .HEX completo y sin encriptar cualquiera lo puede copiar o desensamblar y modificar a su antojo.

Con un bootloader ,para empezar no hace falta programador para actualizar la placa, puedes hacer un bootloader para que se actualice la placa por USB conectada al PC, con una tarjeta SD, con un pendrive USB o por puerto serie RS232. Además para que el firmware no se pueda desensamblar, debe de estar encriptado, y será el propio microcontrolador el que lo desencripte conforme se le carga el archivo.

Parte de un bootloader estandar de código abierto, en Microchip tienes mucho código fuente, al menos para PIC32 y PIC24, creo que también hay algo para PIC18. Luego métele una rutina de desencriptación, por ejemplo basada en XTEA, y monta un programa en PC para encriptar los HEX, el mío lo tengo hecho en VC++, también puedes partir del código fuente de ejemplo que da Microchip.

Bájate mi demo, si quieres, y pruébala, es 100% funcional, aunque no incorpora las prestaciones profesionales (la versión comercial la vendo a empresas), pero puedes ver como funciona el conjunto, la encriptación y la carga del firmware.  http://www.pinballsp.com/PinballSP_Encrypted_Bootloader_Solution_Basic_Version.zip





« Última modificación: 24 de Marzo de 2014, 18:55:08 por planeta9999 »

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Mantener contenido de la eeprom aun despues de una actualizacion de firmware..
« Respuesta #10 en: 24 de Marzo de 2014, 18:41:45 »
Hola planeta9999,

Gracias por la aclaracion, voy a seguir tus consejos..


 

anything