Come caricare uno sketch su una memoria SD ???

Salve a tutti mi chiamo Gabriel e sono da un po nel forum.
volevo fare una domanda da discutere sul forum:
A volte certi sketch (Programmi) di Arduino superano la memoria data dal At-Mega.
quindi e possibile caricare lo sketch invece che sulla memoria del At-mega su una memoria SD esterna.
facendo in modo che Arduino esegua il programma li interno.
?---

Spero di essere stato chiaro (Grazie per la vostra eventuale disponibilità).

By Gabriel-99

no, non è possibile perchè lo sketch per essere eseguito dall MCU deve essere compilato (convertito in linguaggio macchina). e non ci sono alternative. puoi solo scegliere una MCU con più memoria.

Non e neppure possibile scrivere in linguaggio macchina sulla SD ???

nemmeno.
il codice da eseguire deve per forza risiedere nella memoria interna dell MCU.

http://forum.arduino.cc/index.php?topic=185683.msg1375101#msg1375101
ci speravo anche io :smiley:

:roll_eyes: Peccato :frowning:
Pero si può costruire/esiste un traduttore ?, intendo pensando al computer che i dati eseguibili sono scritti in una memoria rigida che poi vengono tradotti ed elaborati dal micro processore. questa può essere fattibile in questo senso con arduino?
Mi intendo ?

Arduino va a leggere dentro la memoria SD nel file X e trova scritto PAUSA 1000; crea un IF in qui se trova PAUSA crea un delay di 1000 mil sec. ecc per tutte le altre funzioni (una spece di assembly)?

Gabriel-99:
Pero si può costruire/esiste un traduttore ?, intendo pensando al computer che i dati eseguibili sono scritti in una memoria rigida che poi vengono tradotti ed elaborati dal micro processore. questa può essere fattibile in questo senso con arduino?

Al limite un'interprete ...
... se fai un po' di ricerche su Google troverai qualche pazzo che ha messo un mini interprete basic su Arduino :grin:

Guglielmo

P.S. : Non sperarci di farci molto comunque ... lo ammette lo stesso che ha fatto il porting di TinyBasic ...

Grazie Guglielmo per la tua risposta

Ps: Hai ragione. pensandoci sarebbe un lavoro tanto complesso con un risultato minimo.

**_ <em>**Quindi alla fine il programma del Arduino resta sempre un firmware quindi sempre scritto al interno del Chip**</em> _**

Quindi alla fine il programma del Arduino resta sempre un firmware
quindi sempre scritto al interno del Chip

Sí. Se un Arduino UNO non ha abbastanza memoria per il Tuo progetto puoi usare un Arduino MEGA 2560. Quello al limite puó essere espanso con piú RAM.
L' Arduino DUE é piú potente a livello memoria/velocitá di calcolo ma funziona a 3,3V ed é molto piú facile romperlo.
Ciao Uwe

Gabriel-99:

Arduino va a leggere dentro la memoria SD nel file X e trova scritto PAUSA 1000; crea un IF in qui se trova PAUSA crea un delay di 1000 mil sec. ecc per tutte le altre funzioni (una spece di assembly)?

al livello di risparmio di memoria una cosa del genere è controproducente:
un conto scrivere
delay(1000);

per andare a pescare quella istruzione nella SD nello sketch dovresti scrivere:
apri la SD
apri tale file
cerca tale stringa
if tale stringa = XXXXX
allora fai pausa

tutto questo va sempre in memoria... e cosa hai guadagnato?

> tutto questo va sempre in memoria... e cosa hai guadagnato?
Hai ragione sprecherei tutta la memoria per 3 istruzioni (infatti e insensato)
????????????????????????????????????????????????
**Atmel pero potrebbe costruire un chip con memoria espandibile :expressionless: peccato :frowning: **

comunque grazie a tutti per la disponibilità :slight_smile: :slight_smile: XD XD XD

scusa ma il Mega2560 non ti basta?

Gabriel-99, o inizi a scrivere in maniera decente, rispettando la Netiquette, o ti cancello i thread/post.

Non puoi usare il bold, il maiuscolo, ed i colori messi a casaccio. I tuoi post sembrano arlecchinate.
Costringi la gente a fare fatica a leggere i tuoi post.

uwefed:
Sí. Se un Arduino UNO non ha abbastanza memoria per il Tuo progetto puoi usare un Arduino MEGA 2560. Quello al limite puó essere espanso con piú RAM.

questa non la sapevo. come si espande la ram del 2560?

ricdata:
questa non la sapevo. come si espande la ram del 2560?

Basta che fai una ricerca su Google per "arduino mega 2560 external ram" e avrai tutte le risposte, incluse schede già pronte per l'espansione di memoria (es. QUESTA).

Guglielmo

Ok grazie a tutti per le risposte

grazie Guglielmo :slight_smile:

ho trovato un interprete --> http://n.mtng.org/ele/arduino/iarduino.html

BitLash è molto meglio perché permette di eseguire programmi che stanno anche su SD usando un linguaggio di scripting più semplice.
Comunque tutti questi linguaggi hanno 2 grossi limiti: forniscono pochi comandi, non hanno una grossa potenza elaborativa.
Sono buoni per leggere degli input, fare qualche test e attivare degli output.