Speichergröße IAR

Gast #259221
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
Gast #259222
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
Gast #259223
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

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