Problem mit CodeVisionAVR

Gast #122313
Lesenswert?

Ich tippe mal darauf, daß in den entsprechenden Zeilen versucht wird,
den "Variablen" tempsave, intsave etc. ein Wert zuzuweisen.
Das geht nicht! Sobald eine Variable im Quelltext das Steuerwort
"flash" enthält, wird sie zu einer Konstante, der einmal im Programm
(nämlich bei ihrer Deklaration) ein Wert zugewiesen werden kann. Der
Compiler sagt Dir mit den Fehlermeldungen, daß lvalue (also der
Bezeichner, der links vom Gleichheitszeichen steht) veränderbar sein
muß. Konstanten sind das nicht.

MfG
KMT
Gast #122314
Lesenswert?

Habe jetzt den Code gelesen. Auch mit dem EEPROM wird das nicht
funktionieren. Im Regelfall haben die Atmels 512 Byte EEPROM. Du
benötigst in der Tat mit den ersten beiden 3-dimensionalen Arrays schon
20kB. Also Programm umstricken...

MfG
KMT
Gast #122317
Lesenswert?

naja, müsstest dich mal entscheiden, in welchen Speicherbereich das
ganze kommen soll. Alles hat Vor- und Nachteile.
Flash und interner Eeprom scheiden aufgrund der Grösse sowieso aus.
Blieben als Alternativen:
-externer RAM (dafür sollte der MC über ein Speicherinterface verfügen,
belegt aber 18 Ports) in FRrage kommen der 8515 oder Mega8515
-externer I2C-EEPROM, braucht nur 2 Pins, ist aber langsamer
-Atmel data flash
Gast #122320
Lesenswert?

falls es noch mehr Daten werden, könnte man langsam über die Verwendung
einer Speicherkarte nachdenken. Ansonsten externes I2C-EEPROM verwenden
oder externes SRAM (belegt aber viele Portleitungen).
Auf jeden Fall mußt Du die Abspeicherung der Daten vollkommen ändern.

Flash scheidet nicht nur aufgrund der Größe aus, die Variablen werden
ja erst im Programm erzeugt...

MfG
KMT
Gast #122321
Lesenswert?

Vielen Dank für die Unterstützung.
Wenn ich die Speichererweiterung mit einem I2C-EEPROM durchführen will,
was muss ich da tun?
Welchen I2C-EEPROM nehme ich da?
Wie muss ich den I2C-EEPROM  an meinen AVR90S8535 beschalten?
Gibt es zu dieser Thematik einen C-Code zu Ansicht?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren