Hallo zusammen, ich bin noch nicht dahinter gekommen, wie man eine andere "Timebase Source" bei STM32H7 µC mit Dual-Core für freeRTOS, in STM32CubeIDE, als den SysTick, zuweist. Jede Auswahl eines anderen Timers wird ignoriert. Evtl. hat jemand eine Idee oder einen Link auf das Thema. Ich arbeite mit: nucleo-H745ZI & STM32CubeIDE V1.7.0. Vielen Dank schon mal, Josef
Also du solltest dem FreeRTOS den SysTick lassen. Alles andere bereitet nur Kopfschmerzen. Für HAL Timings solltest du daraufhin einen anderen Timer nehmen. Die Initialisierung für 1 KHz ist relativ leicht. Nun der interessante Teil, die HAL hat eine weak-Funktion HAL_InitTick(uint32_t TickPriority), welche du überschreiben solltest, da darin der SysTick initialisiert wird (der "sauberkeit" halber würd ich das außerhalb der HAL machen). Um der HAL die richtige Zeitbasis zur Verfügung zu stellen könntest du bspw. HAL_GetTick() auf die gleiche Weise überschreiben und/oder den Wert darin in deiner Timer-ISR anpassen.
kann man im CUBE einstellen welchen Timer man für HAL nehmen will Ich nehme da immer Timer 17
HAL Tick in Cube ist in Categories 'Sys', 'Timebase Source'. FreeRTOS Timebase Einstellung weiss ich nicht, habe ich auf die Schnelle nicht gesehen in dem FreeRTOS Einstellungsdialog.
Hallo zusammen, vielen Dank für Eure Antworten, ja, ich hab es gerade in CubeIDE geschafft, wie folgt: Man wählt einen Timer, ordnet diesen einem Core zu, aktiviert den Timer (Kontrollkästchen) aber NICHT. Danach ist der Timer in [SYS mode] für den gewählten Core auswählbar. Zur Kontrolle kann man unter NVIC1 bzw. NVIC2 (Core M7 bzw. M4) den Eintrag in der "Time base" sehen (Bild) Ich habe einmal den M7-core auf den Timer7 "gelegt". Grüße und vielen Dank!
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.