Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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: