Re: Thread_MemFree Kategorie: Programmierung C (von PeterS - 8.12.2011 12:04) | |
Als Antwort auf Re: Thread_MemFree von Joerg - 6.12.2011 7:51
| |
> > > > Hallo, > > > > Die Funktion 'Thread_MemFree' gibt lt. Doku den freien Speicher zurück, der einem Thread noch > > > > zur Verfügung steht. Nun ist nach meinem Verständnis der freie Speicher ja ein dynamischer Wert, > > > > ja nachdem wie tief der Thread z.B. gerade in UP-Aufrufen steckt. > > > > Gibt die Funktion Thread_MemFree den Momentanwert zurück, oder den geringsten Wert, der im bisherigen > > > > Programmablauf erreicht wurde? > > > > > > Die Funktion gibt den Momentanwert zurück. > > > > > > Gruss Peter > > > > > > > > > > > Gru� > > > > Franz-Peter > > > > Danke für die schnelle Antwort. D.h. aber, wenn man wissen will wieviel 'Luft man noch hat, muss > > man die Funktion bei der tiefsten UP-Verschachtelung aufrufen - was sich bei Programmänderungen ja > > auch verschieben kann. Wenn die MemFree in einer IRQ-Routine aufgerufen wird, was wird dann > > zurückgegeben. Der Speicher vom Thread, den der IRQ unterbrochen hat? > > > > Gru� > > Franz-Peter > > Hallo Franz-Peter, > > mit diesem Problem habe ich auch schon gekämpft. > > Wenn du z.B in Deinem tiefsten UP die folgende Anweisung ausführtst: > > Str_Printf(Text,"%02d:%02d:%02d %02d:%02d:%02d ", > Clock_GetVal(CLOCK_HOUR), > Clock_GetVal(CLOCK_MIN), > Clock_GetVal(CLOCK_SEC), > Clock_GetVal(CLOCK_DAY)+1, > Clock_GetVal(CLOCK_MON)+1, > Clock_GetVal(CLOCK_YEAR); > > weist Du immer noch nicht, wie Dein max Wert ist. > Der komplette String und die Parameter gehen über den Stack. > Eine Maxwert Abfrage hätte ich mir auch gewünscht... > > Grü�e Joerg > > > Ich habe schonmal vorgehabt, highwatermark Variablen für den Stackgebrauch zu implementieren, aber da ich knietief in der AVR32 Entwicklung bin, wird das frühestens Q2 nächstes Jahr was. Gruss Peter | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum