Suche stdlib-private.h

Gast #1859832
Lesenswert?

Hallo,

ich hoffe jemand hier kann mir helfen. Ich möchte den freien Speicher 
zwischen Heap und Stack bestimmen. Dazu habe ich in folgendem Thread 
Code gefunden.

Beitrag "Verfügbarer RAM zur Laufzeit?"

>Ok funktioniert! So sieht die Funktion nun aus:
>
>#include "stdlib_private.h"
>
>uint16_t getFreeMem(void)
>{
>  if(__brkval)
>    return(STACK_POINTER() - __malloc_margin - __brkval);
>  return(STACK_POINTER() - __malloc_margin - __malloc_heap_start);
>}
>
>Wichtig ist, das include - sonst hat man kein Zugriff aufs
>STACK_POINTER() Makro und __brkval. Die Include Datei findet man in der
>avr-libc source distribution...

Doch dafür brauche ich die stdlib-private.h . Kann aber solcheine 
Header-Datei nirgends finden, auch nicht auf der Seite von avr-libc.

Weiß jemand von euch wo ich dieses Header-datei finden kann oder gibt es 
eine alternative?

Gruß Anfänger
Moderator Persönliche Seite #1859888
Lesenswert?

Ergänzung zum Thread: die jahrelang benutzte malloc-Implementierung
hatte einige Bugs eingesammelt, die allesamt in der avr-libc-Version
1.7.0 behoben worden sind.  Dort ist es dann auch so, dass zurück
gegebener Speicher nicht mehr als für immer und ewig zum Heap
gehörend betrachtet wird, sondern der wird wirklich komplett wieder
freigegeben.

Diese Version gibt's in keinem WinAVR, aber sie müsste eigentlich
bei der aktuellen Beta der AVR-Tools (auf dem norwegischen Atmel-
Server) mit dabei sein.
Gast #1859891
Lesenswert?

Ja, hatte ich, war nur leider unvollständig. Das kommt davon 
vorinstalliertes von anderen zu verwenden. Der hat massenhaft 
Header-Dateien gelöscht. (Ist theoretisch die gleiche Version, nur mit 
gelöschten Headern) :-( Aber komisch das google nix ausgespuckt hat und 
auf avr-lib-Hompage nirgends ein Hinweis darauf das es solch eine Datei 
gibt. Hm jetzt hab ichs.
Danke für die schnelle Antwort.

Gruß Anfänger
Moderator Persönliche Seite #1859924
Lesenswert?

Anfänger schrieb:
> Aber komisch das google nix ausgespuckt hat und
> auf avr-lib-Hompage nirgends ein Hinweis darauf das es solch eine Datei
> gibt.

Sie ist halt "privat", wie der Name sagt, d. h. sie gehört nicht zu
den Dateien, die installiert werden.  Ihr Inhalt wird nur innerhalb
der avr-libc zum Compileren benötigt.  Daher gibt's auch keine Doku
dafür, und als private Datei steht es der avr-libc auch jederzeit
frei, nach Gutdünken deren Inhalt zu ändern.

Im Sourcecode ist sie natürlich auch drin, und du kannst sie jederzeit
über den SVN-Browser bekommen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren