Долгое время для разработки под stm32 я использую HAL и cubeMX. Эти инструменты позволяют проводить разработку наиболее эффективно, абстрагируясь от железа не нужно сидеть целый день, читая даташиты и думая, почему не работает интерфейс, когда проблема заключается в одном неправильно настроенном регистре из тысячи. Можно больше времени потратить на логику самой программы.
Долгое время я пользовался генератором мейкфайлов https://github.com/baoshi/CubeMX2Makefile , но немного изменённым, для более простого использования с собственным аддоном для emacs. Но этот процесс меня немножко достал - хотелось одного интерфейса для работы с обычными проектами и с stm. Поэтому было решено написать cmake скрипт.
Итого результат: https://github.com/SL-RU/STM32CubeMX_cmake
Главной задачей стояло упрощение работы и старта нового проекта. Щитаю что цель достигнута!
Инструкция по использованию.
- Создать и сгенерировать в кубе проект с таргетом SW4STM32.
- Скопировать CMakeLists.txt и CubeMX2_cmake.py в папку с проектом.
-
mkdir build; cd build
-
cmake ../; make
- Готово!
В итоге в emacs я теперь использую semantic + ede-compdb для автодополнения, подсветки и ошибок для stm32 и просто сишных проектов.
Предложения и замечания принимаются.