роботы робототехника микроконтроллеры

Используем myPROGGER с Burn-O-Mat.

В прошлой статье мы познакомились и собрали программатор-устройство "myPROGGER". Но одного этого не достаточно, что бы прошивать микроконтроллеры, к программатору-устройству необходима ещё управляющая программатор-программа.
Часто в среду разработки уже встроенна возможность прошивать микроконтроллеры, но производить это прямо из среды разработки не совсем удобно или появляются трудности с настройками для конкретной схемы программатора. В таком случае помогает небольшая отдельная программа-программатор, которая бы управляла нашим программатором-устройством. Настроить такую программу-программатор обычно проще и пользоваться удобнее.

Среда разработки - программа, в которой пишут программы. Система программных средств, используемая программистами для разработки программного обеспечения.
Для создания программ (прошивок) для микроконтроллеров широко известны среды разработки: AVRStudio, WinAVR, IAR и другие.

Далее рассмотрим, как файл прошивки (обычно с расширением *.HEX), "подготовленный" в среде разработки, можно перенести в микроконтроллер. Для "прошивания" воспользуемся широкораспространённой программой: avrdude с Графическим Интерфейсом Burn-O-Mat.

Установка Burn-O-Mat и его настройка к avrdude.

С программой-инструментом avrdude для прошивки микроконтроллеров вы уже кратко знакомились в серии статей "Шаг за шагом" (ПРОСТОЙ ПРОГРАММАТОР AVR : AVRDUDE). Для прошивки микроконтроллера там был использованн параллельный порт компьютера LPT и простейшая схема программатора STK200. Для управления программатором, подключённым по последовательному COM-порту (или через переходник USB-COM) avrdude нужно настроить по-другому. Но так как avrdude является консольной утилитой то настраивать её необходимо с помощью так называемых "ключей" и запускать из коммандной строки. Процесс этот довольно сложный и неудобный. Поэтому для упрощения работы с avrdude лучше использовать графическую оболочку Burn-O-Mat, которая становится как бы промежуточным звеном к avrdude. Такая связка совмещает в себе удобство графического интерфейса Burn-O-Mat и мощность avrdude.
Графическую оболочку Burn-O-Mat можно скачать на сайте разработчика Torsten Brischalle : Burn-O-Mat (для Windows необходимо скачать "Windows Installer"). Необходимо так же скачать сам avrdude, это можно сделать по этой ссылке: avrdude-5.5-win32-bin.zip.

Иногда может понадобится ещё и Java SE Runtime Environment (JRE). На версиях windows NT/2000/XP может потребоваться драйвер giveio.sys, который можно скачать сдесь: DDW-Treiber.zip. Иногда бывает необходима библиотека для работы с USB "libusb-win32": libusb-win32. Эти программы следует проинсталлировать лишь по мере необходимости.

После того как всё установленно, запустим Burn-O-Mat из главного меню Windows и сразу же перейдём в меню Settings -> AVRDUDE (Рис. 1)


Рис. 1. Окно установок AVRDUDE .


В этом окне нужно указать место, где были проинсталлированны файлы avrdude: в строке AVRDUDE location - файл avrdude.exe (цыфра 1), а в строке alternative AVRDUDE configuration file файл avrdude.conf (цыфра 2).
Теперь нужно нажать OK, обязательно закрыть полностью Burn-O-Mat и запустить снова, перейти опять в окно Settings -> AVRDUDE (Рис. 1). Теперь тут появится возможность выбора типа схемы программатора в выпадающем меню Programmer (цыфра 3). Для нашего программатора myPROGGER нужно сдесь выбрать "ponyser" или "siprog". Для другой схемы программатора необходимо выбрать другой программатор в этом выпадающем меню.


Рис. 2

Если программатор подключен через USB-COM адаптер, то номер COM-порта можно выяснить, заглянув в "Диспетчер Устройств" вашего компьютера (Рис. 2). Номер же встроенного COM-порта, куда подключён программатор, можно посмотреть на задней стенке корпуса компьютера или подобрать экспериментально. Этот номер необходимо выбрать в поле "Port" установок avrdude (Рис. 1, цыфра 4).
Остальные опции в окне установок AVRDUDE нужно оставить нетронутыми и закрыть окно установок кнопкой "OK".

Теперь настройка avrdude в оболочке Burn-O-Mat считается законченной и можно опять перейти к основному окну Burn-O-Mat (Рис. 3).


Рис. 3. Главное окно оболочки Burn-O-Mat.


В этом основном окне программы Burn-O-Mat нужно прежде всего выбрать тип программируемого в данный момент микроконтроллера (цыфра 1). Кнопка "Fuses" вызывает окно установок fuse-битов, тут пока ничего трогать не будем.
Далее, по кнопке "File" выберем на диске нужный файл прошивки *.HEX (цыфра 2). Рядом нужно так же проконтроллировать, что бы в выпадающем меню был выбран формат файла "Intel Hex" (цыфра 3).
Кнопки "Write", "Read" и "Verify" служат для функций "Записать", "Считать" и "Сравнить" (цыфра 4).
Теперь можно подключить программатор, выбрать нужный файл прошивки и попытаться загрузить её в схему с микроконтроллером.


Рис. 4. Сообщение об успешной записи.


Если всё было настроено и соединено правильно, то появится сообщение об успешном выполнении процесса (Рис. 4). Если Burn-O-Mat выдаёт какую либо ошибку, то постарайтесь провести настройку и проверить всё ещё раз. Если всё же добиться безошибочной работы не удаётся - можете задать вопрос в специальной теме форума, и мы вместе постараемся решить проблему.

Коротко о fuse-битах.

Очень часто начинающие "электронщики" имеют трудности с пониманием, что же это такие за fuse-биты. И из-за этого непонимания с этим словом связаны страхи и мифы. На самом деле ничего страшного тут нет, и при достаточной аккуратности и знаниях всё оказывается просто.
Рассмотрим установку основных fuse-битов, которых будет достаточно для запуска схемы с микроконтроллером ATmega8 для работы с внешним кварцевым резонатором от напряжения 5 вольт.

fuse-bit, fuse-бит, "фузе-бит", "фьюзе-бит" - специальная ячейка памяти (один бит), управляющая конфигурацией работы микроконтроллера, изменяемая только программатором. Обычно в микроконтроллере несколько фузе-битов, собранных в байты.

Для первых экпсериментов обычно достаточно посмотреть, как нужно проставить "галочки" в программе-программаторе. Заучивать все fuse-биты не следует, понимание каждого из них придёт с практикой. А в крайнем случае можно всегда заглянуть описание fuse-битов в даташите на выбранный микроконтроллер или посмотреть их описание в интернете (ARV Research: Несколько слов про FUSE-биты).


Рис. 5. Основное окно fuse-установок.


Вернёмся к Burn-O-Mat. В главном его окне по кнопке "Fuses" можно открыть окно установок fuse-битов (Рис. 5). Кнопками, расположенными в верхней части окна (цыфра 1), можно прочесть, записать, сверить fuse-биты, а так же расставить fuse-биты "по умолчанию". В нижнем списке fuse-битов (цыфра 2) можно установить или сбросить каждый бит в отдельности. Биты, выделенные красным цветом лучше не трогать без особой надобности, ошибочные установки тут могут лишить возможности прошивать микроконтроллер через последовательный интерфейс ISP.
Но легче всего установить нужные fuse-биты, если перейти во вкладку "Oscillator/Clock Options". Там выбрать вкладку "External crystal or ceramic resonator" (Рис. 6). В разделе "Type" нужно выбрать тип использованного с микроконтроллером резонатора: кварц ("crystal"), или керамический резонатор ("ceramic resonator"). Далее установим частоту работы микроконтроллера Frequency range.


Рис. 6. Окно fuse-установок внешнего кварца/резонатора.


Рис. 7

Остальные опции можно не изменять.
Теперь при подкючённой целевой схеме с микроконтроллером и включенном питании можно нажать кнопку "write fuses". Если запись прошла удачно, то появится соответствующее сообщение (Рис. 7).

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

Если вы столкнулись с непонятной проблемой или просто хотите в чём то разобраться подробнее, или что то не понимаете - не стесняйтесь обращаться с вопросами в myFORUM, там мы постараемся разобраться вместе!


Смелых и Удачных Экспериментов!!!


Дополнения:


Автор: nest

Размещение этой статьи на других сайтах как полностью, так и частично разрешено только после согласования с администрацией myROBOT.RU

  1. WIKI (главная)
  2. ОСНОВЫ
  3. КОМПОНЕНТЫ
  4. МИКРОКОНТРОЛЛЕРЫ
  5. ПРОГРАММИРОВАНИЕ
  6. ПРОЕКТЫ
  7. РОБОТЫ
  8. СОВЕТЫ и ХИТРОСТИ
.