Работа с Arduino из AVR Studio 4 / Хабр
x4merВремя на прочтение 2 мин
Количество просмотров41K
Разработка под Arduino *
Хотите знать как прошивать Arduino из AVR Studio 4? Читайте далее.
Так сложилось что я уже несколько лет рисую схемы и программирую под AVR микроконтроллеры. Разработка с использованием любого рода программируемых микросхем сталкивается с тем что прошивку нужно начинать писать еще до того как готова финальная «железяка» дабы не задерживать тестирование устройства и выход на рабочий образец. По этой причине пока идет отработка идеи схемы, изготовление печатных плат, монтаж элементови прочее, выделяются отдельные один-два человека которые набрасывают небольшой макетик на котором можно проверять фрагменты финального кода до отладки на живом железе.
Последние полгода я начал использовать для целей такой предотладки плату Arduino и макетки которые я навешиваю со всех сторон. К родной среде программирования Arduino я даже не стал привыкать, пользуюсь компиляторами от IAR, AVR-GCC и отладкой в пакете AVR Studio 4.
Для меня лично в плате Arduino было одно неудобство: невожможность прошивать из AVR Studio без использования командной строки или отдельного программатора. AVR Studio умеет работать только с программаторами производства Atmel, однако если заставить Arduino «прикидываться» для компьютера фирменным программатором, то проблема была бы решена. Сделать это можно при помощи загрузчика — специальной программы в выделенной области флеш-памяти которая может считывать, стирать и модифицировать содержимое флеш-памяти.
Поиск по интернету на тему готового загрузчика для Arduino дал только то что желающих заиметь такой загрузчик хватает, а желающих его написать — нет. Прикинув что задача вполне реальна я взял известный загрузчик Питера Флери и ценой убитого выходного дня переделал его для работы с Arduino. Скачать исходники можно тут.
Теперь для того чтобы зашить программу из AVR Studio 4 в Arduino нужно замкнуть вывод 12 на землю и нажать на платке RESET, загорится индикатор L, после чего перемычку можно убирать и нажимать Connect из студии и прошивать Arduino как STK500 или AVR-ISP. Для тех кто привык к диалогам прошивки студии дальше все элементарно. Если неудобно использовать вывод 12 — можно этот момент исправить в исходниках и пересобрать самостоятельно.
В загрузчике есть один небольшой баг, при подключениии к студии он некорректно рапортует версию железа и студия выбрасывает предупреждающее окошко. Если кто-то из прочитавших этот пост сможет поправить эту проблему — сообщите мне и пришлите исправления, я выложу их на AVR Freaks.
Теги:
- Arduino
- bootloader
- AVR Studio 4
- загрузчик
Хабы:
- Разработка под Arduino
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 13
Никифоров Юрий @x4mer
Пользователь
Комментарии Комментарии 13
Написание прошивок для микроконтроллеров AVR в Atmel Studio и Arduino IDE
Влад Голубов
✩✩✩✩✩✩✩
- #1
Приветствую!
Имеется проект паяльной станции на МК Atmega8, но возникла проблема, как написать прошивку для этого контроллера в Arduino IDE или в Atmel Studio ? Можно ли объявлять порты Atmega8 как физические (например PD0) в Arduino IDE? В распоряжении имеется программатор программатор ch441a.
В дополнении прикрепляю схему и код в Arduino IDE:
P.S. Не удалось загрузить печатную плату в lay формате
P.S.S. Схема не моя
P.S.S.S.Скоро перерисую печатную плату в Proteus
Схема new 9 ok.jpg
327 KB Просмотры: 11
rework_station.ino
2.9 KB Просмотры: 3
Wan-Derer
★★★★★✩✩
- #2
@Влад Голубов,
1. Если у тебя есть готовый код для Ардуино, зачем тебе Студия?
2. Как программировать МК AVR на Ассемблере и Си см. здесь.
3. Ch441A это не программатор программатор, а интерфейс USB-UART.
Влад Голубов
✩✩✩✩✩✩✩
- #3
Wan-Derer написал(а):
@Влад Голубов,
1. Если у тебя есть готовый код для Ардуино, зачем тебе Студия?
2. Как программировать МК AVR на Ассемблере и Си см. здесь.
3. Ch441A это не программатор программатор, а интерфейс USB-UART.Нажмите для раскрытия…
@Wan-Derer
1.Он у меня есть, но я не знаю как прошить голый МК atmega 8 в Arduino IDE. То есть как называть порты голого МК в Arduino IDE или как прошить фьюзы, да и хочется перейти к более серьёзным вещам.
2. Уроки от DIHALTa видел, но все равно спасибо.
3.Простите ошибся, действительно конвертер USB-UART.
Изменено:
Wan-Derer
★★★★★✩✩
- #4
@Влад Голубов,
Надо установить в IDE ядро Мега8, прошить в неё загрузчик и фузы — и можно кодить.
Для прошивки нужен ISP-программатор, например, USPASP. Также такой программатор можно сделать из Ардуино.
PaulCocain
✩✩✩✩✩✩✩
- #5
Тема не раскрыта!!! мне лично интересно как программировать по взрослому в среде разработки атмель! Я уже запарился качать и настраивать различные иде для разработки. у них у всех миллион функций, настроек, везде они дублируются, ниче не понятно, все важные вещи , такие как компилятор спрятаны в глубинах настроек, что их не найдешь, а я очень хочу прогать на С/С++, но даже возникат проблемы с типичным хеллоу ворлд, если есть люди разбирающиеся в этом, очень прошу создайте тему где для совсем бакланов( таких как я ) расписано как наконец начать программировать по взрослому.
Wan-Derer
★★★★★✩✩
- #6
@PaulCocain, раскрыта. Первый ответ, пункт 2. Если не осилишь курс Ди Хальта, значит вообще не судьба. Атмел Студио нужна старая — 4 версии, там можно отлаживать на эмуляторе.
PaulCocain
✩✩✩✩✩✩✩
- #7
@Wan-Derer, зачем мне ассемблер? есть современная иде для разработки на современных микроконтроллерах, с официального сайта можно скачать. Сайт что вы скинули мне знаком, но углубляться до ассемблера я не буду, я не настолько программист и у меня нет столько времени.
Wan-Derer
★★★★★✩✩
- #8
@PaulCocain, ассемблер там вначале для понимания железа. Потом показано как писать на Си. Без знания железа в мире МК делать нечего.
Если хочешь не АВР, а другие МК, ну да, скачивай ИДЕ к ним и ищи книги/курсы.
У Ди Хальта есть курс по СТМ32, правда не знаю насколько он хорош.
Войдите или зарегистрируйтесь для ответа.
Поделиться:
WhatsApp Электронная почта Ссылка
Программирование Arduino с помощью Atmel Studio 6.
2декабрь 2017 г. — жаль, что у некоторых пользователей появляется сообщение о новом выпуске. Это ошибка, выпуск предназначен только для Visual Studio 2012+ и Atmel Studio 7.
20 июня 2016 г .: выпущена версия Arduino для Atmel Studio 7 с обновленным интерфейсом и функциями
17 июня 2016 г.: Важное примечание об As6.2 и Visual Micro внизу этой страницы.
Visual Micro — это бесплатный подключаемый модуль, который реализует простые, но мощные функции разработки Arduino в среде разработки Atmel Studio 6.2.
IDE Atmel Studio отлично подходит для Arduino, поскольку корпорация Atmel является производителем микропроцессоров Arduino и предоставляет IDE бесплатно. Команды Atmel также создают цепочки инструментов, которые Arduino IDE и Visual Micro используют для сборки и загрузки.
Atmel Studio с Visual Micro позволяет разрабатывать, компилировать и затем загружать ЛЮБОЙ проект Arduino (с завершением кода) в любой микропроцессор Arduino. По умолчанию плагин использует исходные коды и инструменты Arduino Ide, что означает, что мы используем один и тот же код, просто язь другой!
Инструменты Atmel лежат в основе Arduino Ide, который зависит от них при компиляции и загрузке. Имеет смысл разрабатывать Arduino с помощью Atmel Studio вместе с богатым пользовательским интерфейсом и другими замечательными инструментами разработки, которые она предоставляет.
Просмотр страницы Visual Micro в галерее Atmel Studio. Пожалуйста, добавьте обзор галереи. Спасибо!!
Обратите внимание: если у вас нет оборудования, поддерживающего функции Atmel Studio, мы рекомендуем Visual Studio 2013 Community Edition, в которой также есть превосходные инструменты IntelliSense и Code. Visual Studio также обеспечивает разработку более широкого спектра приложений, таких как веб, Windows и мобильные устройства. Visual Micro также может работать в обеих средах Ide параллельно (установленных вместе)
Поддерживает комбинацию нескольких эскизов . ino и исходных кодов C++ (cpp) для каждого проекта, что гарантирует совместимость проектов с сообществом открытого исходного кода!
- Обзор отладки (видео — базовый обзор от Visualmicro)
Плагин Arduino для Atmel Studio предоставляет функции Arduino ide, но внутри Atmel Studio. Молниеносно быстрый компилятор, компиляция и загрузка в один клик, IntelliSense, последовательный монитор и многое другое. Дополнительный usb-отладчик Arduino также доступен за небольшую плату. Работает со всем оригинальным и нестандартным оборудованием Arduino.
Arduino IDE и Atmel Studio используют одни и те же параметры конфигурации при установке пользовательского оборудования и/или библиотек Arduino. Это означает, что все, что работает в Arduino IDE, будет автоматически работать в Atmel Studio (с установленным плагином Visual Micro). В результате Atmel Studio не требует дополнительного обучения или настройки для поддержки не только подлинных технологий Arduino, но и всех других, таких как Attiny, avrIO и многих других.
Совет: если синтаксис Arduino .ino/.pde не имеет цветовой кодировки после установки плагина, закройте Atmel Studio, затем запустите программу установки и нажмите «Удалить», затем снова запустите и нажмите «Установить»
Если вы столкнулись с трудностями, вам нужна помощь или вам просто не нравится функция и вы хотите изменить ее, присоединяйтесь к нашему форуму и сообщите нам об этом. Мы прислушиваемся ко всем и активно стремимся стать лучше.
Дополнительный USB-отладчик Arduino (взимается небольшая плата)
В следующем примере показан Arduino в режиме отладки, работающий без задержки. Были установлены две точки трассировки, одна каждые 250 миллисекунд и одна при срабатывании функции на основе счетчика. Точки останова и точки трассировки поддерживают ряд дополнительных свойств, таких как условные операторы. Дополнительные примеры см. в вики.
совет: используйте свойство точки останова «Hit Count» либо как миллисекунды (по умолчанию), либо как стандартный целочисленный счетчик
примечание: изображение ниже устарело. отладка включается автоматически в визуальных микроверсиях с 2013 года. Поэтому игнорируйте параметр, выделенный в окне свойств ниже.
Подключаемый модуль Visual Micro для Atmel Studio в работе почти идентичен подключаемому модулю Visual Studio Arduino, поэтому все документы на этом веб-сайте теперь применимы и к Atmel Studio. Один установщик Visual Micro устанавливает подключаемый модуль для Atmel Studio, а также для Visual Studio 2008, 2010 и 2012.
Переключение между различными платами Arduino (или пользовательскими платами), добавление библиотек Arduino, компиляция и загрузка выполняются одним щелчком мыши. Любой/все проекты Arduino могут быть открыты и скомпилированы без необходимости изменения конфигурации.
Высокооптимизированный компилятор выдает результат, идентичный Arduino Ide, за меньшее время (оптимизация может быть отключена для расширенного использования). Переключение между разными версиями Arduino или разными папками альбомов для эскизов Arduino мгновенно отражается в пользовательском интерфейсе Atmel Studio, нет необходимости перезапускать IDE (при условии исправления известной незначительной ошибки Atmel intellisense).
Инструмент Micro Explorer — предоставляет справку и справочник по Arduino
Atmel Studio устанавливается с мощным расширением VisualAssistX (vax). Vax предоставляет множество полезных функций, таких как Intellisense, а также предоставляет дополнительные параметры, облегчающие чтение/навигацию по коду Arduino
В следующем простом примере вы можете видеть, что мы включили фоновую подсветку для текущей строки кода Arduino, а также изменил цвет соответствия фигурной скобке с черного на фиолетовый. Мы также выделяем жирным шрифтом локальные переменные кода Arduino.
В Atmel Studio вы найдете параметры VAX в верхнем меню. Щелкните узел «Отображение», чтобы найти параметры, описанные выше.
(если у вас есть какие-либо предложения по улучшению продукта, пожалуйста, свяжитесь с нами, мы будем признательны за обратную связь)
Совет: если синтаксис Arduino . ino/.pde не имеет цветовой кодировки после установки плагина или отсутствует intellisense , затем закройте Atmel Studio, затем запустите программу установки и нажмите «Удалить», затем снова запустите и нажмите «Установить»
july 2014 news for advanced users : new release — supports the new ATMEL-ICE programmer for Arduino SAM and AVR (as ISP)
Debugging
Visual Micro provides a software debugger for Arduino, который подойдет для большинства проектов и требует только USB-кабеля или радио, такого как xbee. Отладчик Visual Micro будет работать напрямую с исходным кодом Arduino .ino и исходным кодом cpp текущего скетча.
Atmel Studio также предоставляет расширенные функции отладки для более продвинутых пользователей, у которых есть аппаратный отладчик, такой как ICE, или которые используют 32-битные платы, такие как Arduino Zero. Чтобы получить доступ к аппаратному отладчику, либо преобразуйте свой проект в стандартный проект gcc atmel studio, либо создайте с помощью Visual Micro и нажмите «Файл»> «Открыть объектный файл для отладки». Если вы используете собственный отладчик Atmel Studio, вы можете обнаружить, что потребуется уменьшить уровень оптимизации в свойствах проекта отладочного проекта, иначе некоторые точки останова или переменные данные не будут обнаружены.
Важное примечание. Библиотека # включает
Версия Visual Micro для Atmel Studio 6.2 немного менее функциональна, чем Visual Micro для Atmel Studio 7.0. Одно примечательное отличие состоит в том, что Visual Micro в AS6.2 не поддерживает #условный и глубокий поиск «библиотека включает» функцию автоматического обнаружения, которая была выпущена в Arduino 1.6.6.
Все требуемые библиотеки должны быть #include в файле имя_проекта.ino, независимо от их использования только в исходниках .cpp. Все #include библиотеки будут скомпонованы независимо от #условий препроцессора. Так исторически работало Arduino, и это также применимо к Visual Micro для Visual Studio 2010.
Как прошить или запрограммировать Arduino из Atmel Studio?
Опубликовано
Crazy EngineerNote
Эта статья является частью ARDUINO / ATMEGA328PRED COINDINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGINGE. Подумайте о том, чтобы изучить домашнюю страницу курса и найти статьи на похожие темы.
Учебное пособие по Arduino Мастер-класс по встроенному регистру C уровня Arduino
Также посетите Страница выпуска для Библиотека аппаратных абстракций встроенного уровня регистров C и код для AVR .
Введение
Этот учебник проведет вас через процесс настройки Atmel Studio, чтобы вы могли напрямую программировать Arduino из Atmel Studio. Это позволит вам выбрать IDE профессионального уровня, т.е. Atmel Studio для ваших программ и по-прежнему использовать Maker / Prototyping Hardware, т.е. Arduino для тестирования или развертывания.
Чтобы прошить Arduino из Atmel Studio, вам необходимо предварительно установить Arduino IDE и драйверы. Пожалуйста, выполните следующие действия для установки, если вы этого не сделали.
https://www.arnabkumardas.com/platforms/atmel/how-to-install-arduino-ide-and-drivers/
Чему вы научитесь
- Как прошить Arduino из Atmel Studio с помощью загрузчика ?
- Как запрограммировать Arduino UNO с помощью COM-порта от Atmel Studio?
- Как запрограммировать Arduino NANO с помощью COM-порта от Atmel Studio?
- Как прошить платы Arduino от Atmel Studio?
Этапы настройки
Необходимое время: 5 минут.
Шаги настройки Atmel Studio для прошивки или программирования платы Arduino
- Open Atmel Studio
Откройте установленную IDE Atmel Studio.
- Перейдите в меню внешних инструментов
В строке меню перейдите к Инструменты -> Внешние инструменты . Я уже добавил две команды для Arduino UNO и Arduino NANO.
- Добавить новый инструмент для Arduino UNO
Нажмите «Добавить», чтобы добавить новый инструмент. И заполните текстовые поля, как показано ниже.
Название:
ARDUINO UNO
Команда:
C: \ Program Files (x86) \ Arduino \ Hardware \ Tools \ AVR \ Bin \ AVRDUDE.EXE
ARGUTERS:
-C ». C:\Program Files (x86)\arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM10 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName ).hex": я
Выберите
«Использовать окно вывода»
Вы можете указать любое название по своему усмотрению. Команда должна иметь путь к avrdude.exe, который будет находиться в том месте, где вы установили Arduino IDE. Аргументы должны содержать 3 наиболее важных параметра: микроконтроллер, который зависит от используемой платы Arduino, COM-порт и скорость передачи. COM-порт зависит от системы и может быть определен из диспетчера устройств. Скорость передачи должна быть 115200.
Arduino Uno / Nano Microcontroller>
-Patmega328p
Arduino Mega Microcontroller>
-Patmega2560
-PATMEGA2560 -PATMEGA2560 9003. И заполните текстовые поля, как показано ниже. - Создайте свою программу
Сборка обычно занимает несколько секунд.
Название: Arduino NANO
Команда: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Аргументы: -C"C:\Program Files (x86)\arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM5 -b57600 -D -Uflash:w: «$(ProjectDir)Debug\$(TargetName).hex»:i
Выберите «Использовать окно вывода»
Обратите внимание, что микроконтроллер такой же, как и в Arduino UNO, так как обе платы используют тот же МКУ. COM-порт изменен, так как каждая новая плата получит новый COM-порт, назначенный вашим ПК. Вы должны проверить в Диспетчере устройств, какой COM-порт назначен для вашей платы. Скорость передачи для Arduino NANO составляет 57 600 бод.