mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Heap und stdlib


Autor: Hugo B. (stinkywinky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es üblich, dass die stdlib einen minimalen Heap voraussetzt?

Da ich in meinem Projekt nicht vorhabe, Strukturen dynamisch anzulegen, 
dachte ich, ich könnte die Heapgrösse auf 0 belassen. Seit ich 
Funktionen aus der stdlib verwende, werden aber ab und zu statische 
Variablen "zerschossen". Das Problem verschwindet sofort, wenn ich den 
Heap z.B. auf 100h setze.

Tool/HW: Keil uVision, Luminary uP.

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hugo B. schrieb:
> Ist es üblich, dass die stdlib einen minimalen Heap voraussetzt?

Ja. Zumindest, was die ARM standard library angeht. In den meisten (mir 
untergekommenen) Fällen hilft es, die Microlib zu verwenden. Wobei nicht 
explizit gesagt wird, dass diese keinen Heap verwendet.

Gruß
Marcus

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist es üblich, dass die stdlib einen minimalen Heap voraussetzt

Ja.

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spät am Abend...

Marcus Harnisch schrieb:
> Wobei nicht explizit gesagt wird, dass [Microlib] keinen
> Heap verwendet.

Was ich meinte war, dass viele Funktionen die in der normalen C
library Heap benöigen, dies in der Microlib nicht tun. Wobei ich
nicht mit Sicherheit sagen kann, ob das für alle Funktionen der
Microlib gilt.

Gruß
Marcus
http://www.doulos.com/arm/

Autor: Hugo B. (stinkywinky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gemäss Keil-Support benötigt die Microlib keinen Heap.

Übrigens empfehlen sie bei Verwendung der stdlib eine Heapgrösse von 
400h.

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.