#pragma memory unter IAR

Gast #213805
Hallo ihr alle,

in einem Projekt habe ich einige Daten in einem eigens angelegten
Datensegment gespeichert.
Dazu habe ich in der Linker-Datei ein RAM-Gebiet mit 20 Bytes angelegt
und in einer C-Datei einige Variablen darin angelgt:
#pragma memory = dataseg(EMCSTACK)
__root __no_init UINT16 ui16AktPC;// Aktueller Programm-Counter
#pragma memory = default

Wenn ich in einer anderen Datei nun mit dem Inline-Assembler auf eine
Variable zugreife:
asm("STC SP, SFB(EMCSTACK)+8");

... motzt der Assembler, weil er das Datensegment nicht kennt.

Ich bräuchte also ein "extern #pragma memory..."
Hat jemand von euch eine Ahnung, wie ich dem Assembler
dateiübergreifend das Datensegment bekannt machen kann?

Danke im Voraus,
Bernhard

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.