Hallo! Ich verwende einen AT91SAM7X256 mit FreeRTOS und GCC. Jetzt habe ich das Problem, dass er sich häufiger im laufenden Betrieb resettet, oder komplett abschmiert, sodass ich ihn neu flashen muss, damit er wieder läuft. Die Stack Overflow Detection von FreeRTOS schlägt an, also vermute ich mal, dass das das Problem ist. Allerdings hängt sich das ganze System schon kurz nach dem booten auf, wenn ich dem entsprechenden Task mehr Stack zuteile. Deswegen bin ich im Moment einwenig ratlos, was ich machen soll. Habe auch noch nicht wirklich viel Erfahrung auf dem Gebiet. Für Tipps wäre ich dankbar...
Ohne detailierte Angaben zur Hardwareumgebung kann hier glaub ich keiner was sinnvolles dazu sagen.
Hi Chris, und was verstehst du unter 'detailierte Angaben zur Hardwareumgebung' ? Ich dachte eher, dass es vielleicht eine Stelle gibt, wo ich die gesamt Größe des Stacks ändern muss oder so? Also alles, was ich bisher versucht habe war beim Aufruf von xTaskCreate() den Parameter usStackDepth etwas zu vergrößern. Dies führt dann aber wie gesagt zu einem Absturz direkt zu Anfang.
Also das mit den detailierten Angaben zur Hardwareumgebung war durchaus eine ernst gemeinte Frage. Und auch sonst würde ich mich über Hilfestellungen freuen :)
Warum so unfreundlich? Schaltplan habe ich keinen und der Code ist recht umfangreich. In wie fern kann denn ein Stack Overflow mit der Schaltung zusammen hängen? Und was könnten (!) die Gründe dafür sein, dass nach dem Vergrößern des Stacks für einen Task gar nichts mehr läuft.
Jupp schrieb: > Und was könnten (!) die Gründe dafür sein, dass nach dem Vergrößern des > Stacks für einen Task gar nichts mehr läuft. Ein Programmierfehler, der irgendwo Speicher überschreibt. Wenn dieses "irgendwo" zufällig die Stackverwaltung von FreeRTOS trifft, kann es sein, dass deshalb eine irreführende "Stack Overflow"-Warnung kommt. Durch die Vergrößerung des Task-Stacks hat sich das Speicherabbild geändert, das "irgendwo" ist jetzt woanders (oder es ist derselbe Ort, aber der wird jetzt anders verwendet), und daher sind auch die Auswirkungen anders.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.