Я не большой поклонник официальной IDE Arduino (с точки зрения визуальных эффектов), поэтому я начал искать более приятные альтернативы. Однако большинство проектов, которые я нашел, находятся в стадии альфа/бета и, как правило, не завершены.
Я на 100% новичок в программировании печатных плат и никогда раньше не использовал Arduino, но из того, что я понял, Arduino IDE — это просто оболочка для библиотеки avr, которая выполняет фактическую запись на плату. Возможны ли другие IDE для «arduino-подобных устройств»?
Опять же, я очень новичок в этом, поэтому удобство использования было бы неплохо.
Предупреждение, скоро будет пространное объяснение. Я хотел бы развеять некоторые заблуждения, которые, как я думаю, у вас возникли.
Arduino на самом деле состоит из двух вещей.
Да, Arduino IDE в основном является оболочкой avr-gcc — компилятора AVR C. Ваши проекты или «эскизы» включают упомянутые библиотеки Arduino и компилируются с помощью avr-gcc. Однако ничто из этого не имеет ничего общего с тем, как что-либо записывается на доске. То, как эти эскизы развертываются, немного отличается от обычного.
Arduino IDE связывается с вашим Arduino через микросхему USB-to-serial на плате и инициализирует режим программирования, который понимает загрузчик, и отправляет вашу новую программу на микросхему, где загрузчик поместит ее в известное место, а затем запустит. . Не существует «библиотеки avr, которая на самом деле пишет» — это просто среда разработки Arduino, которая открывает последовательный порт и общается с загрузчиком — именно так ваши отладочные сообщения также печатаются в среде IDE во время выполнения.
Любая альтернативная IDE должна иметь возможность осуществлять такую же последовательную связь с загрузчиком. Arduino прост из-за всех библиотек, которые они уже предоставили вам, а также из IDE одним касанием. Честно говоря, я не думаю, что это станет проще или удобнее для пользователя. Они абстрагировались от всех деталей микроконтроллера AVR и процесса сборки/развертывания.
Альтернативой может быть что-то вроде avr-studio (которая также использует avr-gcc для своего компилятора) и программатор ICSP (который является дополнительным аппаратным обеспечением, которое вы должны купить). Вам не предоставляется ничего, кроме некоторых заголовочных файлов определений регистров и некоторых полезных макросов. Вам также не предоставляется загрузчик на вашем чипе AVR, это просто чистый лист. Все, что вы хотите сделать с микроконтроллером, вам придется углубиться и изучить его аппаратную периферию и регистры, а также перемещать байты в C. Хотите распечатать отладочное сообщение обратно на ПК? Сначала напишите процедуру UART для print() и откройте терминал на своем компьютере.
На шаг ниже вы пишете код в текстовом редакторе и вызываете avr-gcc и avr-dude (инструмент командной строки для программирования) из Makefile или командной строки.
На шаг ниже вы пишете ассемблер в текстовом редакторе и вызываете avr-assembler и avr-dude.
Я не уверен, к чему я клоню, я просто думаю, что существующие IDE и Arduino абсолютно гениальны и идеально подходят для новичков — их претензия на известность заключается в удобстве для пользователя. Возможно, это не тот ответ, который вы ищете, изучите рабочий процесс и сделайте с его помощью что-нибудь классное.
Here is a Makefile for compiling and uploading Arduino programs from the command line without the use of the Arduino environment
- Так что нет, вы все еще не правы. Многое из того, что делает arduino доступным, — это куча кода, сделанного в java. Использование make-файла означает, что вы не получаете всего этого манипулирования кодом, который включает в себя множество вещей, которые значительно упрощают C/C++ для начинающих.The Arduino environment performs a few transformations to your main sketch file (the concatenation of all the tabs in the sketch without extensions) before passing it to the avr-gcc compiler.
Next, the environment searches for function definitions within your main sketch file and creates declarations (prototypes) for them.
Посетите эту страницу http://www.arduino.cc/playground/Main/DevelopmentTools . Там есть несколько IDE и даже плагин для Visual Studio.
Я использую SublimeText в качестве основного текстового редактора, поэтому я был очень рад найти Stino , который представляет собой плагин Arduino для SublimeText. Это полная замена Arduino IDE (хотя вам нужна копия Arduino IDE, чтобы Stino мог найти библиотеки). В нем есть несколько ошибок, но он вполне пригоден для использования. Я почти не прикасался к Arduino IDE с тех пор, как открыл для себя Stino.
По совпадению, несколько дней назад я услышал об этой новой IDE под названием MariaMole: http://dalpix.com/mariamole .
Любопытно, что Мария-Моле — это название очень популярной в Бразилии конфеты:
(источник: visualmicro.com )
Бесплатный плагин Microsoft Visual Studio и Atmel Studio прост в использовании и обладает всеми полезными функциями Arduino IDE.
Код Sketch остается полностью совместимым с Arduino Ide. Плагин использует тот же процесс сборки и цепочку инструментов, что и Arduino Ide. Вы выбираете, какие версии Arduino Ide вы хотите использовать в своих проектах.
Предоставляет множество дополнительных функций, таких как детализация ошибок компилятора, дизассемблированный вид (с детализацией), завершение кода, загрузка через программатор или USB.
Поддерживает несколько версий Arduino в одной среде. Версия Visual Studio также поддерживает Intel Galileo.
Оба IDE поддерживают загрузку Arduino Yun Wifi/веб-сервера. Существует также дополнительный отладчик Usb/Serial/Wifi Arduino.
Atmel Studio основана на Visual Studio. Atmel Corp. — компания, производящая микроконтроллеры Arduino. Это означает, что Atmel Studio Ide знает о микроконтроллерах Arduino и создан для них.
Atmel Studio также предоставляет другие инструменты, такие как симулятор.
Документация и бесплатный форум
Да, создание «Arduino IDE» в основном заключается в размещении внешнего интерфейса перед avr-gcc и avrdude. На самом деле, помимо «официальной среды разработки Arduino IDE», существует довольно много других вариантов. Одна из них, которая может представлять интерес, — это среда AVR на основе Eclipse:
http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download
Недавно я переключился с шутки о Arduino IDE на code::blocks-arduino. Он лучше подходит для более сложных проектов с несколькими исходными файлами. У вас есть полный контроль над флагами компилятора, целью сборки и многими другими вещами, которые либо отсутствуют, либо плохо написаны в официальной IDE. По работе он очень похож на плагин eclipse, но не такой раздутый, как eclipse code::blocks-arduino a автономная сборка. Он поставляется с несколькими полезными инструментами для загрузки и отладки, такими как СУПЕР КРУТОЙ И ПОЛЕЗНЫЙ последовательный монитор с некоторыми действительно приятными функциями, такими как прямая отладка i2c (twi, как бы вы это ни называли), последовательный захват и вывод csv и т. д.
скомпилировано для Windows, исходники для Linux доступны http://www.arduinodev.com/codeblocks/
«Средним» подходом может быть MariaMole, который, к сожалению, предназначен только для Windows, но имеет большую простоту официальной IDE, но с множеством функций «классической» IDE. заметная разница между ними заключается в том, что MariaMole использует файлы .cpp и .h, а code::blocks-arduino использует .ino, как официальная IDE.
только окна;( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/
Лично я рекомендую (так как я это написал ;)) UECIDE . Первоначально он был основан на MPIDE для плат chipKIT, который сам был основан на версии 0023 Arduino IDE, но сейчас от исходного кода осталось немного, он весь был переписан.
Он поддерживает все платы Arduino, а также платы chipKIT, Launchpad, Maple и многое другое.
Кроме того, вы можете попробовать браузерные/онлайновые IDE для Arduino, такие как Codebender .
Ответчик Jon L:s довольно хорошо резюмирует Arduino, и, поскольку он просто затрагивает альтернативы, я мог бы прояснить их немного больше.
Но обратите внимание, что, как утверждает Джон Л., Alt1 является простым и простым, поскольку он удаляет большую часть вещей с вашего лица. Включите светодиод, вызовите функцию turnOnLED в lib.
Альт2. Вы получите некоторую помощь по поводу чипа и более классической IDE, но большую часть вещей вам придется делать самостоятельно.
Альт3. Вы должны делать все сами, но вы получаете максимальную власть над своим окружением.
Так что теперь вы можете выбрать, какую разработку вы хотели бы сделать, одна хорошая вещь с материалом AVR заключается в том, что такие инструменты, как jtag, вполне доступны, поэтому это довольно дешевая платформа для работы независимо от того, какой уровень вы используете.
И поскольку это AVR на Arduino, если у них есть разъем jtag, вы можете использовать alt1,2 и 3 на платах Arduino.
Вы можете использовать emacs (или аналогичный) для написания кода и make для его сборки и развертывания. Пакеты arduino поставляются с образцами make-файлов и заглушками для выполнения всего.
EngBlaze только что сделал учебник по использованию Atmel Studio (ранее AVR Studio), чтобы сделать именно это. Учебное пособие: Использование Atmel Studio 6 с проектами Arduino
Eclipse — отличная альтернатива, и теперь с подключаемым модулем eclipse, который вы можете найти на eclipse.baeyens.it , он устанавливается менее чем за 15 минут на Windows, Mac и Linux. У него даже есть последовательный монитор.
Вам действительно нужны отдельные вещи:
Стандартная интегрированная среда разработки Arduino «все в одном» поставляется с безумно простым редактором, который вы быстро перерастете. Рекомендую сначала заменить редактор, дальше отвечать на шаг 2 и 3 из базового пакета.
Когда вы будете готовы пойти дальше, посетите http://playground.arduino.cc/Main/DevelopmentTools , чтобы найти инструменты, которые могут выполнять все три основные функции.
Что сказал Дэн (в комментарии к вопросу): Eclipse — это полнофункциональная IDE, которая очень хорошо работает с Arduino. (Однако и его комментарий к настройке тоже). Но самый простой способ настроить это может состоять в том, чтобы перенести чужую рабочую установку на свой компьютер, чтобы получить рабочую конфигурацию, и начать настройку оттуда.
Я использовал этот Makefile . Он позаботится о большей части процесса за вас. Затем вы просто пишете простой локальный make-файл, чтобы предоставить конкретные сведения о плате. Там действительно отличная документация о том, как его использовать. Затем я просто использую предпочитаемый мной текстовый редактор для написания кода на C или C++, компилирую его с помощью моего простого локального make-файла. Загрузкой также занимается makefile, который я связал: просто вызовите «make upload».
Это хорошее решение, потому что вы можете использовать любой текстовый редактор, какой захотите. Это позволяет вам легко связать все библиотеки Arduino, а также любые локальные библиотеки, которые у вас есть.
Это старая идея, которую я нашел очень быстрой и гибкой. Он может программировать Arduino, а также клоны Arduino, такие как Paperduino или tinyUSB. Вы также можете легко проверить USB или последовательные порты, проверить предохранители и многое другое.
Коннор Вульф
Дэн
туупола
Марнен Лайбоу-Козер
визуальный микро