Прошивка микроконтроллеров Atmega через USBasp

Прошивка микроконтроллеров Atmega через USBasp

Прошивка микроконтроллеров Atmega без arduino через USBasp:

Купить программатор здесь

Существуют простые и дешевые программаторы для прошивки м/к Atmega ,которые поддерживает среда Arduino IDE- необходимо просто выбрать соответствующий программатор USBasp в настройках Arduino IDE.USBasp  необходим,если вы просто прошиваете микроконтроллеры Amtel.Программатор основан на м/к Atmega 8 и использует программный USB.

Он имеет выход питания 5v/3.3 v(переключается перемычкой JP1) ,а так же соответствующие выводы SCK, MISO, MOSI, RESET для подключению напрямую к микроконтроллеру.На картинке показаны выводы на самом программаторе — на разъеме шлейфа соответственно будет зеркально относительно ключа (у 5 вывода),не забывайте об этом.

Для работы в операционной системе Windows необходимы  драйвера. Linux же не требует их.

Данный программатор легко превратить в другое устройство,например в I2C-USB переходник , USB контроллер с GIO или контроллер чтения термодатчиков DS18B20.

 Программирование через USBasp в Arduino IDE

Для программирования микроконтроллеров,подключенных через USBasp в Arduino IDE необходимо выбрать его в программе.

Программирование осуществляется через меню файл,выбрав пункт  «Загрузить с помощью программатора».Не забываем выбрать микроконтроллер в меню «сервис» ->»плата».

Программирование через USBasp утилитой avrdude

Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.

Для того,чтобы залить прошивку в микроконтроллер необходимо выполнить команду:

 avrdude -c usbasp -p m8 -U flash:w:имя_файла.hex . где -p m8 — это модель микроконтроллера.В данном случае atmega 8.

Дополнительно так же можно установить фьюзы дописав :-U hfuse:w:0xХХ:m -U lfuse:w:0xХХ:m .Где ХХ — соответствующие фьюзы микроконтроллера ,необходимые для конкретной прошивки.

Обычно прошивку можно осуществить через команду make flash ,если Вы имеете исходный код прошивки и установленную WinAVR.

В других средах программирования выбор программатора осуществляется через соответствующее меню программы.

Обратите внимание, что на некоторых микроконтроллерах с завода,например на серии Attiny включен по умолчанию фьюз CKDIV8 ,который устанавливает делитель на 8 и из-за этого USBasp не программирует такие микроконтроллеры пока не установить перемычку JP3 на USBasp.Для настройки фьюзов воспользуйтесь калькулятором фьюзов чтобы выставить нужные настройки , в том числе выключить данный делитель.Фьюзы прошиваются через avrdude командой  avrdude -c usbasp -p имя_м/к -U lfuse:w:0xХХ:m .

Пример для установки фьюзов attiny85 для внутреннего генератора 8мгц с выключенным делителем на 8 : 

avrdude -c attiny85 usbasp -p -U lfuse:w:0x62:m

При программировании через Arduino IDE можно установить нужные фьюзы выбрав в меню «записать загрузчик»,выбрав перед этим необходимый микроконтроллер.

Статьи

Последние опубликованные статьи.