STM32CubeIDE: отладочный вывод

В STM32CubeIDE немного изменился способ включения отладочного вывода (semihosting) по сравнению STM32 Workbench.

 

Исходный вариант статьи тут.

 

В чем отличия: немного изменился интерфейс, добавилась пара шагов.

  1. Удаляем файл syscall.c из проекта. Там находятся «рыбы» функций для реализации всяких стандартных printf и getc. Если мы будем использовать semihosting, то они нам не дадут собрать проект.
  2. Добавляем -specs=rdimon.specs -lc -lrdimon в настройки линкера
  3. В настройках отладки пишем «monitor arm semihosting enable»
  4. Вставляем прототип функции void initialise_monitor_handles(void); в main.с
  5. Вызываем эту функцию initialise_monitor_handles(); в начале main()