Ampliar flash memory con SD

Buenas, me esoy iniciando en esto de arduino y me surgió una pregunta:

En vista de la coneccion de las targetas SD con la placa arduino. Es posible guardar codigo (sin compilar) en la memoria SD (para que sean grandes cantidades de codigo) para ser ejecutado luego con un pequeño codigo que quepa en 8KB del chip ATMega 8? Esto es para hacer algo util con este chip que viene para arduino severino que acabo de ensamblar, que realmente es demasiado poco, apenas como para hacer titilar un led, y tengo en mente algo como un movil con brazo robot, camara, gps traking, controlado por internet 3G.

Apenas estoy iniciando y segun las normas del foro es el lugar adecuado para hacer esta pregunta. Gracias
How to use this forum: Arduino Forum

Poder guardar, si. Pero no podrías compilarlo, ya lo deberías tener en binario. Pero es una técnica muy avanzada. Lo que estas queriendo hacer usar un microprocesador, el cual tiene el programa fuera.

Pregunté algo similar en el foro en inglés, y la respuesta fue "NO" http://arduino.cc/forum/index.php/topic,155996.0.html

Y eso que estoy con uno de 32Kb.

Lo que me dijeron es que para casos donde es necesaria más flash, entonces debería usar el Mega que tiene 256Kb

Igual entiendo que estos son "Chips" o como los quieran denominar, lo que no entiendo es por qué, estando en el Siglo XXI donde 32Gb de datos caben en el tamaño de una moneda de centavos, un chip esté contando Kbs y no tengamos al menos Mbs para nuestros códigos.

Lo que vos planteas de usar la SD para guardar código en ella es lo más sensato que uno piensa, o incluso una interfaz donde uno pueda conectar un USB (PenDrive) y leer códigos desde este también.

Imagino que la razón es técnica y que no es tan fácil como parecería, pero también imagino que algo ahí afuera debe haber o que alguien estará inventando algo para que esto sea posible. Después de todo estamos hablando de leer unos y ceros e interpretarlos ¿No?

si lees un poco mas hacerca de las diferencias de microCONTROLADOR y microPROCESADOR encontraras la diferencia.
No es tan facil poner gbyte de memoria en un micro de 8bits ya que para poder direccionar tanta memoria te faltan bits, incluso un micro de 32bits puede direccionar casi 4gb (3,8gb). Ademas de esto, el microcontrolador es justamente eso; controla pequeñas cosas porque internamente tiene los perifericos.
Hace muchos años en una revista lei como ejecutar en ram una pequeña porcion de codigo almacenada en la flash, en micros motorola. Pero la rutina sola ocupaba bastante espacio y precisaba de mucha ram para alojar el codigo y poder ejecutarlo.
Si tu proyecto necesita tanto espacio debes usar una arquitectura de microprocesador con memoria de programa externa. Atmel tiene excelentes procesadores, desde avr, arm, y 8051

Si quieres unir todo eso yo de ti pensaría en comprar una Raspberry Pi.

La gente quiere hacer milagros con microprocesadores de 8 bits :*

El mejor ejemplo de lo que explicaha. Un procesador integrando periféricos

Sep. Entiendo claro, que estamos hablando de 2 tecnologías diferentes.

Y de hecho está claro, un pendrive por más que tenga 32Gb, por sí sólo no hace nada. Mientras que un micro-controlador, aún con sus pocos Kb puede hacer cientos de cosas.

De momento estoy contento con mi Nano de 32Kb :slight_smile: Aprenderé a optimizar el código, y claro, para futuros proyectos seguro apunto a un Mega o al Due.

Hola amigos alguien me puede ayudar al compilar me sale este error:
No hay suficiente memoria, ver http://www.arduino.cc/en/Guide/Troubleshooting#size para obtener consejos sobre cómo reducir su huella.
Error compilación en tarjeta Arduino/Genuino Uno.