Gast
#1102015
Hallo,
habe folgendes Problem:
ich habe unter muC 2 threads laufen und versuche mit hilfe von aktivem
warten einen wechselseitigen Ausschluss zu realiesieren.
das funktioniert auch aber nicht immer, das heist bei Tests bei denen
ich diesen wechselseitigen Ausschluss oft in Anpruch nehme, hängt sich
der Prozessor auf und ich kann mir Logisch nicht erklären warum.
System : Nios 2 Altera eval. Board.
// habe die Funktionen jetzt mal etwas vereinfacht aber grundsätzlich
siht es so aus.
// prozess nummer 1
while (1)
{
while(interpreter_ready != 1){printf(":::::");}//warten
//kritischer bereich
sprintf(Plott,"%s",tbuf);
for (o= 0;o< 1024;o ++) tbuf [o]= '\0'; // setzt den buffer zurück
interpreter_ready =0;
//nicht kritischwer bereich
}
// Prozezz nummer 2
while (1)
{
funk();
}
char funk (void)
{
i++
if (Plott == '\0' )
{
interpreter_ready = 1;
//nicht kritischer bereich
while (interpreter_ready != 0){ printf(".....");}
ii= 0; // neue Daten stehen bereit
return (Plott[ii]); // gibt aktuelles teichen zurück
}
}