Pull to refresh

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

Reading time 2 min
Views 42K


Хотите знать как прошивать 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.
Tags:
Hubs:
+18
Comments 13
Comments Comments 13

Articles