www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HEW Konfiguration für R8C: Stack und Heap


Autor: Michael T. (michelback)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Lobender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael T. (michelback)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, vielen Dank, damit ist das meiste klar geworden. Ab jetzt gehts 
weiter mit trial and error ;)
Vielen Dank an euch alle!

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.