mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik # pragma rambank 1


Autor: latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!

#pragma rambank 1
char a[20];
#pragma rambank 0

so leg ich die variable auf einer ganz bestimmten bank an.(compiler hat 
gemeckert, auf bank 0 war nicht mehr genug platz)

kann ich jederzeit auf das feld zugreifen? oder ist dazu jedes mal ein 
rambank-wechsel notwendig?

ES GEHT NICHT UM ASM-CODE(bankwechsel immer notwendig) SONDERN UM C 
CODE!!!

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns C code ist, und der Kompiler sein Geld wert ist, musst du nix 
weiter machen.
Allerdings sollte der Compiler/Linker dann auch automatisch Variablen 
auf die Bänke verteilen, sobald die erste voll ist.

Aber solang du nicht verraten willst, welchen Compiler Du nutzt, können 
wir nur raten.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rambank, das kann doch nur ein PIC sein.
PIC-Code erkennt man daran, daß ein Großteil nur aus Bankumschaltungen 
besteht.

Ich stimme Ernst zu, ein einigermaßen brauchbarer C-Compiler muß solche 
Grausamkeiten vor dem Benutzer verstecken und den nötigen Umschaltcode 
selber erzeugen.


> kann ich jederzeit auf das feld zugreifen? oder ist dazu jedes mal ein
> rambank-wechsel notwendig?

Dazu mußt Du das Manual Deines Compilers befragen.


Peter

Autor: latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cc5x für PICs
;)

die idee mit #pragma lieferten die errors bei dem build, weil da die 
meldung kam, dass die bank 0 voll ist.

wollte nur wissen, ob dieses 'bankwechseln' nur für das Anlegen der 
variablen notwendig ist, oder ob man das auch für die verwendung der 
variablen machen muss

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.