Forum: Mikrocontroller und Digitale Elektronik Heap und stdlib


von Hugo B. (stinkywinky)


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.

von Marcus H. (mharnisch) Benutzerseite


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

von MaWin (Gast)


Lesenswert?

> Ist es üblich, dass die stdlib einen minimalen Heap voraussetzt

Ja.

von Marcus H. (mharnisch) Benutzerseite


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/

von Hugo B. (stinkywinky)


Lesenswert?

Gemäss Keil-Support benötigt die Microlib keinen Heap.

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.