HEW Konfiguration für R8C: Stack und Heap

OP #1463231
Hallo zusammen,

ich bin gerade dabei den HEW einzurichten um damit meinen µC von Renesas 
(R5F2122CKFP) zu programmieren. Leider scheitert es schon an den 
Workspace-Einstellungen. Im ersten angehängten Bild geht es um die 
Initialization routine. Ich habe dazu keinerlei Angaben in den 
Datenblättern oder der Hilfe gefunden...
Fragen dazu:
Was sind da sinnvolle Werte für den ROM(Auszuwählen sind 32K, 48K oder 
64K)?

Und was steht eigentlich alles in der Initialization routine? 
Porteinstellungen und warten bis der oszillator anläuft?

Wofür brauche ich beim ROM einen HEAP? Ich dachte der Heap wird nur im 
RAM verwendet???

Fragen zu den Stack-Einstellungen:
Wie es scheint geht es um die Pointer bei diesen Einstellungen und nicht 
um die Stack-größe. Kann ich überhaupt die Stackgröße vorher festlegen?

Und was sind sinnvolle Größen für die pointer, bzw. was sollte man dort 
eintragen???

Beide Bilder enthalten die Startwerte, wenn das Fenster geöffnet wird. 
Es sind nicht Werte die ich eingetragen habe, sondern die schon so drin 
stehen.

Daten µC:
126 KByte Flash/Programm-Speicher
6 KByte RAM

Zur Anwendung:
der µC ist Kernstück eines Datenloggers. Alle Signale kommen digital am 
µC an.
Angehängte Dateien:
Gast #1463286
Mach dir keine allzugrossen Sorgen um diese Werte.

Wenn du vor dieser Eingabemaske den richtigen uC Typ gewählt hast, sind 
die Standartwerte sehr brauchbar.

Ich musste nur einmal die Stack Size ändern, kannst auchnoch naträglich 
machen.

Ich würde die Standard I/O Library nutzen (Häcken setzen).
Gast #1463287
> Was sind da sinnvolle Werte für den ROM(Auszuwählen sind 32K,
> 48K oder 64K)?

Das haengt halt davon ab was dein Prozessor hat. Schau mal
ins Datenblatt.

> Und was steht eigentlich alles in der Initialization routine?

Du wirst es nicht glauben, aber du kannst sie dir anschauen!
Je nach dem was du beim einrichten eines neuen Projektes angegeben
hast, erzeugt dir die Oberflaeche entweder zwei Assemblerfiles
oder mehrere C-Source. Ich empfehle letzteres.

> Porteinstellungen und warten bis der oszillator anläuft?

Noe. Im Prinzip wird da nur der Stack eingerichtet und es werden
ein paar Defaultwerte fuer die Interuptaufrufe gesetzt.

> Wofür brauche ich beim ROM einen HEAP?

Das Rom braucht den auch nicht. Aber der Controller kann dir etwas Platz
fuer einen Heap bereitstellen indem er den Stack woanders hinlegt oder
globale Variablen verschiebt.

> Ich dachte der Heap wird nur im
> RAM verwendet???

Ja, es liegt an dir zu entscheiden ob du in deinem Programm einen Heap
brauchst, also malloc/free verwenden moechtest oder nicht. Bei
einem kleinen R8C also normalerweise nicht notwendig.

> Wie es scheint geht es um die Pointer bei diesen Einstellungen
> und nicht um die Stack-größe. Kann ich überhaupt die
> Stackgröße vorher festlegen?

Es wird da letztlich die Position des Stacks festgelegt. Du kannst
dir aber in den von HEW generierten Files genau anschauen was da
passiert und die Werte auch spaeter noch aendern.


> Und was sind sinnvolle Größen für die pointer, bzw. was sollte
> man dort eintragen???

DAs ist der Stack fuer den Interrupt. Wie gross der sein soll haengt
davon ab was du programmieren willst. Vielleicht schreibst du ja
sogar ein Programm das garkeine Interrupts verwendet?
Wenn du aber noch garkeine Ahnung hast, und das ist bei dir sicherlich
der Fall, dann uebernimm einfach die Defaultwerte.

Lediglich den Heap wuerde ich abschalten, da sowas bei so kleinen 
Controllern eigentlich quatsch ist.

Olaf
#1463290
Michael T. schrieb:

> Was sind da sinnvolle Werte für den ROM(Auszuwählen sind 32K, 48K oder
> 64K)?

Wohl was der Chip drin hat. Oft gibt es verschiedene Kapazitäten bei 
ansonsten gleicher Bauart.

> Wofür brauche ich beim ROM einen HEAP?

Blöd konstruierte Dialogbox. Das "ROM" bezieht sich nur auf den Wert 
rechts daneben.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.