Hallo, ich habe hier ein Projekt mit einem STM32F103, welches ich mit dem CubeMX, den HAL-Bibliotheken, GCC und OpenOCD unter Ubuntu entwickle. Das Ganze wird ein kleiner Roboter. Ein LCD zur Anzeige, ein MPU6050 und die zwei Motoren laufen schon, solange ich alles einzeln teste. Wenn ich jetzt alle Module zusammen schalte, dann hängt sich die Kiste auf. Lasse ich auch nur eines weg (egal welches Modul), dann habe ich keine Probleme. Ich vermute nun, das es entweder ein Speicherplatz-Problem ist, oder die Interrupts und Tasks nicht richtig abgestimmt sind. Wie debuggt man sowas am besten? Danke und Gruß Peter
Genau weiß ich das nicht, würde aber solange es noch funktioniert einem Modul immer mehr Speicher zuweisen bis es nicht mehr geht. Danach dann versuchen den Speicher bei allen Modulen optimal anzupassen.
Peter schrieb: > Wenn ich jetzt alle Module zusammen schalte, dann hängt sich die Kiste > auf. Lasse ich auch nur eines weg (egal welches Modul), dann habe ich > keine Probleme. Versuche mal in FreeRTOSConfig.h die "configTOTAL_HEAP_SIZE" hochzusetzen. Es gibt in FreeRTOS übrigens auch Funktionen um den freien Heap und auch freien Stack von allen Tasks abzufragen. uxTaskGetStackHighWaterMark() xPortGetFreeHeapSize() Im config müssen die zum Teil noch aktiviert werden, siehe Doku von FreeRTOS.
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.