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: