OpenOCD RTOS Support

Jul 05, 2019 13:47


Originally published at Шалаш инженера. You can comment here or there.

Оказывается, OpenOCD поддерживает отладку ОС для МК, но по умолчанию эта возможность выключена. Поскольку сейчас делаю проект на FreeRTOS, решил попробовать сделать отладку более удобной. Чтобы включить поддержку ОС нужно:
  1. Добавить флаг -rtos auto в строку $_TARGETNAME configure в файле target/xxx.cfg
  2. Добавить в проект файл с определением символа uxTopUsedPriority, т.к. он отсутствует в последних версиях FreeRTOS
  3. Исправить флаги линкера, как указано в файле, чтобы линкер не выкинул этот символ при сборке

Запустив отладку я увидел, что OpenOCD автоматически определил FreeRTOS и нашёл создаваемые ею задачи. К сожалению, собственно отладка у меня не заработала - при попытке дойти до точки останова в main() связь с отладчиком терялась. Пока что пришлось вернуться к отладке без поддержки ОС. Возможно, проблема связана с плагином cortex-debug для vscode. В Eclipse, судя по чужому опыту, всё работает без проблем. Возможно, ещё вернусь к этому вопросу.

Использованные материалы:

freertos, Программирование, openocd

Previous post Next post
Up