Forum: Mikrocontroller und Digitale Elektronik Arduino Program nur auf RAM ausführen


von Fragen (Gast)


Lesenswert?

Hallo,
da der Flash-Speicher des Arduino nur begrenzte Flahzyklen zur Verfügung 
stellt, möchte ich das Programm beim Testen nur übers das RAM/SRAM 
laufen lassen. Wie ist das möglich? Bei anderen Controllern kann man das 
in der jeweiligen IDE einstellen. Auch bei einem Arduino?
(Software kompilieren und dann nur in das SRAM schreiben, sodass es bei 
einem Reset "verloren" ist)

von Georg G. (df2au)


Lesenswert?

Keine Chance, die Architektur des ATMega lässt das nicht zu.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn der Arduino eine Atmel AVR (Atmega) verwendet, geht's nicht. Das 
gibt die Prozessorarchitektur nicht her; der AVR kann Code nur aus dem 
eingebauten Flash-ROM ausführen.

Es gibt aber auch Arduinos mit ARM, bei denen ist das prinzipiell 
möglich.

https://www.arduino.cc/en/Main/ArduinoBoardM0

ist ein Beispiel dafür.

von Lothar (Gast)


Lesenswert?

Ernstgemeinte Frage: AVR ohne Flash gibt es nicht oder? Ansonsten könnte 
man doch wie beim 8051 statt externem Flash einfach externes RAM für 
Code dranhängen.

von spess53 (Gast)


Lesenswert?

Hi

>da der Flash-Speicher des Arduino nur begrenzte Flahzyklen zur Verfügung
>stellt, möchte ich das Programm beim Testen nur übers das RAM/SRAM
>laufen lassen.

Einen ATMega103, der nur 1000 Schreib/Löschzyklen garantiert, habe ich 
wochenlang mit 20..30 pro Tag traktiert und der lebt heute noch. 
Aktuelle AVRs vertragen das 10fache. Da wirst du kaum an die Grenzen 
kommen. Und wenn tauscht du einfach den Controller oder den Arduino. Ich 
denke die sind so spottbillig?

MfG spess

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lothar schrieb:
> Ernstgemeinte Frage: AVR ohne Flash gibt es nicht oder?

Nein, die gibt es nicht. Und wenn sie überhaupt externen Speicher 
ansprechen können, ist das nie der Speicher, aus dem der Code geholt 
wird.

Keine Chance.

von Rudolph R. (rudolph)


Lesenswert?

Das FLASH in einem AVR verträgt mindestens 10.000 Zyklen.
Um das kaputt zu spielen muss man schon ziemlich lange nichts anderes 
tun.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.