2016-11-23 5 views
0

Я хотел бы проверить, работает ли STM32 Workbench правильно или нет.CubeMX STM32 HAL + FreeRTOS

Итак, я создал новый проект для своего F7 Discovery. Я использую библиотеку HAL и также разрешаю FreeRTOS. Поскольку FreeRTOS нужен независимый таймер, я включил TIM1 для HAL и SysTick для FreeRTOS.

К сожалению, при отладке проекта в Workbench программа каждый раз заканчивается подпрограммой прерывания TIM1, но я НЕ устанавливал здесь какие-либо точки останова. Как я могу отлаживать свой код, если все, что я вижу во время отладки, - TIM1 ISR?

+0

Добавьте свой код конфигурации TIM1. –

+0

Конфигурация TIM1 аналогична конфигурации https://1drv.ms/u/s!Ak8yaxR1DeFsnXlNb1Wfz8eJKcG4, созданной CubeMX. – VIPPER

ответ

0

Как я понимаю, это особенность сердечника r0p1 M7. ST лицензировала только ядро ​​r0p1. Не уверен, что новые версии или модель чипа будут лучше.

Я читал на другом форуме, что это, возможно, замедлит проблему:

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

Эй! Должен ли я добавить эти строки в свой код или, возможно, они являются частью порта FreeRTOS? – VIPPER

+0

Ну да, вам нужно найти адрес для этих аппаратных регистров и установить их в начальной части вашего программного обеспечения (или с помощью gdb при отладке). В библиотеке HAL, похоже, есть некоторые функции для их настройки (DBGMCU_APB1PeriphConfig() и DBGMCU_APB2PeriphConfig()) – staringlizard

+0

У меня опять та же проблема, но теперь в отношении USB. Где я могу найти описание этих регистров? – VIPPER