TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: peter2006 en 14 de Mayo de 2006, 12:01:10
-
Hola, tengo un proyecto con el PIC 16F877A y lenguaje C que guarda datos en la EEPROM, pero acada vez que modifico el programa y lo vuelvo a grabar en el PIC se me borra la informacion de la EEPROM, es posible mantener la EEPROM cuando se programa el PIC?
Saludos.
-
Hola peter
Es buena tu pregunta. Yo uso Winpic800 para programar PICs. Cuando programas un PIC, normalmente se borran todas sus memorias y se carga el HEX nuevo, perdiéndose su EEPROM interna. Lo que te recomiendo es que antes de programar tu PIC, hagas una lectura de la eeprom desde el software que usas y la respaldes en un archivo. Posteriormente carga el HEX nuevo en ese software y pasa a mano los datos de la EEPROM que leíste antes.
Suena cansado pero eso es lo que se me ocurre.
Talvez alguien más conozca un softwrae que pueda hacer esto automáticamente o una mejor solución.
-
Muchas gracias por tu respuesta, me olvide de mencionar que uso el ICPROG para programar el PIC,
Saludos.
-
Hola Peter.Yo utilizo un programa que se llama PICFLASH para grabar los micros.Venía incluido con la tarjeta de desarrollo Easypic2 y te da la posibilidad de deshabilitar la escritura de la EEPROM.El problema es que creo solo permite como grabador este tipo de placa.De todas formas lo puedes descargar de aqui por si quieres probar.
http://www.mikroe.com/zip/picflash_programmer.zip
Saludos.
-
Si usáis Winpic800 sólo tenéis que añadir el parámetro -e para que la EEPROM se mantenga tal cual está. Con este "fuse" activado Winpic leerá la EEPROM, se la añadirá a nuestro HEX y lo grabara de nuevo todo junto, manteniendo de esta forma la EEPROM con su contenido previo (se lo sugería al maestro Sisco y lo montó en un abrir y cerrar de ojos y quedó perfecto).
-
-p Programa
-v Verifica
-a AutoDetección del Dispositivo
-s Salir terminada la acción
-i Ignora la extensión del archivo usando .HEX
-e Lee el contenido de la Eeprom antes de programar <<<< --------------------------------------
-d Fuerza a usar un dispositivo
Ejemplo : Programa el archivo Mihex.hex usando 16F877 y salir al terminar.
-p -s -dPIC16F877 c:\Mihex.hex
Ejemplo : Verifica con el archivo Mihex.hex seleccionando el Dispositivo automáticamente.
-v -a c:\Mis documentos\Mihex.hex
[ Algunos Compiladores ]
CCS : Command Line
C:\WinPic800.exe %H -d%D -p -s
PBP : Parameters
$hex-filename$ -dPIC$target-device$ -p -s
PBP Plus : Optional Command Line Parameters
-dPIC%PIC -p -s
UltraEdit : Configuration of tools
C:\WinPic800.exe %F -i -p -s
BASCOM-AVR : Parameter
{FILE} -dATtiny26 -p -s
Si tu compilador no admite el paso de parametros , puedes crearte un archivo .bat
-
Sisco , este es el parámetro para Mikrobasic :lol:
-p -s -d%CHIP_NAME %HEX_FILE_NAME
Saludos
-
Anotando Mikrobasic :wink:
-
Me parece es respecto al programador que usas.
En el EpicWin... solo borra la eeprom si uno escribe datos ahi. Solo los datos escritos en el programa.
Tambien nos podemos dar cuenta q cuando cargamos un archivo.hex
solo nos aparece la informacion q contiene el archivo y lo demas no aparece
Esto ayuda a q si tu programa es pequeño, demora menos en programar.
en el caso del Icprog, te carga al hex, y lo demas lo deja en blanco.
Por eso es que demora mas en programar, asi el programa sea para parpadear un Led en un 877.
ya que programara toda la memoria.
Una alternativa, ya q me parece que tu progrmador sea una variante del JDM (corrigeme si me equivoko), es que uses el Winpic800 que te permite escoger parametros.
Salu2
Yoel
-
Hola a todos!
Yo también estoy interesado en poder grabar las pics sin tener que borrar los datos de la EEPROM. He leído vuestros comentarios pero no acabo de entender donde se tiene que poner la comanda -e. Yo uso el grabador WinPic800 con el GTP-USB+, programo con el Mplab i compilo con el CCS, pero no se en que momento tengo que poner los comandos que comentáis.
Lo único que hago es darle al compilar con el MPlab (tengo el CCS integrado) i me genera el .HEX luego lo abro con el WinPin800 y le doy a grabar... por lo que veo hay alguna parte que me pierdo. No se si es del CCS o del MPlab o del WinPic.
Espero que no sea una pregunta muy tonta...
Gracias por adelantado!
-
Tienes que poner el parámetro -e en la línea de comandos desde la cual llames a Winpic800.
Si no le estás llamando desde ninguna línea de comandos, y lo haces con doble click sobre el icono, lo mejor será que crees un acceso directo a Winpic800, edites sus propiedades y pongas el parámetro -e en el campo "Destino", al final de lo que hay escrito.
-
Sispic igual parece algo confuso la explicación del mod -e no?
-e Lee el contenido de la Eeprom antes de programar <<<< --------------------------------------
yo progongo.
-e Respeta el contenido de la eeprom al programar.
o algo similar.
1 saludo
-
Ok gràcias Nocturno! esa era exacatamente mi pregunta!
Hare un acceso directo!
Gracias!