8-900-374-94-44
[email protected]
Slide Image
Меню

Arduino atmel studio: Как Atmel Studio 7 компилирует и отлаживает код Arduino?

Содержание

Как Atmel Studio 7 компилирует и отлаживает код Arduino?

Чтобы завершить ответ Danny_ds :

Компилятор "standard" Atmel для Arduino (и 8-битный AVR) в настоящее время является avr-gcc , GCC, что означает GNU Compiler Collection (то есть свободный программный инструмент).

Это инструментальная цепочка, используемая Arduino IDE, а также Atmel Studio. Обратите внимание, что Atmel Studio настраивается, она может использовать другие цепочки инструментов/компиляторы (кто-то сказал мне, что существует как минимум 8 AVR компилятора).

Чтобы понять, как можно импортировать эскиз Arduino в Atmel Studio, лучше понять, что такое arduino :

  • A "breadboard" работает на чипе Atmega328
  • Библиотека (API импортирована, когда #include <Arduino.h> ранее Program.h IIRC)
  • An IDE, который делает всю работу редактора и "makefile"

Давайте откроем стопку :

Во-первых, вы можете стереть Arduino IDE, используя свой собственный редактор и make-файлы. См . Arduino Makefile на github для легкого переключения на это. Сделав это, вам, возможно, придется добавить включение Arduino.h в свой эскиз. Но у вас есть полный контроль над обработкой исходного дерева. Это была моя мотивация, когда я рано ушел из Arduino IDE, потому что к тому времени было невозможно использовать 2 библиотеки в одном скетче, что позволял Arduino-Makefile.

Во-вторых, если вы не планируете использовать класс Serial (управляющий интерфейсом UART/USB для консольной текстовой связи с Duino), то возникает соблазн удалить зависимости... Я сделал попытку и пришел к выводу , что переписывание функций типа setMode(), digitalRead() и write и т. д... это просто THE очевидно: просто откройте таблицу PDF рядом с вашим кодом и установите биты соответственно.

Преобразование ADC, управление таймером/счетчиком, чтение / запись eeprom и даже управление соединением UART - все это более сложно, поскольку они подразумевают прямое управление регистрами ввода-вывода AVR и понимание подсистемы, с которой вы взаимодействуете... Но не невозможно !!

Кроме того, более чем вероятно, что (бесплатные) библиотеки доступны, кроме Arduino, для управления этими заданиями.

После этого шага ваше исходное дерево можно импортировать так, как оно есть в Studio, и (предполагая, что ваш компилятор все еще установлен на GCC и Atmel Studio знает о ваших зависимостях) оно будет легко компилироваться.

Поэтому Atmel Studio нужно просто импортировать библиотеку Arduino в проект (и, возможно, добавить некоторое включение заголовка, как мы должны делать вручную), чтобы скомпилировать ее как собственный проект.

NOTE что вставка некоторых существующих файлов и, в частности, целых существующих каталогов - это pain-in-the-ass со студией.

Работа с Arduino из AVR Studio 4 / Хабр

Хотите знать как прошивать 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.

Использование программатора USBASP в Atmel Studio

Программатор USBASP является на сегодняшний день самым дешевым программатором микроконтроллеров AVR компании ATMEL и позволяет программировать большое множество микроконтроллеров серий AVR ATTiny, AVR ATMega и других. В данной статье я расскажу вам об основных особенностях использования этого программатора из под ОС Windows 7 и как настроить его работу совместно со средой разработки программ Atmel Studio на примере версии 6.1. К сожалению, по умолчанию, Atmel Studio не поддерживает этот программатор.

Установка драйвера программатора

В первую очередь необходимо установить драйвер для программатора. Мы не будем подробно описывать процедуру установки драйвера, так как тут не должно возникнуть каких либо трудностей. После установки драйвера подключенный программатор отображается в диспетчере устройств Windows как устройство USBasp.

Драйвер можно скачать по ссылке с нашего Google диска.

Установка Avrdude

Для программирования микроконтроллеров AVR будем использовать программу Avrdude. Эта программа поддерживает большое количество программаторов, в том числе и USBASP. Этой программе посвящена отдельная страница в википедии.

Скачать Avrdude по ссылке с нашего Google диска

Программа avrdude является консольной и запускается из командной строки. Для выполнения программирования ей передается набор параметров, определяющий настройки. Ниже приведен пример командной строки для программирования контроллера при помощи программатора USBASP:

avrdude -c usbasp -p atmega32 -U flash:w:myhexfile.hex -U lfuse:w:0x6a:m -U hfuse:w:0xff:m

Поясним основные параметры:

  • -c usbasp параметр определяет тип программатора, в нашем случае это usbasp;
  • -p atmega32 параметр определяет тип микроконтроллера, для примера использован ATmega32;
  • -U flash:w:myhexfile.hex параметр определяет hex файл для записи в контроллер. Файл должен располагаться либо в каталоге программы, либо необходимо указать полный путь к файлу;
  • -U lfuse:w:0x6a:m параметр определяет младший байт регистра Fuse;
  • -U hfuse:w:0xff:m параметр определяет старший байт регистра Fuse;

Регистры Fuse используются для настройки режима работы микроконтроллера и для их определения обратитесь к документации соответствующего контроллера. Хочу предупредить, что некорректная установка режима контроллера через регистры Fuse может привести к невозможности дальнейшего программирования контроллера, по этому, внимательно изучите документацию. Если вы не хотите изменять регистр Fuse, вы можете не передавать эти параметры при программировании, в этом случае регистр Fuse останется в том же состоянии, что и до программирования.

Avrdude имеет много разных функций, но в рамках данной статьи нам важен один режим ее работы, а именно заливка программы в микроконтроллер. Остальные функции вы сможете изучить в документации.

Настройка программирования из Atmel Studio

Как уже было упомянуто, Atmel Studio не поддерживает программатор USBASP. Однако в нее встроен механизм для запуска внешних программ для выполнения различных действий. Используя данный механизм внешних инструментов, программирование контроллера будет осуществляться одной кнопкой прямо из меню Atmel Studio.

В Atmel Studio открываем пункт меню Tools и выбираем пункт External tools...

В открывшемся окне настройки инструментов нажимаем кнопку Add для добавления нового инструмента. Заполняем следующие поля:

  • Title: произвольное имя инструмента, мы указали USBASP atmega32.
  • Command: файл запуска программы avrdude. Мы указали C:AVRDUDEavrdude.exe, так как у нас она размещена в каталогеAVRDUDE на диске С.
  • Arguments: параметры запуска для avrdude, которые мы рассмотрели выше. Мы задали строку -c usbasp -p atmega32 -U flash:w:$(TargetName).hex, в которой указали имя программатора, имя контроллера, и путь к файлу прошивки. Путь к файлу указан через специальные макросы и Atmel Studio подставит их сама. Мы не указали регистр Fuse в этом примере, но при необходимости вы можете добавить их самостоятельно.
  • Initial directory: указан макрос для подстановки каталога, в котором находится файл прошивки.
  • Use Output window: установите эту галочку для того, что бы результат работы программы показывался в окне Atmel Studio. Послу установки всех настроек нажмите кнопку OK для сохранения настроек и выхода.

Теперь, для программирования микроконтроллера достаточно зайти в меню Tools и нажать команду USBASP atmega32, которая там должна появиться после проделанных настроек. Программирование необходимо запускать после компиляции проекта, так как файл прошивки создается в процессе компиляции проекта.

Подключение программатора к микроконтроллеру

Программатор USBASP подключается к микроконтроллеру по стандартному интерфейсу ISP. Физически на программаторе интерфейс имеет 10 контактов. Большинство контактов объединены общим проводом. Назначение используемых контактов следующее:

  • MISO, MOSI, SCK, RESET — подключается к соответствующему выводу микроконтроллера;
  • GND – земля, подключается к мину или GND микроконтроллера;
  • VCC – используется для подачи питания на микроконтроллер.

На печатных платах модулей, где используются контроллеры AVR, разработчики очень часто располагают интерфейс SPI 6 контактов, позволяющий произвести внутрисхемное программирование контроллера. Такой интерфейс можно видеть даже на платах Arduino. Для подключения программатора к такому 6-и контактному интерфейсу можно использовать соединительные провода мама-мама или специальный переходник ISP10 в ISP6 для программатора AVR USBASP.

Arduino или AVR. Что лучше?

Arduino или AVR?

Думаю, не ошибусь, если скажу, что каждый начинающий радиолюбитель, еще не имеющий опыта работы ни с одной платформой для разработки электронных устройств, затрудняется в своем выборе. Новички советуют одно, профи – другое. На форумах мнения разделяются. Так сложилось, что мы начали развитие темы прикладного программирования с создания устройств на AVR микроконтроллерах.  И если для более опытных электронщиков изучение AVR не становится проблемой, то у начинающих появляется море вопросов.

Переход к созданию своих устройств на практике бывает затруднен. Но решение есть. Оно довольно простое и не очень затратное.  Многие, думаю, слышали о такой платформе под названием “Arduino”.

Arduino – это электронный модуль-конструктор, имеющий в своем составе МК AVR, который является мозгом всего этого конструктора. Отличие от самого МК AVR – это упрощенное программирование, большое количество дешевых периферийных устройств, которые можно купить без проблем, а также простая и безопасная “заливка” программы в МК.

Блок-схема платы Arduino до боли проста:

Периферийными устройствами в данном случае являются разные датчики контроля, а также исполняемые устройства. Всем этим винегретом заправляет МК AVR, который установлен посередине платы 😉

Вот некоторые из периферийных устройств.

В процессе изучения мы будем знакомиться с ними поближе

Виды Arduino

Существуют несколько разных моделей Arduino. Некоторые дешевле, а некоторые дороже. Как вы поняли, дешевые модели резко ограничены по функционалу, а также по количеству выводов. Устаревшие модели мы рассматривать не будем, а рассмотрим только те, которые можно недорого приобрести у наших друзей китайцев на сайте Алиэкспресс:

Arduino Mega

Сама приставка “мега” говорит уже сама за себя. Самый мощный конструктор.

Arduino Uno

Урезанная версия модели Arduino Mega, у которой, как видите, уже меньше выводов для подключения периферийных устройств. Если будете брать, то лучше брать сразу кит-набор. При большом желании можете глянуть на Али по этой ссылке.

Также на плате Arduino UNO и Mega распаян стабилизатор питания, позволяющий питать плату от батареи Крона, либо через переходник от китайского адаптера – блока питания. Оптимальное напряжение питания 9-12 Вольт

Arduino Nano

Думаю, проще уже некуда. На али выбор этой модели огромный.

[quads id=1]

Все эти три модели  – Mega, Uno, Nano – имеют в своем составе составе конвертер USB-Serial и разъем USB. Это означает, что для заливки программы (на языке Arduino – скетча), нам нет необходимости покупать программатор.

Arduino Pro Mini

Для Pro Mini уже необходим программатор. Но это не обычный программатор, типа USBasp, с помощью которого мы шили микроконтроллеры AVR. Здесь уже требуется программатор USB-Serial, который уже встроен в Uno, Nano  и Mega, но не имеется в Mini. Стоимость его в среднем чуть меньше 1$.  Вот вам ссылка на Али на саму модель Pro Mini, а вот ссылка на программатор.

Какой Arduino лучше?

Какой из Ардуино лучше для начала осваивания работы? Мое мнение – это Arduino Uno. Mega будет стоить дороже, да и зачем новичку такой супер-конструктор? Uno удобнее всего подключать к ПК и для него не требуется  паять штырьки, для того чтобы вставить в макетную плату, так как они уже есть. Он полностью готов к работе. Nano и Pro Mini требуют предварительного впаивания гребенки штырьков:

Но если вы уже  с паяльником на “ты” и хотите немного сэкономить, то можете приобрести Arduino Nano. Если же вы отладили какое-либо устройство и хотите уже использовать его многие годы, тут как нельзя кстати подойет Pro Mini. Маленький, удобный, а главное – дешевый.

На всех четырех перечисленных моделях Arduino размещены кварцевые резонаторы, используемые для тактирования МК. Также имеется индикация в виде мигания светодиодов при заливке прошивки. Цена Nano и Mini существенно ниже, чем Uno, и приблизительно равна стоимости среднего по функционалу микроконтроллера AVR.

Сравнение плат Arduino – довольно важная вещь. Новичку, не имеющему опыта работы с ней, легко растеряться в многообразии плат и выбрать неподходящую модель. Конечно, выбор той или иной платы зависит от проекта, однако в общем разъяснить новичкам об особенностях каждой платы не помешает:
– Arduino Mega
Одна из самых мощных плат в линейке Arduino. Имеет память аж 256 Кб, которой хватит на 99,9% проектов, 54 цифровых входов/выходов и 16 аналоговых входов.
– Arduino Uno
Наиболее распространённая ардуинка, имеет память 32 Кб, 14 цифровых входов/выходов и 6 аналоговых входов. Немного, по сравнению с Mega, но для многих проектов хватает.
– Arduino Nano
Вопреки ожиданиям от слова “нано” она даже мощнее Uno. Имеет 14 цифровых входов/выходов и 8 аналоговых входов и память тоже 32 Кб, так, как построена на том же МК ATMega328, что и Uno.
– Arduino Pro Mini
Самая слабая плата. Имеет память 16 Кб, 14 цифровых входов/выходов и 4 аналоговых входа. К тому же, обвязка платы настолько ограничена, что она отличается от простого МК лишь кнопкой перезагрузки reset и стабилизатором питания.

Какую же выбрать новичку? Nano отлично подходит для готовых проектов, а Uno – для освоения Arduino, на ней удобнее учиться. Nano очень компактное и дешевле Uno, а Uno удобнее питать и подключать. Pro Mini не оправдывает своей стоимости, да и к ней надо покупать программатор, к тому же её очень неудобно питать.

Программа Arduino IDE

Для написания программ используется собственная среда разработки Arduino. Те, кто пытались освоить работу с Atmel Studio 6, помнят, какое там количество настроек. Сходу разобраться нереально. Здесь же наоборот, мы видим простой интерфейс и только все самое необходимое. Скачать ее можно здесь. Есть также версии посвежее, но это не влияет на работоспособность программы.

Arduino является открытой платформой. Именно это принесло ей такую большую популярность. Для нее было выпущено много клонов под разные версии. Кстати если вы начнете работать именно с китайским клоном, а не с оригинальным Arduino, что скорее всего и произойдет, то вам потребуется установить драйвер под китайский адаптер Usb-Serial, распаянный на плате. Как отличить китайский Ардуино от оригинала? Если присмотреться к модулю, то можно увидеть вот такую микросхему:

Если она имеется, то ардуино китайский. Для него драйвер устанавливается вручную через “Диспетчер устройств”. Никаких проблем при установке замечено не было. Скачать драйвер можно  здесь.

Далее нам надо выбрать нужную нам модель Arduino из списка

Ну а потом выбираем COM-порт в системе, к которой у нас подключена Arduino.

Ну вот и все! Совсем ничего сложного 😉

Вывод

Итак, вернемся к теме нашей статьи. Что же все-таки лучше изучать? Голые МК AVR или взять набор Arduino?

Для новичков часто бывает проблемой выставление фьюзов у МК AVR. Этого минуса лишены все Ардуино. Там просто нет такой функции при подключении через USB кабель. Также при небрежном выставлении фьюзов можно залочить дорогой МК AVR, который не всегда просто реанимировать. В Ардуино залочить МК нереально. При прошивке программатором ISP USBASP, мы  можем прошить МК Ардуино, как и любой другой МК AVR.

Также одним важным отличием Ардуино от МК AVR – это наличие худшей оптимизации размера кода. То есть программа, которая выполняет одни и те же действия на МК и Arduino будет иметь разный вес. На Arduino она будет весить больше. И может даже случиться так, что просто не войдет в память. Микроконтроллеры AVR имеют более широкие возможности в создании электронных устройств, но есть у них и свои минусы –  это необходимость наличия программатора, источника питания, а также мощного компьютера для комфортной работы в Atmel Studio 6.

Этой публикацией мы начинаем цикл статей, посвященных конструированию электронных устройств на платформе Arduino. Оставайтесь с нами и мы поэтапно, следуя от простого к сложному, разберем самостоятельную сборку электронных устройств. Будут рассмотрены разные модели Arduino, программатор Usb – Serial и её периферия. Вы научитесь самостоятельно писать скетчи в среде разработки и обязательно соберете все то, что давно хотели собрать, но затруднялись в создании на практике.

Atmel Studio - Обо всём

Atmel® Studio 6 (кликнув на ссылку, можно перейти на страницу для скачивания) – это интегрированная платформа разработки (IDP), предназначенная для проектирования и отладки приложений для микроконтроллеров Atmel на базе процессоров ARM® Cortex™-M, а также микроконтроллеров AVR® . Она представляет собой единую, простую в использовании среду разработки, компоновки и отладки приложений, написанных на языке C/C++ либо ассемблере.
Платформа Atmel Studio 6 абсолютно бесплатна. В нее интегрирована обширная библиотека бесплатного исходного кода Atmel Software Framework (ASF), содержащая свыше 1600 примеров ARM- и AVR-проектов. Эта библиотека усиливает преимущества платформы Atmel Studio 6, предоставляя доступ к готовому коду в той же среде, что сводит к минимуму необходимость низкоуровневого программирования в проектах. Платформу можно использовать для программирования широкого спектра микроконтроллеров AVR и устройств на базе процессоров ARM Cortex-M, включая расширенный ассортимент флеш-микроконтроллеров Atmel SAM3 на ядрах ARM Cortex-M3 и M4.
С появлением решений Atmel Gallery и Atmel Spaces проектирование встраиваемых микроконтроллеров на платформе Atmel Studio 6 становится еще проще, а время разработки и затраты снижаются. Atmel Gallery представляет собой сетевой магазин приложений, где можно найти инструменты разработки и встраиваемое программное обеспечение. Atmel Spaces – это облачное пространство для совместной разработки, позволяющее хранить проекты программного и аппаратного обеспечения для микроконтроллеров Atmel.
В заключение можно отметить, что в отличие от стандартных интегрированных сред разработки (IDE) платформа Atmel Studio 6 не только позволяет создавать новое программное обеспечение для микроконтроллеров, но и:
- упрощает повторное использование уже существующего программного обеспечения, способствуя дифференциации проектирования;
-поддерживает процесс разработки продукции, обеспечивая легкий доступ к встроенным инструментам и расширениям программного обеспечения через магазин Atmel Gallery.

Системные требования:
● Windows XP (SP3), Vista (SP1), Server 2003 (SP2), Server 2008 (SP2), 7, 8
● Computer that has a 1.6GHz or faster processor
● RAM
- 1 GB RAM for x86
- 2 GB RAM for x64
● An additional 512 MB RAM if running in a Virtual Machine
● 4 GB of available hard disk space
● A minimum display resolution of 1024 x 768 or higher is recommended

Так выглядит редактор кода в Atmel Studio. Что мы тут видим?

Плюсы

  • Подсветка синтаксиса
  • CodeGuard (при начальном написании переменной, функции, регистра, предлагает выбор, что облегчает написание кода)
  • Легко подключать внешние дополнительные библиотеки
  • Быстрая заливка скомпилированного кода в микроконтроллер (режим отладки)
  • Генерация выходных hex, cof, eep файлов, для возможности заливки через внешний программатор
  • Поддержка среды разработки для arduino
  • Поддерживает все контроллеры компании Atmel
  • Куча всяких дополнений для разработок
  • Поддержка внешних программаторов для режима отладки
Минусы
  • Нет большого разнообразия встроенных функций
  • Направление портов настраивается непосредственно регистрами микроконтроллеров
  • Ужасный симулятор выполнения кода 
Подведём резюме:

    На мой взгляд atmel studio самая удобная для написания кода среда разработки, поддерживает кучу разных плюшек для удобства написания кода, отладки программы. При компелировании проекта генерируется hex, cof, eep- файлы, что позволяет залить программу через внешний программатор в микроконтроллер.

Atmel Studio 7

 Всем доброго дня. Сегодня немножко раcскажу про Atmel Studio 7 и для чего она нужна. Рано или поздно приходится осознать что Arduino удобная платформа и писать под нее да воли удобно, но за удобство нужно платить, как результат botloader занимает место микроконтроллера и из-за упрощения написание кода теряются драгоценные такты и память микроконтроллера. Если делать готовое устройство с нуля,  то выбирая Arduino мы ограничиваем себя выбором контроллера. Но что бы писать прошивку под микроконтроллер без Arduino нужно как минимум две вещи программатор (лучше с отладчиком) и программное обеспечение для написания самой прошивки. Для написания прошивок по микроконтроллеры Atmel которые часто используют в  Arduino компания Mikrochip предлагает использовать свою среду разработки Atmel Studio 7. Программатор же можно купить из Китая меньше чем за 3$ (правда без отладчика), или же купить оригинальный программатор.

  Atmel Studio 7 - это платформа для разработки и отладки всех приложений для микроконтроллеров AVR® и SAM. Atmel Studio 7 предоставляет собой удобную и простую в использовании среду для написания, сборки и отладки ваших приложений, написанных на C / C ++ или ассемблере. Он также легко подключается к отладчикам, программистам и наборам для разработки, поддерживающим устройства AVR ® и SAM. Atmtel Studio включает в себя Atmel Gallery, онлайн-магазин приложений, который позволяет расширить среду разработки с помощью плагинов, разработанных Microchip, а также сторонними разработчиками. Atmel Studio 7 может импортировать скетч Arduino в виде проектов C ++, что обеспечивает простой путь перехода между платформами. Платформа поддерживает более 500 устройств AVR и SAM. Скачать Atmel Studio 7 можно с официального сайта бесплатно.

 Для удобства на сайте есть онлайн и оффлайн установщик.

 Установка 

После запуска установщик он спросит согласия на лицензионное соглашение (нужно подтвердить)  и на отправку анонимных отчетов о работе (можно убрать галочку).

Дальше предложит выбрать нужные архитектуры с которыми будете работать, не нужные можно убрать для экономии места на диске.

В следующем шаге инсталлятор спросит нужны ли примеры кода программ.

 

Дольше все просто и понятно, система проверит необходимые зависимости и сам процесс установки, думаю описание здесь не требуется.

Программирование Arduino Due и MKR1000 с Atmel Studio ASF: 4 шага

Это полезно для людей, которые хотят больше копаться в программировании на ARM без всякой простоты Arduino и скрытия вещей под капотом. Я предполагаю, что Вы что-то знаете об Arduino, программировании на C и Atmel Studio. Этот инструктаж не покажет, как писать код Arduino в лучшей IDE. Он покажет, как начать программирование ARM Atmel:

  • SAM3X8E, который является процессором Due,
  • SAMW25, который является процессором MKR.

Расходные материалы:

Шаг 1: Получить программное обеспечение

  1. BOSSA - программа, которая общается с загрузчиком Due, позволяя программировать его. Это в нижней части страницы, версия Mingw для Windows. Вам не нужно загружать это, если у вас установлена ​​Arduino IDE. Вам просто нужно найти его (включите подробный вывод во время загрузки в Arduino File> Preferences, расположение BOSSA должно быть в первой строке: «C: Users PCV AppData Local Arduino15 packages arduino tools bossac 1.6» .1-arduino / bossac.exe)
  2. Атмел Студио
  3. Atmel Software Framework ASF - не загружайте по этой ссылке. В Atmel Studio выберите Инструменты> Расширения и обновления, найдите ASF и загрузите его.

Шаг 2: Настройка инструмента программирования в AS

1. Сохраните файл bossac.exe в хорошем месте, например, C: bossac bossac.exe, или найдите файл в файлах Arduino.
2. В этой же папке создайте 2 пакетных файла (например, Due_Programming_Port.bat) с этим кодом:

для должного:

режим% 1: 1200, n, 8,1, p
"C: bossac bossac.exe" --port =% 1 -i -e -w -v -b% 2 -R
Пауза

для MKR1000:

режим% 1: 1200, n, 8,1, p
спать 5
"C: bossac bossac.exe" --port =% 2 -i -e -w -v -b% 3 -R пауза

Вам не нужна «пауза», но это полезно. Это заставит командное окно ждать нажатия кнопки перед закрытием.
3. Определите COM-номер порта программирования Due. Вы также можете использовать собственный порт, но это неудобно: он исчезает, когда он не активирован, вы должны стереть вручную, он меняет номера в зависимости от программы Due.
Для MKR1000: Вы должны определить номер порта COM загрузчика. Это показано в Arduino, загружающем подробный вывод, и обычно это COM (x + 1), где COMx - это стандартный COM-порт MKR1000.

4. В AS выберите Инструменты> Внешние инструменты и Добавить новый:

для должного:

Название: Команда Due_Programming_Port: C: bossac Due_Programming_Port.bat Аргументы: COM13 $ (TargetDir) $ (TargetName) .bin Исходный каталог: $ (TargetDir)

для MKR1000:

Название: MKR1000
Команда: C: bossac MKR1000.bat Аргументы: COM13 COM14 $ (TargetDir) $ (TargetName) .bin Исходный каталог: $ (TargetDir)

Если вы отключите обычный последовательный порт MKR (загрузив некоторый новый неардуинский код), вам придется войти в режим загрузчика перед программированием: нажмите RST 2 раза (в диспетчере устройств должен появиться загрузчик Arduino MKR1000 (COMxx)). Затем вы можете запрограммировать его снова с помощью AS или Arduino IDE.

Вы можете использовать код инструмента Due для MKR1000, но вам придется войти в режим загрузчика перед программированием, дважды нажав RST. Таким образом, программирование происходит на 5 секунд быстрее, и у вас не будет проблем при отключении последовательного порта USB.
Лично я нахожу версию с автоматическим вводом режима загрузчика лучше. Я всегда забываю что-то нажимать перед программированием …

Обязательно используйте номер вашего COM-порта и правильный каталог.

Шаг 3: Примеры проектов

этот шаг только для должного. Там нет примеров для MKR1000 🙁

В Atmel Studio выберите «Файл»> «Создать»> «Пример проекта» (Ctrl + Shift + E)> найдите Arduino.

Корпорация Атмель Сделано 54 примера для Due, которые позволят вам начать программирование ARM.

Выберите тот, который легко протестировать, например, PWM_PWM_LED_EXAMPLE1, который гасит светодиоды, подключенные к D8 и D9.

Описание говорит:

* - # Настроить PIN_PWM_LED0_CHANNEL
* - # Настроить PIN_PWM_LED1_CHANNEL

Вы можете щелкнуть правой кнопкой мыши переменные или макросы и выбрать «перейти к реализации» (Alt + G), которая покажет, где она была объявлена ​​и что это значит.

переход к реализации PIN_PWM_LED0_CHANNEL приведет вас к коду, который определяет канал ШИМ для светодиодов.

Определения выводов находятся в: src ASF sam utils cmsis sam3x include pio pio_sam3x8e.h. Вот часть, определяющая порты ШИМ для светодиодов:

/ *! Определение выводов ШИМ для LED0 * /
#define PIN_PWM_LED0 PIN_PWMC_PWML4 / *! Определение выводов ШИМ для LED1 * / #define PIN_PWM_LED1 PIN_PWMC_PWML5

Распиновка должного поможет вам понять связи. D8 и D9 - это PWML4 и PWML5.

Этот проект также отправляет некоторые данные через последовательный порт (115200 кбит / с). Вы можете использовать последовательный монитор Arduino или любой эмулятор последовательного терминала для просмотра этого.

Шаг 4: Программирование

Это просто!

Создайте проект (F7), затем выберите Инструменты> Due_Programming_Port.

Появится командное окно и отобразит некоторую информацию, аналогичную подробному выводу из Arduino IDE. Когда что-то не так, он будет отображать предупреждения.

Посетите мой блог с дополнительной информацией.

Переход от Arduino IDE к Atmel Studio

Переход вверх

Иногда платы Arduino недостаточно. Они часто скрывают большую часть функций микроконтроллера, а IDE Arduino не обеспечивает быстрый доступ к базовым модулям. Это может расстраивать, поскольку некоторые проекты не могут иметь дополнительных накладных расходов, связанных с использованием стандартной функции, такой как digitalWrite. Здесь в игру вступает Atmel Studio. Это IDE, используемая профессионалами, которая позволяет писать программы на C, C ++ и даже на ассемблере почти для всех микроконтроллеров Atmel.Atmel Studio также позволяет импортировать эскизы Arduino, но этого следует избегать в дальнейшем, чтобы избежать продолжения вредных привычек. Поскольку он основан на Visual Studio, любой, кто его использовал, должен также быстро научиться использовать Atmel Studio.

Установка

Atmel Studio 7 - это последняя итерация среды IDE, которую производители могут бесплатно загрузить и использовать. Просто найдите его здесь и выберите веб-установщик. Во время установки лучше всего просто выбрать каждую архитектуру, так как это избавит вас от необходимости возвращаться и загружать новые определения MCU позже.

Страница загрузки Atmel Studio

Определения микроконтроллеров и аппаратное обеспечение

Чтобы прошить ИС, вы не можете просто подключить к ним USB-кабель и нажать кнопку «Загрузить». Во-первых, несколько 8-битных микроконтроллеров не имеют интерфейса UART, например, некоторые из семейства ATtiny. Во-вторых, загрузчик Arduino - это то, что позволяет программировать через интерфейс UART, но он занимает место, а пространство дорого. Скорее, микроконтроллеры прошиваются программистами, и они отправляют данные через ICSP, а некоторые имеют возможности отладки через JTAG или DebugWire.Этот метод также освобождает два контакта для других целей. Ниже представлен программатор AVRISP mkii (не отладчик):

Языки программирования

Как указывалось ранее, Atmel Studio поддерживает C, C ++ и сборку для программирования ваших микроконтроллеров. Сборка обычно используется для максимального приближения к аппаратному уровню, поскольку она дает вам доступ ко всей памяти и регистрам. Это полезно для создания программ, использующих очень мало оперативной памяти, или для создания сверхоптимизированных программ. Однако обычно вы будете использовать C, который является оболочкой для сборки.Он ограничивает ваш доступ к стеку, но наличие переменных, простых математических операторов и простых способов использования указателей является основным преимуществом. Языки более высокого уровня также обрабатывают стек и передачу аргументов, что еще больше упрощает процесс программирования.

Пример ассемблера и программы C, которая записывает в EEPROM

Совершенно другая парадигма

При использовании C ++ в стиле Arduino вы привыкли иметь такие функции, как digitalWrite, analogRead, delay и Serial.Распечатать. Отказ от IDE Arduino также заставляет вас потерять эти функции.

Поначалу это может расстраивать и сбивать с толку, но все к лучшему. Чтобы создать практически любую программу, вы должны сконфигурировать и использовать сами регистры, и это дает дополнительное преимущество, заставляя вас знакомиться с оборудованием на низком уровне. Например, вы обычно используете pinMode (pin, mode), чтобы установить, является ли вывод входом или выходом на ATtiny85. Но используя C или сборку, вам нужно будет установить бит в регистре DDRB и, возможно, установить бит в PORTB на высокий уровень для внутреннего подтягивания.

Некоторые регистры ввода-вывода для ATtiny85

Использование таблицы данных

Таблица данных - ваш друг. Он предоставляет всю необходимую информацию о вашем микроконтроллере, включая определения регистров, электрические характеристики и информацию о каждом модуле. Например, раздел 10 таблицы данных ATtiny85 дает информацию о портах ввода-вывода на микросхеме. В большинстве разделов есть примеры настройки регистров, карта регистров, в которой указаны регистры для конкретного модуля, и описания каждого бита в каждом регистре.

Хотя таблицы данных поначалу могут показаться ошеломляющими, работая с ними и просматривая примеры, становится очень легко реализовать даже сложное поведение.

Макросы портов и регистров

Использование сборки требует чтения и записи в регистры, расположенные в памяти, но C упрощает это. Вместо того, чтобы получать значения напрямую, вы можете воспользоваться макросами, которые заменяются кодом, который делает это в фоновом режиме. IDE также поставляется с файлом или файлами, которые связывают именованный регистр с его физическим адресом в памяти.Это избавляет вас от необходимости запоминать длинную строку цифр при попытке доступа к простому регистру или биту.

Список определений регистров

The Sky's the Limit

После переключения с Arduino IDE на Atmel Studio у вас есть почти неограниченный доступ к частям микроконтроллера, что позволяет вам полностью контролировать память и каждый модуль . Atmel Studio также включает в себя множество других полезных функций, таких как надежный отладчик, расширения и гораздо лучший контроль версий.

Как прошить или запрограммировать Arduino из Atmel Studio?

Примечание

Эта статья является частью Руководства по программированию встроенного микропрограммного обеспечения C Arduino / ATmega328p . Попробуйте изучить домашнюю страницу курса, чтобы найти статьи на похожие темы.

Учебное пособие по Arduino Встроенный уровень регистра C Мастер-класс Arduino

Также посетите страницу выпуска для Встроенная библиотека аппаратных абстракций C на уровне регистров и код для AVR .

Введение

Это руководство проведет вас через процесс настройки Atmel Studio, чтобы вы могли напрямую программировать Arduino из Atmel Studio.Это позволит вам выбрать IDE профессионального уровня, т.е. Atmel Studio для ваших программ и по-прежнему использовать оборудование Maker / Prototyping, т.е. Arduino для тестирования или развертывания.

Для прошивки Arduino из Atmel Studio вам необходимо предварительно установить Arduino IDE и драйверы. Пожалуйста, выполните следующие действия, чтобы установить, если у вас еще нет.

  https://www.arnabkumardas.com/platforms/atmel/how-to-install-arduino-ide-and-drivers/  

Шаги настройки

Необходимое время: 5 минут.

Этапы настройки Atmel Studio для прошивки или программирования любой платы Arduino

  1. Откройте Atmel Studio

    Откройте установленную вами среду разработки Atmel Studio.

  2. Перейдите в меню внешних инструментов

    В строке меню перейдите в Инструменты -> Внешние инструменты

  3. Окно внешних инструментов

    Вы должны увидеть такое окно, но оно будет для вас пустым . Я уже добавил две команды для Arduino UNO и Arduino NANO.

  4. Добавить новый инструмент для Arduino UNO

    Нажмите «Добавить», чтобы добавить новый инструмент. И заполните текстовые поля, как показано ниже.

    Название: Arduino UNO

    Команда: 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 -PCOM10 -b115200 -D -Uflash: w:" $ (ProjectDir) Debug \ $ (TargetName ).hex ": i


    Выберите 'Use Output Window'

    Вы можете указать любой Title по своему усмотрению. Команда должна иметь путь к avrdude.exe, который будет находиться в том месте, где у вас есть установил Arduino IDE. Arguments должен иметь 3 наиболее важных параметра: микроконтроллер, который зависит от платы Arduino, которую вы используете, COM-порт и скорость передачи данных.Система COM-порта зависит от системы и может быть удалена из диспетчера устройств.Скорость передачи должна быть 115200.

    Микроконтроллер Arduino UNO / NANO> -patmega328p
    Микроконтроллер Arduino MEGA> -patmega2560

  5. Добавить новый инструмент для Arduino Nano

    Нажмите «Добавить», чтобы добавить новый инструмент. И заполните текстовые поля, как показано ниже.

    Название: 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, поскольку обе платы используют один и тот же MCU. COM-порт изменяется, поскольку каждая новая плата будет получать новый COM-порт, назначенный вашим ПК. Вы должны проверить в диспетчере устройств, который Для вашей платы назначен COM-порт.Скорость передачи для Arduino NANO составляет 57600 бод.

  6. Постройте свою программу

    Обычно сборка выполняется за несколько секунд.

  7. Прошивка Arduino и тестирование

    Перейдите в меню -> Инструменты и выберите инструмент, который вы хотите протестировать.

  8. Если все в порядке, вы должны получить такое сообщение.

    Обычно прошивка Arduino занимает несколько секунд.

Как загрузить программы в Arduino UNO из Atmel Studio 7 (с изображениями)

Мы готовы к работе, все, что нам нужно сделать, это провести небольшой тест.Итак, нажмите файл / новый / проект и выберите «Проект ассемблера AVR в разделе« Ассемблер ». Нажмите ОК, выберите ATMEGA328P и снова нажмите ОК. Теперь в текстовом редакторе скопируйте и вставьте следующий код:

 .ORG 0x0000 // Сообщает следующая инструкция будет написана
 RJMP main // Укажите, что программа начинается с основной метки

 основной:
 LDI r16, 0xFF // Загружаем немедленное значение 0xFF (все биты 1) в регистр 16
 OUT DDRB, r16 // Установить регистр направления данных B для вывода для всех контактов

 петля:
 SBI PortB, 5 // Установите 5-й бит в PortB.(т.е. включить светодиод)
 RCALL delay_05
 CBI PortB, 5 // Очистить 5-й бит в PortB. (т.е. выключить светодиод)
 RCALL delay_05
 Цикл RJMP // Цикл снова

 // Все, что ниже, является частью цикла задержки
 delay_05:
 LDI r16, 8

 external_loop:
 LDI r24, низкий (3037)
 LDI r25, высокий (3037)

 delay_loop:
 ADIW r24, 1
 BRNE delay_loop
 DEC r16
 BRNE external_loop
 RET
 

Это заставит мигать встроенный светодиод Arduino. Теперь нажмите на сборку / сборочное решение и после этого перейдите в инструменты / Отправить в Arduino UNO.Вы должны увидеть, как мигают светодиоды Rx / Tx, после чего начинает мигать встроенный светодиод. И все, я надеюсь, вы нашли эту информацию полезной. Теперь вы можете использовать Atmel Studio для создания своих проектов Arduino.

Это неинвазивный способ подключения вашей платы Arduino к Atmel Studio, так что вы все равно можете использовать его как обычно с Arduino IDE. Если у вас другая плата, avrdude должен быть правильно настроен в соответствии с платой, которую вы хотите использовать.

Если вам это нравится и вы хотите поддержать меня, поставьте мне лайк на фан-странице моего магазина: DAFR ELECTRONICS, а также проголосуйте за это руководство в конкурсе.
Спасибо, надеюсь, вы найдете это полезным. Если у вас есть вопросы, не стесняйтесь их спрашивать;)

Автор:

Даниэль Фернандес Р.

Отладка эскизов Arduino с помощью Atmel Studio 7

Atmel's Studio 7 (сейчас Atmel принадлежит Microchip) позволяет импортировать эскизы Arduino и отлаживать их. их. Это превращает Arduino в сферу профессиональных инженеров-проектировщиков. инструмент.

Подготовка Arduino к точке отладки. Прошивка - довольно простой процесс, но требует нескольких шагов.Вот некоторые вещи, на которые стоит обратить внимание перед тем, как начать…

1. Вам понадобится отладчик / программист. Я использовал Atmel-ICE, который продается в розницу. примерно за 60 долларов США и поставляется с разъемом, совместимым с Arduino ICSP связь.

2. Я использовал Arduino Uno 3. Между этим могут быть некоторые различия. Ардуино и другие стили.

3. Вам нужно будет загрузить и установить AtmelStudio 7. Это среда разработки основана на Microsoft Visual Studio.Я красивая знаком с Visual Studio, поэтому освоение AtmelStudio не было трудным проблема. Я не буду вдаваться в подробности о том, как использовать AtmelStudio помимо запуск проекта и восстановление Arduino.

4. Говоря о восстановлении Arduino… вы должны сделать простое оборудование. измените, чтобы «debugWire» работал с Arduino. Дополнительно программирование скетч с использованием AtmelStudio уничтожит загрузчик Arduino, так что вы можете хотите восстановить его, если собираетесь использовать Arduino для других проектов.

5. Перед тем, как приступить к делу, рекомендуется прочитать этот блог. Если вас не устраивают изменения, которые вы внесете в Arduino, вы вероятно, не стоит пробовать это.

Хорошо, поехали…

Аппаратные модификации: микроконтроллер Arduino Uno 3, ATmega328p поставляется с загрузчиком с последовательным интерфейсом (optiboot_atmega328.hex). В загрузчик - это программа, которая запускается при сбросе и программирует микроконтроллер память со значениями, отправленными через последовательный интерфейс.Эта программа позволяет новые эскизы для загрузки на устройство. В загрузчик входит, когда последовательная линия DTR на короткое время меняет состояние. В схематическом клипе под линией отмеченный Ch2 - это линия DTR, а Ch3 - линия RESET.

Вот импульс сброса, зафиксированный осциллографом при загрузке скетча. к Arduino.

К сожалению, C5 на схеме влияет на отладчик Atmel «debugWIRE». интерфейс, который также зависит от управления линией сброса ATmega328p.К счастью, разработчики Arduino оставили линию разреза на перемычке. печатная плата, которая позволяет отключать C5 от линии сброса.

Используя лезвие бритвы или другой острый инструмент, вырежьте след, соединяющий два луженые колодки с надписью «RESET EN». Не обрезайте след, идущий от одного колодок до C5. ПРИМЕЧАНИЕ… без этого следа Arduino больше не будет программироваться с Arduino ПО, даже если на микроконтроллере присутствует загрузчик.К вашему сведению, C5 - это конденсатор, ближайший к луженым контактным площадкам и не отмеченный на печатной плате.

После того, как этот разрез будет сделан, вы можете приступить к отладке скетча Arduino. Тем не менее, я добавил 2-контактный разъем на луженые контактные площадки, которые позволяют мне переключать между интерфейсом «debugWIRE» Atmel и стандартной последовательной загрузкой Arduino режим. Это делается путем удаления или добавления перемычки.

Чтобы импортировать и отладить эскиз Arduino, вам необходимо выполнить следующие действия: следующий…

1.Убедитесь, что сброс отключен от C5, в моем случае это делается сняв перемычку с 2-контактного разъема, я установил.

2. Вставьте 6-контактный разъем Atmel-ICE в гнездо 3x2 с маркировкой ICSP. В выступ на розетке Atmel-ICE должен быть направлен внутрь (в сторону C5) Arduino. Uno 3. Если вы не используете Arduino Uno 3, откройте вкладку коннектора Atmel-ICE. находится на той же стороне разъема 3x2, что и контакт 1.

3. Вам нужно будет запитать Arduino Uno через USB или источник питания. порт.

Импорт и отладка эскиза:

Теперь, когда оборудование готово, вы можете запустить AtmelStudio и начать импорт эскиз Arduino. В моем случае я просто импортирую и отлаживаю Blink эскиз.

Запустите AtmelStudio и выберите «Новый проект» в меню «Пуск».

Выберите «Создать проект из эскиза Arduino». Введите имя, название проекта и перейдите туда, где вы хотите его сохранить, затем нажмите кнопку ОК.

Перейдите к эскизу Arduino, который хотите преобразовать. Затем нажмите «Открыть» кнопка.

Выберите подходящую плату и устройство для вашего проекта. В моем случае это Arduino Uno и ATmega328p. Нажмите кнопку «ОК».

Вы должны увидеть, что проект построен, и все библиотеки включают файлы и исходный код будут включены в проект. Проект, и как он организовано, находится справа.Sketch.cpp, основной файл программы на C ++. показан слева. Когда вы открываете другие файлы, на оставил.

Для отладки программы вам необходимо настроить Atmel-ICE для работы в режим debugWIRE. Выберите раскрывающееся меню Project и внизу выберите « Имя проекта Свойства… ”(или нажмите Alt-F7). Выберите инструмент отладчика / программиста (Atmel-ICE) и выберите debugWIRE в интерфейсе параметры.

Теперь вы можете вернуться на вкладку Sketch.cpp. Двойной щелчок по марже слева от кода Sketch.cpp установит точку останова (обозначена красной точкой, пример показан ниже). Выберите «Отладка» из параметров запуска, показанных в другом синий прямоугольник на изображении ниже (в меню «Справка»).

Щелчок по синему значку запуска / паузы слева от параметра отладки запустит отладка.

Когда вы впервые начинаете отладку скетча, на вашем ATmega328p, вероятно, не будет правильные настройки предохранителей.В этом случае вы увидите следующее сообщение коробка. Щелкните кнопку «Да».

Это может вызвать дополнительное окно сообщения. Если да, переключите питание на доску и нажмите "ОК"

Теперь вы можете использовать AtmelStudio для пошагового выполнения прошивки, отображения переменных, и установить точки останова. Вот одна ссылка что дает некоторую информацию о том, как это сделать…

Выход из debugWIRE:

Если честно, я не фанат функциональности debugWIRE, как кажется громоздка и может время от времени блокировать микроконтроллер.Теперь, когда Я снес это с моей груди, убедитесь, что когда вы прекратите отладку, вы не забудете выйдите из debugWIRE. Выберите Debug / Disable debugWIRE и Close, как показано ниже.

ПРИМЕЧАНИЕ. Если вы этого не сделаете правильно выйти из debugWIRE микроконтроллер, вероятно, будет вести себя немного странно. Он будет делать классные вещи, например, предотвращать программирование устройства в интернет-провайдере. режим. Я оправился от этого, повторно войдя в режим debugWIRE, запустив отладчик, а затем отключите режим debugWIRE, как описано ранее.

Восстановление загрузчика:

Если вы собираетесь писать код в AtmelStudio для Arduino, это похоже на улица с односторонним движением. Я не знаю, как вернуться из проекта AtmelStudio обратно в эскиз Arduino. Если честно, я не особо присмотрелся, так что, может быть, есть один. Насколько я понимаю, как только вы сможете отлаживать и выполнять пошаговый код при использовании библиотек Arduino нет особых причин возвращаться.

Но вы можете захотеть использовать Arduino для другого проекта, так что вот шаги, чтобы вернуть серийный загрузчик обратно в ваш Arduino.

Вам необходимо настроить Atmel-ICE для работы в режиме ISP. Выберите В раскрывающемся меню «Проект» выберите « Название проекта Свойства… »(или нажмите Alt-F7). Выберите инструмент отладчика / программиста и выберите ISP из опций интерфейса.

Выбор инструментов / Программирование устройств

Выберите микроконтроллер, который вы используете, для Arduino Uno это ATmega328p.Нажмите кнопку «Применить», а затем кнопку «Прочитать». Вам следует увидеть идентификатор устройства и напряжение. Если нет, ты все еще можешь быть в debugWIRE, иначе у вас может быть плохое соединение.

Слева нажмите «Предохранители». Введите 0x05 в поле РАСШИРЕННЫЙ, 0xDE в поле ВЫСОКИЙ и 0xFF в поле НИЗКИЙ. Нажмите кнопку «Программа».

Выберите «Воспоминания» в левой части окна в фокусе. Щелкните значок кнопку, помеченную «…», и перейдите к расположению загрузчика.

Выберите соответствующий шестнадцатеричный файл загрузчика для Arduino, с которым вы работаете. с участием. В моем случае это optiboot_atmega328.hex. Нажмите «Открыть».

Теперь нажмите кнопку «Программа». Ты почти вернулся к нормальной жизни.

Отключите Atmel-ICE от Arduino (при условии программирования удалось).

Для того, чтобы загрузчик работал правильно, вам нужно закоротить сбросьте колодки, которые вы разрубили в начале всего этого.Если вы помните, я добавил жатка на луженые колодки. Мне просто нужно добавить перемычку, как показано на рисунке. ниже.

После всего этого я могу загрузить исходный набросок Blink на Ардуино.

Вот и все.

Галерея микросхем | IDE Arduino для Microchip и Atmel Studio 7 2020.708.0

2020.708.0

(См. Наш форум для получения последней версии) Инструмент для редактирования, сборки и развертывания, совместимый с Arduino.Работает с файлами Arduino.ino или без них. С или без Arduino IDE. Поддерживает все версии Arduino.cc от 1.0 до 1.8.x (+1.9 бета), платы Atmel, Microchip chipKIT и т. Д. Код опционально остается совместимым с Arduino IDE. Содержит множество дополнительных функций, таких как интеллектуальный кеш, параллельные сборки, отладчик usb / serial / rf / bluetooth (где поддерживается) и многое другое. Это пробная версия 90, установка администратора для всех пользователей. Чтобы получить помощь или внести предложения, воспользуйтесь бесплатным форумом по адресу www.visualmicro.com. ПРИМЕЧАНИЕ. Аппаратная отладка для Arduino доступна только тогда, когда включен vMicro.Debugger.Use Atmel Studio Debugging.

Чтобы установить Arduino IDE для Microchip и Atmel Studio 7 , загрузите этот пакет и откройте его в IDE.

Поддерживаемые продукты: Atmel Studio 7.0

Информация о версии

https://www.visualmicro.com/page/Visual-Micro-Product-Version-History-Fixes-and-Additions.aspx

Владельцы

Авторы

Команда Arduino @ Visual Micro

Авторские права

Visual Micro 2009-2020

Теги

Зависимости

История версий

Версия Загрузки Последнее обновление Утверждено
Arduino IDE для... 2020.708.0 (эта версия) 10 096 Четверг, 9 июля 2020 г. да
Arduino IDE для... 2020.321.2 4 632 Вторник, 24 марта 2020 г. да
Arduino IDE для... 2020.301.7 546 Среда, 18 марта 2020 г. да
Arduino IDE для... 1911.23.0 4 834 Пятница, 6 декабря 2019 г. да
Arduino IDE для... 1911.17.2 3 627 Среда, 20 ноября 2019 г. да
Arduino IDE для... 1907.6.0 6 719 Понедельник, 8 июля 2019 г. да
Arduino IDE для... 1906.12.0 1,403 Четверг, 13 июня 2019 г. да
Arduino IDE для... 1905.29.0 1,652 29 Мая 2019г., Среда да
Arduino IDE для... 1905,25,5 74 Понедельник, 27 мая 2019 г. да
Arduino IDE для... 1903.24.0 4 460 Воскресенье, 24 марта 2019 г. да
Arduino IDE для... 1811.24.0 24 758 Суббота, 24 ноября 2018 г. да
Arduino IDE для... 1806.2.1 12 181 4 июня 2018 г., Понедельник да
Arduino IDE для... 1806.1.0 1,348 28 Мая 2018г., Понедельник да
Arduino IDE для... 1805.23.0 103 21 Мая 2018г., Понедельник да
Arduino IDE для... 1805.14.1 1,338 Воскресенье, 13 мая 2018 г. да
Arduino IDE для... 1805.10.1 (удален) 1 10 Мая 2018г., Четверг
Arduino IDE для ... 1805.9.0 (удалено) 0 9 Мая 2018г., Среда
Arduino IDE для... 1803,26,2 3 347 4 Апреля 2018г., Среда да
Arduino IDE для... 1803.26.1 549 2 Апреля 2018г., Понедельник да
Arduino IDE для... 1801,28,0 5 086 Воскресенье, 28 января 2018 г. да
Arduino IDE для... 1711.19.0 51 890 18 Декабря 2017г., Понедельник да

arduino - Использование Arduino с Atmel Studio 7

Настройка

  • Загрузите и установите Atmel Studio 7 отсюда.
  • Купить отладчик. Вы можете обойтись программистом ISP, но если вам нужны возможности отладки, что является одним из больших преимуществ использования Atmel Studio, вам понадобится отладчик. Я рекомендую Atmel ICE, поскольку он предоставляет возможности отладки для Arduinos на базе AVR (например, Uno, pro mini и т. Д.) И Arduinos на базе ARM, таких как Zero и Due. Если у вас ограниченный бюджет, вы можете получить его без пластикового корпуса и будьте осторожны, чтобы не повредить его.

Подключения

  • Для Uno используйте 6-контактный кабель ICSP.Подключите одну сторону к Uno, как показано. Подключите другую сторону к порту AVR отладчика.

Для Arduino Pro Mini используйте кабель mini squid, как показано, снова подключив другой конец порта AVR отладчика.

Рекомендации по отладке

Для отладки с помощью Uno вам нужно будет вырезать трассировку включения сброса (вы всегда можете припаять ее обратно для использования с Arduino IDE):

При использовании Pro Mini, если вы собираетесь подключить последовательный порт к компьютеру с помощью платы FTDI, не подключайте линию DTR, так как это будет мешать работе интерфейса Serial Wire Debug (SWD) Atmel.Я просто подключаю питание, землю, Tx и Rx, как показано ниже. Rx и Tx на Arduino переходят к Tx и Rx соответственно на плате FTDI. Некоторые платы FTDI имеют другую маркировку, поэтому, если последовательный порт не работает, поменяйте местами Rx и Tx.

Вам придется подавать питание на Arduino отдельно, потому что отладчик не будет его включать. Это можно сделать на Pro Mini через плату FTDI, как показано выше, или с помощью кабеля USB или адаптера переменного тока на Uno.

Настройка программного обеспечения

Подключите Atmel ICE к компьютеру, запустите Atmel Studio, и теперь вы можете импортировать существующий проект Arduino.

В Atmel Studio перейдите в меню «Файл» -> «Создать» -> «Проект» и выберите «Создать проект из эскиза Arduino». Заполните параметры, включая раскрывающиеся меню доски и устройства.

Перейдите в Project -> yourProjectName Properties, нажмите Tool, выберите Atmel ICE в отладчике / программаторе и debugWire в интерфейсе. Идем в Отладка -> Начать отладку и ломаемся. Вы должны увидеть предупреждение, и вас спросят, хотите ли вы установить предохранитель DWEN. Выберите ОК, отключите Arduino от питания и снова подключите.Вы можете остановить отладку, нажав кнопку с красным квадратом, и начать, нажав кнопку с зеленым треугольником. Чтобы вернуть Arduino в состояние, в котором его можно использовать в среде Arduino IDE, во время отладки выберите «Отладка» -> отключить debugWIRE и закройте.

Обратите внимание, что любые добавляемые вами функции также должны включать прототип функции (цикл и настройка в них не нуждаются). Вы можете увидеть те, которые были добавлены Atmel Studio в верхней части эскиза, если при импорте проекта в Atmel Studio были какие-либо функции (например, см. Пример кода).

Поддержка C ++ 11 включена по умолчанию в Arduino 1.6.6 и выше. Это обеспечивает больше возможностей языка C ++, а включение может повысить совместимость с системой Arduinio. Чтобы включить C ++ 11 в Atmel Studio 7, щелкните правой кнопкой мыши файл проекта, выберите свойства, щелкните ToolChain слева, щелкните Разное в AVR / GNU C ++ Compiler и введите -std = c ++ 11 в Поле других флагов.

Чтобы включить библиотеки в ваш эскиз

Скопируйте файл библиотеки .cpp в C: \ Users \ YourUserName \ Documents \ Atmel Studio \ 7.0 \ YourSolutionName \ YourProjectName \ ArduinoCore \ src \ core , затем в Atmel Studio откройте окно обозревателя решений, щелкните правой кнопкой мыши папку Arduino Core / src / core, выберите добавить -> существующий элемент и выберите добавленный файл. Сделайте то же самое с файлом библиотеки .h и папкой YourProjectName / Dependancies.

Чтобы добавить окно терминала

Вы всегда можете открыть Android IDE и использовать это окно Serial (просто выберите правильный последовательный порт), однако, чтобы добавить встроенное окно Serial в Atmel Studio, перейдите в Инструменты -> Расширения и обновления, нажмите Доступные загрузки и выполните поиск для окна терминала или терминала для Atmel Studio и установите его.После установки перейдите в Просмотр -> Окно терминала.

Преимущества

Программирование Arduino с помощью модернизированной IDE, такой как Atmel Studio 7, дает вам множество преимуществ по сравнению с Arduino IDE, включая отладку, автозаполнение, переход к определению и объявлению, прямую / обратную навигацию, закладки и параметры рефакторинга и многие другие.

Вы можете настроить привязки клавиш, выбрав Инструменты -> Параметры -> Среда -> Клавиатура. Вот некоторые из них, которые действительно ускоряют разработку:

  • Править.CommentSelection, Edit.UncommentSelection
  • View.NavigateForward, View.NavigateBackward
  • Edit.MoveSelectedLinesUp, Edit.MoveSelectedLinesDown
  • Edit.GoToDefinition

УСТАНОВКА VISUAL MICRO для ATMEL STUDIO


УСТАНОВКА VISUAL MICRO для ATMEL STUDIO


Зачем использовать Visual Micro вместо «стандартной» Arduino IDE?


Стандартная среда разработки Arduino (https: //www.arduino.cc / en / Main / Software) ( I ntegrated D evelopment E nvironment) неплохо: поставляется бесплатно, разрабатывается компанией «Arduino» и, конечно же, это первая IDE. программное обеспечение, которое вы когда-либо загрузите, чтобы начать писать код и загружать его на свою плату Arduino!

В любом случае, хорошо известно, что через некоторое время вы почувствуете потребность в некоторых дополнительных функциях с точки зрения удобства использования IDE ...

Visual Micro - это расширение для Atmel Studio, которое позволяет разрабатывать, компилировать и компилировать любой проект Arduino. затем загружается на любую плату Arduino.Он полностью совместим со средой разработки Arduino и использует те же библиотеки.

Отличие заключается в пользовательском интерфейсе Visual Micro, который обеспечивает продвинутую и профессиональную среду разработки.

Одним из основных преимуществ является возможность устанавливать и управлять точками останова и / или контролировать значения переменных, чтобы легко отлаживать ваш код!


Установка Visual Micro для Atmel Studio


Давайте начнем…

Установка стандартной Arduino IDE

Даже если мы не собираемся ее использовать, я предлагаю установить последнюю стандартную Arduino IDE, доступную с www. .arduino.cc/en/Main/Software.
Основная причина - убедиться, что на нашем ПК есть хотя бы одна правильно работающая IDE.

Просто щелкните значок установки и запустите процесс установки.


Прочтите и примите лицензионное соглашение…


Просто примите настройки по умолчанию…


Разрешите различное программное обеспечение от Arduino и другие издатели


После завершения установки вы можете запустить Arduino IDE с ее значка на рабочем столе.


Установка Atmel Studio


Давайте продолжим загрузку Atmel Studio с http://www.microchip.com/mplab/avr-support/atmel-studio-7


После загрузки запустите установка ... весь процесс займет довольно много времени ...


Просто согласитесь с условиями лицензии ... (конечно!)


Пусть будут применены настройки по умолчанию


Программа установки выполнит проверку системы, чтобы убедиться, что соблюдены минимальные требования для Atmel Studio.


Запустите установку…


Разрешите различное программное обеспечение от разных издателей, и тогда все готово!


Запустится Atmel Studio ...

Установка подключаемого модуля Visual Micro для Atmel Studio


Щелкните Инструменты -> Расширение и обновления


Выберите вкладку Онлайн слева, затем прокрутите, пока не найдете Arduino IDE для Atmel Studio… затем нажмите кнопку «Загрузить»

Начнется процесс загрузки…


Вы должны разрешить программе установки внести изменения в ваше устройство, а затем принимаю лицензионное соглашение…


На этом установка завершена!


Просто нажмите кнопку «Перезагрузить сейчас», чтобы изменения вступили в силу.

После перезапуска вам будет предложено указать версию Arduino IDE и ее местоположение (обычно это местоположение, показанное по умолчанию C: Program Files (x86) Arduino)


Вы заметите наличие нового Меню и панель инструментов vMicro в Atmel Studio…

Теперь вы готовы начать кодирование вашего Arduino в гораздо более универсальной среде!


Первые шаги с Visual Micro IDE


Чтобы начать использовать новую среду, вы можете открыть существующий скетч Arduino (.ino) или начать новый пустой проект.


Откройте существующий скетч Arduino

Давайте начнем открывать очень простой скетч: код APSP_blink_LEDs, доступный в образцах скетчей Proto Shield Plus (нажмите здесь, чтобы загрузить образцы скетчей).

Конечно, вы можете использовать «стандартный» пример Blink, поставляемый с установкой Arduino IDE.

Вы заметите, что папка APSP_blink_LEDs содержит только файл APSP_blink_LEDs.ino.

Теперь в Atmel Studio нажмите File-> Open-> Arduino Project

Перейдите в папку APSP_blink_LEDs и выберите файл APSP_blink_LEDs.ino


Подождите несколько секунд, и файл откроется. в Atmel Studio…

Взглянув на папку APSP_blink_LEDs, вы заметите, что теперь в ней присутствуют некоторые новые файлы и папки: они будут использоваться из Atmel Studio для настройки среды.
В любом случае ваши APSP_blink_LEDs.ino остается прежним и может использоваться со «стандартной» IDE Arduino.


Запустите новый пустой проект

Нажмите Файл-> Новый-> Проект Arduino


Введите допустимое имя для вашего нового проекта Arduino и нажмите OK


Новый проект будет создан и сохранен в DocumentsArduino

Теперь вы можете добавить собственный код ...


Скомпилируйте и запустите свой код


Выберите среду Arduino, вашу плату и COM-порт, назначенный вашей плате


Выберите Release из раскрывающееся меню и нажмите кнопку «Начать без отладки»

При первой компиляции, вероятно, появится всплывающее окно с просьбой купить Visual Micro, нажав кнопку «Отмена», вы пропустите процесс и продолжите оценку программного обеспечения Visual Micro. .
После пробного периода программа продолжит работу, покупка программного обеспечения и поддержка разработчиков - все зависит от вас…


В окне вывода будут показаны результаты компиляции, а затем код будет загружен на вашу плату!

В следующих статьях мы рассмотрим некоторые интересные и отладочные функции Visual Micro IDE…


.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *