Forum: Mikrocontroller und Digitale Elektronik STM32H745 SysMode config bei FreeRTOS


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Josef E. (meridian)


Lesenswert?

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

von Phantomix X. (phantomix)


Lesenswert?

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.

von 542325 (Gast)


Lesenswert?

kann man im  CUBE einstellen welchen Timer man für HAL nehmen will
Ich nehme da immer Timer 17

von Johannes S. (Gast)


Lesenswert?

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.

von Josef E. (meridian)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.