Me preguntan esto por privado. Respondo aquí por si alguien tiene la misma duda.Te comento una duda, según he entendido en este momento cuando esté todo el montaje realizado, cada vez que se quiera usar hay que cargar el programa a photoduino ya que al quedarse sin alimentación se pierde el programa. Esto es lo que quedaría resuelto con el volcado permanente el el eprom, la duda es si eso significa que el arduino ya no admitiría cargar otros programas o bien ese volcado permanente es reversive? ¿habría alguna forma que un usuario sin conocimientos específicos, en este caso me pongo de ejemplo, pudiera elegir si se incorporara en un momento determinado o se elimina?
Arduino tiene tres partes de memoria:
1.- Memoria de programa 16Kb
2.- Memoria RAM (volatil) 1024 bytes
3.- Memoria EEPROM (persistente) 512 bytes
- En la memoria de programa se carga el firmware o codigo a ejecutar mediante el cable usb desde el entorno de desarrollo de Arduino. Una vez grabado, este no se pierde al quitar la alimentación. Siempre se puede volver a cargar otro programa diferente o versión tantas veces como se quiera.
- En la memoria RAM, se mantienen durante la ejecución los valores de las variables que usamos en el programa, y esta memoria se borra cuando se quita la alimentación (como en un PC).
- En la memoria EEPROM, se pueden grabar datos persistentes que no se pierden al quitar la alimentación (como un disco duro o un pendrive).
En la version 0.1 del firmware de photoduino, los datos de las configuraciones del programa se guardan en la RAM, por eso se pierden al quitar la alimentación.
En la versión 0.2 del firmware, que publicaré este fin de semana, se guarda una copia de las configuraciones que hacemos en photoduino mediante los botones y el display para que cuando se apague no se pierdan y se cargarán en el siguiente encendido.
Aunque lo ilustraré en el video que estoy preparando, cualquier usuario sin muchos conocimientos será capaz de transferir a photoduino el firmware y cualquiera de sus actualizaciones mediante el cable usb y un software muy sencillo.
Nota: los valores de arriba de cantidades de memoria son los que tienen las placas arduino equipadas con el micro Atmega168. Desde hace poco se venden placas arduino que incorporan el micro Atmega328, que duplica todos esos valores siendo 100% compatible con el anterior (esto no pasa con los micros PIC). En nuestro caso, podemos usar para photoduino cualquiera de los dos pues yo lo estoy haciendo para el Atmega168. En versiones muy antiguas de arduino, el micro era un Atmega8, que no es compatible con nuestro photoduino porque que tiene la mitad de memoria que el Atmega168.
Marcadores