2016-11-23 6 views
0

Ich möchte überprüfen, ob STM32 Workbench ordnungsgemäß funktioniert oder nicht.CubeMX STM32 HAL + FreeRTOS

Also, ich habe ein neues Projekt für meine F7 Discovery erstellt. Ich benutze die HAL-Bibliothek und aktiviert auch FreeRTOS. Da FreeRTOS einen unabhängigen Timer benötigt, habe ich TIM1 für HAL und SysTick für FreeRTOS aktiviert.

Unglücklicherweise endet das Programm beim Debuggen des Projekts in der Workbench immer wieder in der TIM1-Interruptroutine, aber ich habe hier KEINE Haltepunkte gesetzt. Wie kann ich meinen Code debuggen, wenn alles, was ich während des Debugging sehen kann, TIM1 ISR ist?

+0

Ihre TIM1 Konfigurationscode hinzufügen. –

+0

TIM1-Konfiguration ist wie in der https://1drv.ms/u/s!Ak8yaxR1DeFsnXlNb1Wfz8eJKcG4, dies wird von CubeMX erstellt. – VIPPER

Antwort

0

Wie ich es verstehe, ist dies ein Merkmal der r0p1 M7 Kern. ST lizensierte nur den r0p1-Kern. Unsicher, ob neuere Versionen oder Modell des Chips besser sein werden.

ich auf einem anderen Forum gelesen, dass dies vielleicht das Problem mildern könnte:

(DBGMCU)->APB1FZ = 0x7E01BFF; 
    (DBGMCU)->APB2FZ = 0x70003; 
+0

Hey! Soll ich diese Zeilen meinem Code hinzufügen oder sind sie ein Teil des FreeRTOS-Ports? – VIPPER

+0

Nun, ja, Sie müssen die Adresse für diese Hardware-Register finden und sie im ersten Teil Ihrer Software (oder mit gdb beim Debuggen) setzen. In der HAL-Bibliothek scheint es einige Funktionen zu geben, um sie zu setzen (DBGMCU_APB1PeriphConfig() und DBGMCU_APB2PeriphConfig()) – staringlizard

+0

Ich habe das gleiche Problem aber jetzt wieder in Bezug auf USB. Wo finde ich eine Beschreibung dieser Register? – VIPPER