mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speichergröße IAR


Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab eine kleine Verständnisfrage zum IAR Embedded Workbench für
8051.

Mein Controller hat 2kB internen RAM und wenn ich ihn angeschlossen hab
noch 64 kB externen RAM. Ich weiß zwar, dass man über das Memory Model
small, huge, etc. den externen RAM hinzuschalten kann.

Aber woher soll das IAR wissen, dass der interne RAM 2kB besitzt (und
nicht z.B. nur 1 kB) oder ich 64 kB externen Ram angeschlossen hab und
nicht nur 32kb.

Als Prozessorvariante habe ich 8XC51 gewählt. Ist das da intern
hinterlegt, dass alle diese Controller kB RAM haben?

Ich verwende den AT89C51SND1. Vielleicht kann mir jemand auf die
Sprünge helfen, wie das geregelt ist.

Viele Grüße
Steffen

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwendet denn niemand denn IAR?

Ist es möglich, dass ein 8051 Controller immer nu 256 Byte internen RAM
haben und der restliche RAM (evtl. auch intern) als externer RAM
angesprochen wird?!

Es muss doch möglich sein, hier die Größe des externen RAMs
festzulegen. Bei den Einstellungen und in der Bedienungsanleitung
konnte ich nichts entsprechendes finden.
Kann mir jemand irgendeinen Tipp geben, nach was ich suchen muss?

Vielen Dank!
Steffen

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So - ich hab jetzt noch ein bisschen mehr herausgefunden.

Der Speicherbereich kann in Files für den X-Linker eingestellt werden.

Verantwortlich ist hierfür folgende Zeile:
-Z(XDATA)P_UDATA,P_IDATA,C_ARGX,X_UDATA,X_IDATA,ECSTR,RF_XDATA,XSTACK=1

Leider versteh ich trotz ausgiebiger Lektüre das System nicht. Ich
brauche keine verschiedenen Segmente (soweit ich das beurteilen kann).
Dafür möchte ich den externen RAM auf 2 kB limitieren.

-Z(XDATA)EXTERNAL_RAM=0-7FF funktioniert so nicht.
Da bringt der Compiler den Fehler "Segment C_ARGX must be defined in a
segment definition option (-Z, -b or -P)"

Kann mir jemand hierzu eventuell einen Hinweis geben?

Viele Grüße
Steffen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.