AT89S52 Flash nutzen

Gast #1033393
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich beginne grade mit der Programmierung eines AT89S52.

Mein Problem:

Ich habe ein Programm geschrieben. Dort möchte ich Integer Unterbringen, 
die nur vom Programm gelesen werden müssen. Das Array muss während des 
Programmlaufes nicht geändert werden.

Möchte ich das Programm compilieren, bekomme ich folgende Meldung:
[SDCC]
?ASlink-Error-Could not get 200 consecutive bytes in internal RAM for 
area OSEG.

[RIDE]
Adress Space Overflow

Ich denke (eher eine Vermutung, weil ich grade erst begonnen habe) dass 
die 256 Bytes nicht ausreichen für das große Array. (Wenn ich das Array 
verkleinere kann ich ohne weiteres compilieren und das Programm 
funktioniert.)

Meine Frage:
Kann ich das Programm so schreiben, dass mein Array in dem 8k großem 
Flash bleibt und nur die einzelnen Felder gelesen werden, wenn sie 
benötigt werde? So das ich mein RAM nicht "voll stopfe"?

Danke,
Matthias
Ich hoffe ich habe alles richtig gemacht. Mein Erster Beitrag hier.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.