Замена IDE Arduino по умолчанию на KDevelop
Я нахожу KDevelop очень хорошей IDE в целом, и у меня уже есть хороший опыт использования его для кросс-компиляции и отладки программного обеспечения для процессоров ARM9, работающих под управлением встроенного Linux. Теперь, когда я приобрел несколько плат Arduino для небольших проектов, я нашел их очень удобной и простой платформой, но ее IDE значительно отстает от Kdevelop по функциональности, интроспекции кода и так далее, поэтому я бы хотел адаптировать Kdevelop для компиляции и программирования arduino. доски вместо.
Цель состоит в том, чтобы позволить разработку программного обеспечения на чистом C/C++ или обычном C++ с использованием библиотек arduino ( этот ответ очень помогает в этом), обходя искусственные ограничения arduino, налагаемые для облегчения его освоения. Я намерен использовать CMake в качестве системы сборки, поскольку она хорошо интегрируется с Kdevelop и позволяет легко выполнять кросс-компиляцию. В качестве примечания вы можете использовать этот файл инструментария, чтобы заставить CMake использовать кросс-компилятор avr-gcc:
INCLUDE(CMakeForceCompiler)
# the name of the target operating system
#SET(CMAKE_SYSTEM_NAME Linux)
# which C and C++ compiler to use
CMAKE_FORCE_C_COMPILER(avr-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(avr-g++ GNU)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/avr)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
Так как arduino использует avr-gcc и avrdude за кулисами для компиляции и программирования целевых микроконтроллеров AVR, я нашел несколько интересных направлений, таких как AVR Tutorial, Программирование Arduino Uno на чистом C и Программирование Arduino с AVR-GCC, но я до сих пор этого не делаю знать, как добавить кнопку в интерфейсе Kdevelop для вызова avrdude, чтобы загрузить скомпилированный двоичный файл во флэш-память микроконтроллеров. Кто-нибудь может помочь мне сделать это?