AT89C52, Keil, 256 Byte RAM

Gast #68580
Lesenswert?
• ▲
▼
Hallo,
ich möchte einen AT89C52 programmieren.
Ich verwende einen Keil-Compiler/Linker (V3.52).
Der Prozessor hat laut Datenblatt 256x8-bit internal RAM. Mein Programm
benötigt mehr als 128 Byte RAM (aber weniger als 256 Byte RAM). Beim
Linken kommt eine Fehlermeldung (ERROR 107: ADDRESS SPACE OVERFLOW).
Der Stack wird auf
IDATA   007FH     0001H     UNIT         ?STACK
gelinkt.
Es sieht fuer mich sich aus, als ob der Linker nur von 128 Byte RAM
ausgeht.
Wie kann ich dem Linker sagen, dass der Prozessor 256 Byte RAM hat??

Gruß Heinz
#68581
Lesenswert?
• ▲
▼
Für die entsprechenden Linker-option solltest Du im Handbuch oder auf
der Keil Webseite fündig werden,

Allerdings sind die oberen 128Byte nur als idata zugreifbar.
D.h. Du must einige Variablen als idata deklarieren, vorzugsweise
Strukturen oder Arrays, die eh über Pointer zugegriffen werden.


Peter
Gast #68582
Lesenswert?
• ▲
▼
Auf der Keil-HP bin ich leider nicht fündig geworden, bzw. das was ich
da gefunden hab, hat nicht funktioniert... hab aber jetzt im Internet
irgendwo was gefunden mit "RAMSIZE(256)" und das hat dann getan...

Thanx für den TIP mit idata...

Heinz

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.