Hi wo werden Variablen gespeichert im RAM oder ROM? Danke schonmal Manu
Im RAM. Alles, was ein Programm verändern kann, wird im RAM abgelegt, ist aber nach dem Abschalten auch weg, falls nicht gepuffert.
variabel ... also veränderlich ... und passt zu R <-- read O <-- only M <-- memory ?????
Manuel Findig schrieb: > wo werden Variablen gespeichert im RAM oder ROM? In welchem Zusammenhang taucht bei dir die Frage auf? Da wir hier meistens über AVRs reden: Jede initialisierte Variable bzw. die dafür nötige Initialisierung benötigt auch etwas Platz im ROM. Doch erzähl mal mehr über den Kontext.
Manuel Findig schrieb: > wo werden Variablen gespeichert im RAM oder ROM? Natürlich im RAM, sonst wäre sie ja nicht variabel. :-) Gruss Harald PS: Man könnte sie natürlich auch in ein WOM schreiben...
Harald Wilhelms schrieb: > in ein WOM schreiben... Vermute Du meinst WORM (=Write Once Read Multiple) ??
Harald Wilhelms schrieb: > PS: Man könnte sie natürlich auch in ein WOM schreiben... also ich speichere datein grundsätzlich nach /dev/null. seit ich damit angefangen habe gibts keine probleme mehr dass zuwenig speicehrplatz verfügbar ist ;-)
Tom schrieb: > Vermute Du meinst WORM (=Write Once Read Multiple) ?? Eher nicht: http://portal.national.com/rap/Story/WOMorigin.html
>>wo werden Variablen gespeichert
das liegt in deiner Hand wo du eine Variable speicherst. Du kannst sie
in einer anderen Variablen speichern also im RAM, im EEPROM oder sie
auch ins ROM programmieren.
Hannes
...wo ich den Inhalt einer Variablen speichere liegt doch zu jedem Zeitpunkt in meiner Hand. Da manche Controller sich selbst flashen können, kann ich doch den Momentanwert einer Variablen auch ins "ROM" oder "Flash" speichern. Wenn wirklich ein ROM gmeint war, was ich bezweifle - ich denke es war das "flash" gemeint...also der Programmspeicher... Hannes
Die Ursprüngliche Frage zielte sicher auf gewöhnliche Variablen in C oder Basic ab. Die liegen im RAM. Wenn sie allerdings einen Initialen Wert haben, dann liegen sie im RAM und im ROM. Beim Programmstart wird der initiale Wert aus dem ROM ins RAM kopiert. Erst dann startet das eigentliche Programm (die main() Funktion). int i=1; i liegt im RAM 1 liegt im ROM.
Und für den Fall, dass der init Wert niemals geändert wird, haben MC Compiler Erweiterungen wie z.B: rom char[] txt = "Hallo";
Manuel Findig schrieb: > wo werden Variablen gespeichert im RAM oder ROM? Schalt mal die Versorgungsspannung kurz ab und wieder an. Dann weißt du's.
Hi Vielen Dank jetzt hab ichs kapiert. Wobei jetzt noch was anfällt @Hannes "Wenn wirklich ein ROM gmeint war" Was ist der unterschied zwischen ROM und Flash-ROM oder auch nur Flash?
Manuel Findig schrieb: > Was ist der unterschied zwischen ROM und Flash-ROM oder auch nur Flash? ROM ist wie der Name schon sagt, nicht beschreibbar. Er wird ab Werk mit dem Programm versehen. Eine Abart ist OTP, den kannst Du selber beschreiben, aber nur einmal. Dann gibt es noch EPROM, der ist mit UV-Licht löschbar und kann dann wieder beschrieben werden. Flash ist elektrisch schreib und löschbar (einige male). All diese sind für Variablen schreiben völlig ungeeignet. Peter
Hi Du solltest dir die Antworten vielleicht noch mal durchlesen "ROM" = "Read only Memory" ein "nur Lese Speicher" Stell dir vor, du hast 8 Leitungen an eine Batterie geklemmt, dann ist klar, die Enden tragen einen logischen Pegel. Nehmen wir an, alles ist auf Plus, dann hast du an jedem Drahtende eine "1", also "11111111" Nun programmierst du das Bündel in dem du einige Leitungen durchschneidest. Da ergibt sich dann vielleicht "11011001". Diese Folge wird nie wieder zusammengefügt, um ein neues Bitmuster zu "programmieren". Aber man kann immer wieder die Bitfolge "11011001" ablesen. Ein Flash hingegen hat einen kleinen Elektriker drin, der immer wieder die Leitungen zusammenbringt. Das geht nicht ohne Verluste, denn irgendwann ist soviel Draht abgeschnitten, das er sie nicht mehr zusammen bringen kann. Dann ist der Flash auch kaputt. Aber so ca. 10 000 mal schaft eer die "Reparatur" Auch ein EEProm oder EPRom funktioniert ähnlich. Der Vorteil, die Information geht beim Wegfall der Spannung nicht verloren. Anders beim Ram. Er besteht aus kleinen Speicherzellen, die solange Spannung anliegt, auch die Information merken. Aber diese Information kann durch "beschreiben" auch jederzeit verändert werden. Die Speicherzellen sind halt bistabile Kippstufen aus Transistoren. Nur wenn die Spannung ausfällt und dann irgendwann einmal wiederkommt, dann ist die Lage der Kippstufe "zufällig" und hat mit der ursprünglichen Information nix mehr zu tun. Durch einen entsprechenden Aufbau dieser Kippstufen kann man erreichen, das sie in eine Vorzugslage schalten. So das sollte ein wenig weiterhelfen. Gruß oldmax
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.