Недавно я начал новый проект, используя мой Arduino, который некоторое время собирал пыль. Наряду с пылью собирает физическую плату, моя копия библиотек avr-gcc и Arduino. Я могу управлять обновлением avr-gcc, но не могу вспомнить, как я компилировал библиотеки Arduino. В исходном коде Arduino есть список исходных файлов и тому подобное, но нет никакого make-файла (который я вижу) для фактического построения библиотеки. Меня не волнует создание IDE, я просто хочу библиотеку в двоичном формате и файлы заголовков, которые мне понадобятся. Есть ли какая-либо документация для этого?
Я не хочу использовать Arduino IDE, я предпочитаю использовать свой собственный текстовый редактор и make-файл.
Ответы:
Я создал небольшой проект с пользовательской системой сборки (с использованием Ruby), которая делает это довольно легко, без необходимости установки Arduino IDE. В основном, он использует шаблон Makefile и скрипт ruby, чтобы сделать компиляцию библиотек Arduino чрезвычайно простой. Вы можете увидеть это на https://github.com/Earlz/make-wiring
Тем не менее, я оставляю здесь старый ответ для получения информации о том, как прокрутить свой собственный. Это довольно громоздко и раздражает, хотя:
Направления:
hardware/arduino/cores/arduino
в новый каталог, который я буду называть arduino_buildpins_arduino.h
файл с любого варианта Arduino, с которого выhardware/arduino/variants
(смотри Board.txt, если вы не уверены), в arduino_build,
А потом просто беги
И затем, чтобы использовать скомпилированные библиотеки и тому подобное, вы можете использовать простой make-файл, подобный следующему:
Кроме того, если вы попытаетесь скомпилировать библиотеки,
libraries/
вы получите ошибку компоновщика, если вы не сделаете все в правильном порядке. Например, я должен был сделать это, чтобы использовать SoftwareSerial:-larduino
Должна быть последней библиотекой в командной строкеВ любом случае, для меня это был довольно простой способ. По мере появления будущих версий Ardunio этот make-файл должен быть достаточно перспективным, требуя всего лишь нескольких модификаций OBJS и HDRS. Кроме того, этот make-файл должен работать как с BSD make, так и с GNU make
См. Также слегка измененную версию этого ответа в моем блоге с уже скомпилированным двоичным файлом библиотеки (скомпилированным с использованием «стандартного» pins_arduino.h).
** РЕДАКТИРОВАТЬ **
Я обнаружил, что добавление следующих флагов оптимизации компилятора в Makefile создания библиотеки и в каждый отдельный Makefile проекта значительно уменьшает размер конечного скомпилированного двоичного файла. Это делает окончательный размер двоичного файла сопоставимым с размером среды IDE.
,
Итак, для сборки библиотеки makefile:
и для каждого проекта makefile:
,
Ссылка: http://arduino.cc/forum/index.php?topic=153186.0
источник
Если вы готовы использовать Arduino IDE один раз (или один раз для каждого типа устройства), это самый простой способ создать статическую библиотеку, а также получить исходные коды библиотеки. После этого вы можете использовать любые средства разработки, которые вам подходят.
В этой статье Arduino (написанной для пользователей, переходящих в Eclipse IDE) описывается создание библиотеки Arduino путем компиляции эскиза с помощью Arduino IDE и извлечения библиотеки из временного каталога Arduino. Прокрутите вниз примерно на 1/4 страницы к разделу
источник
Если вам просто нужна система сборки, которая может также управлять вашим программистом микроконтроллера, то вам будет платформа Platio.
источник