Компиляция кода через терминал

Как я могу скомпилировать свой код через терминал? Я работаю над приложением Chrome, которое позволяет вам писать, компилировать и загружать код в Arduino, и мне нужно это знать, чтобы я мог использовать компилятор командной строки на своем сервере Linux. Терминал Mac или Linux, не имеет значения.

, 👍2

Обсуждение

Я не совсем уверен, что именно вам нужно, но для компиляции в командной строке вам нужно что-то вроде avr-gcc., @Kwasmich


3 ответа


2

Посмотрите на platformio.org, это лучшее решение для компиляции из командной строки.

,

См. мой ответ на связанный вопрос для примера сеанса CLI PlatformIO., @maxschlepzig


1

Предполагая, что Arduino на основе AVR, вам понадобится компилятор avr-gcc, avr-libc и библиотеки Arduino. Также avrdude, если вы хотите загрузить. Единственная проблема заключается в том, что команды, используемые для процесса сборки, довольно длинный (много вариантов). Вы можете увидеть их, включив подробную компиляцию в IDE. Таким образом, вы, вероятно, захотите каким-то образом автоматизировать всю вещь.

Для этого есть несколько вариантов. Наиболее простым кажется инструмент командной строки arduino-builder. это часть ардуино проекта и должен обеспечивать максимальную совместимость. В противном случае вы могли бы использовать простой старый Makefile. Лично я использую Makefile Sudar Muthu'. Он может быть установленным в дистрибутиве Linux на основе Debian:

sudo apt install arduino-mk

Он не полностью совместим с классическим процессом сборки Arduino. однако: он действительно автоматически включает <Arduino.h> в ваш скетч, но он не добавляет предварительные объявления. Некоторые предпочитают именно так, т.к. автоматическое включение предварительных объявлений несколько глючит и не работает с некоторыми функциями C++.

,

1

Существует Arduino CLI (интерфейс командной строки):

https://github.com/arduino/arduino-cli

Вы используете такие команды, как для доступа к функциям Arduino IDE:

компиляция arduino-cli --fqbn arduino:avr:скетч leonardo

и

загрузка arduino-cli -pCOM14 --fqbn arduino:avr:скетч Леонардо

(очевидно, в Linux порт будет другим)

,