Проблема
Я начал работать над существующим проектом stm32 с уже настроенным make-файлом.Я установил arm-none-eabi
toolchain и openocd
и смог прошить / отладить с помощью make-файла из командной строки.
Я хотел бы использовать CLion для разработки и отладки этого проекта, но столкнулся с некоторыми трудностямипоскольку CLion изначально не поддерживает makefile.Я использую CLion 2019.1 на OSX 10.14.4.
Что я пробовал
С тех пор, как CLion 2019.1 представил официальную поддержку встроенной разработки с использованием openocd (https://www.jetbrains.com/help/clion/2019.1/embedded-development.html), я первыйпопытался создать новый проект, используя руководство на приведенной выше веб-странице, и вставив в мои исходные коды, а также переведя make-файл в его шаблон CMake. Но так как сам make-файл сложен, и я новичок в CMake, мне не повезлозаставить его скомпилировать с CMake.
Затем второй метод, который я попробовал, - это использовать существующий make-файл для компиляции и создать пользовательскую цель, используя скомпилированный двоичный файл для прошивки и отладки.
Я былЧтобы найти обходной путь, сначала нажмите New CMake Project from Sources
и прокомментируйте сгенерированный add_executable(...)
в CMakeLists.txt
, а затем добавьте следующую строку:
add_custom_target(upload COMMAND make)
А затем в конфигурации Run / Debug я добавилцель OpenOCD Download & Run
и установите цель в качестве пользовательской цели upload
, затем установите исполняемый файл в файл elf, сгенерированный makefile. Вот .
Результат
Мне удалось прошить и отладить эту конфигурацию, но есть две проблемы.
Моя пользовательская цель, похоже, нена самом деле выполните команду make
, поэтому мне пришлось пойти в терминал и набрать make
, чтобы скомпилировать код в файл elf, прежде чем нажимать «Run» или «Debug» в CLion, чтобы изменения в коде вступили в силу.
Все мои исходные коды помечены как "Этот файл не принадлежит ни к одной цели проекта", и все полезные функции анализа кода не работают для них.Это из-за того, что я закомментировал «add_executable
» в CMakeList
, поэтому раскомментирование их решает проблему.Но мне приходилось комментировать их каждый раз перед «Выполнить» или «Отладка».
Мне кажется, что это проблема с комментариями при импорте проекта в CLion.Мне интересно, если у кого-то здесь была подобная борьба и есть лучшее решение.