Forum: Mikrocontroller und Digitale Elektronik Speichergröße IAR


von Steffen (Gast)


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

von Steffen (Gast)


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

von Steffen (Gast)


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

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
Noch kein Account? Hier anmelden.