Atmel заявила на своем сайте:
Atmel Studio 7 обеспечивает простой импорт проектов, созданных в среде разработки Arduino, одним щелчком мыши. Ваш эскиз, включая все библиотеки, на которые он ссылается, будет импортирован в Studio 7 как проект C ++. После импорта вы можете использовать все возможности Studio 7 для точной настройки и отладки вашего проекта. Atmel Studio 7 полностью поддерживает мощный встроенный отладчик на плате Arduino Zero. Для других плат Arduino доступны экранирующие адаптеры, которые предоставляют отладочные разъемы, или переключитесь на одну из многих доступных плат Xplained-Mini / PRO, чтобы полностью использовать экосистему Atmel HW. Независимо от того, что вы выберете, вы обязательно сделаете что-то удивительное.
Интересно, как это работает? Это просто плагин (visual-micro), означающий, что нам все еще нужно установить программное обеспечение Arduino? Или у них есть свой компилятор и отладчик?
Чтобы завершить Danny_ds ответ:
«Стандартный» компилятор Atmel для Arduino (и 8-битного AVR) в настоящее время avr-gcc
, GCC расшифровывается как GNU Compiler Collection (так что это бесплатный программный инструмент).
Это набор инструментов, используемый в Arduino IDE и Atmel Studio. Обратите внимание, что Atmel Studio настраивается, он может использовать другие наборы инструментов / компиляторы (кто-то сказал мне, что существует как минимум 8 AVR-компиляторов).
Чтобы понять, как можно импортировать наброски Arduino в Atmel Studio, лучше понять, что такое arduino:
#include <Arduino.h>
ранее Program.h IIRC)Давайте вытолкнем стек:
Во-первых, вы можете стереть Arduino IDE, используя свой собственный редактор и make-файлы. Увидеть Arduino Makefile на GitHub для легкого перехода к этому.
Для этого вам, возможно, придется добавить включение Arduino.h в ваш набросок. Но у вас есть полный контроль над обработкой исходного дерева. Это было моей мотивацией, когда рано выходил из Arduino IDE, потому что к тому времени было невозможно использовать 2 библиотеки в одном наброске, что позволяло Arduino-Makefile.
Во-вторых, если вы не планируете использовать Serial
класс (управление интерфейсом UART / USB для обмена текстовыми сообщениями консоли с Дуино), возникает искушение удалить зависимости … Я попытался, и я пришел к выводу, что переписывание функций, таких как setMode()
, digitalRead()
и пиши и т.д … просто очевидно: просто откройте таблицу данных PDF рядом с вашим кодом и установите соответствующие биты.
Преобразование АЦП, управление таймером / счетчиком, чтение / запись eeprom и даже управление подключением UART все сложнее, поскольку они подразумевают непосредственное управление регистрами ввода-вывода AVR и понимание подсистемы, с которой вы взаимодействуете … Но не невозможно !!
Более того, более вероятно, что (кроме Arduino) доступны (бесплатные) библиотеки для управления этими заданиями.
После этого шага ваше исходное дерево может быть импортировано как есть в Studio, и (при условии, что ваш компилятор все еще установлен на GCC, а Atmel Studio знает о ваших зависимостях), оно будет скомпилировано без проблем.
Поэтому Atmel Studio нужно просто импортировать библиотеку Arduino в проект (и, возможно, добавить несколько заголовков, как мы должны сделать вручную), чтобы скомпилировать ее как собственный проект.
НОТА что вставка некоторых существующих файлов и, в частности, целых существующих каталогов, является трудной задачей для Studio.
Код Arduino — это простой код C ++ (включая некоторые библиотеки C ++).
Разница в том, что в Arduino IDE вы не видите весь код. Например, main()
является скрытый и составлено за кулисами.
Только в эскизе Arduino setup()
а также loop()
видны, но те, которые вызываются из скрытого main()
(который вызывает loop()
несколько раз).
Таким образом, для компилятора Atmel C ++ не должно быть проблем с компиляцией эскиза, созданного в Arduino IDE, поскольку это уже полный проект C ++.