Ram-Bereich PIC 18F2550

Gast #2558718
Lesenswert?
• ▲
▼
Hallo,
ich habe eine Frage zu dem PIC 18f2550. Und zwar hat dieser laut 2048 
GPR´s. Doch kann es sein, dass ich diese gar nicht alle benutzen kann? 
Denn wenn ich diese beschreiben möchte, sagt mir mein C18 Compiler ab 
der vierten Bank, dass diese Bereiche für Stack etc. reserviert seien. 
Kann das sein? Stehen mir wirklich nur die ersten 2,5 der 8 Bänke (also 
~ 670 Variablen) zur Verfügung?

LG Hubert
#2558740
Lesenswert?
• ▲
▼
Ins Datenblatt hast du aber schon mal geschaut, oder?

Banks 4 through 7 of the data memory are actually
mapped to special dual port RAM. When the USB
module is disabled, the GPRs in these banks are used
like any other GPR in the data memory space.

When the USB module is enabled, the memory in these
banks is allocated as buffer RAM for USB operation.
This area is shared between the microcontroller core
and the USB Serial Interface Engine (SIE) and is used
to transfer data directly between the two.
Gast #2558754
Lesenswert?
• ▲
▼
Sowet so gut, aber die 3. Bank müsste mir aber dann zur Vefügung stehen. 
Laut Datenblatt ist der "STACK" nur 32 Byte groß, ich sollte also noch 
über 220 Byte zur Verfügung haben. Doch C18 steht mir nicheinmal 1 
einziges Byte ab adresse 0x300 zu?

LG Hubert
Gast #2558777
Lesenswert?
• ▲
▼
Du kannst dir eine eigene Linker Datei basteln

DATABANK   NAME=gpr2       START=0x200          END=0x2FF
DATABANK   NAME=gpr3       START=0x300          END=0x3FF

STACK SIZE=0x100 RAM=gpr3

Das änderst du dann in

DATABANK   NAME=gpr2       START=0x200          END=0x37F
DATABANK   NAME=gpr3       START=0x380          END=0x3FF

STACK SIZE=0x80 RAM=gpr3

Ob du dann mit dem Stack hinkommst musst du selber probieren.
Gast #2559244
Lesenswert?
• ▲
▼
Okay und woher weiss ich wieviel Speicher der STACK enötigit, muss ich 
das ausprobierebn ob sich das Programm aufhängt??
Un noch eine Frage, darf ich die größe der Bänke einfach so beliebig 
verändern, könnte ich auch eine 1500 Byte große Bank erstellen und die 
anderen einfach weglassen?

LG Hubert

Antwort schreiben

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.

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.