Ключевое ?лово

vk

Качественное изготовления межкомнатных дверей от компании Фортрез.

Продолжаем опыты над дешевым программатором USBasp,который можно научить работать как другое устройство.

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

Тут придет на помощь проект USBaspLoader ,который позволяет программировать микроконтроллеры AVR без программатора,залив один раз специальный загрузчик.Для программирования необходимо поставить перемычку,которая подключена на свободный пин м/к. 

К сожаленью существует и недостаток USB загрузчика - он занимает 2 кб flash памяти Вашего м/к .Получается ,что в нашем случае остается свободно для самой программы всего 6144 байт,но этого может быть достаточно для большинства проектов.

 

Установка загрузчика

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

Команда через Arduino:

avrdude -c avrisp -P COM1 -b 19200 -p m8 -U flash:w:boot_m8.hex -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m -U lock:w:0x2f:m

Команда через другую USBasp:

avrdude -c usbasp -p m8 -U flash:w:boot_m8.hex -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m -U lock:w:0x2f:m

Файлы avrdude,avrdude.conf и boot_m8.hex должны находится в одной папке,если в команде не указан конкретный путь.Программку avrdude можно найти по адресу в Arduino IDE - путь_к_папке_ардуины_/hardware/tools/

Теперь можно загружать прошивки без дополнительных программаторов.

Прошить загрузчик можно и через Arduino IDE,если файл загрузчика положить в папку hardware/arduino/bootloaders/atmega8/ .Для прошивки необходимо выбрать пункт ATmega8 USB 12 MHz в меню плат(см ниже по тексту как его добавить) и выбрать опцию в меню сервис "записать загрузчик".

 

Переключение в режим программирования

 Для того,чтобы "залить" прошивку в устройство с установленным USBaspLoader необходимо установить перемычку JP3 ,которая переводит устройство в режим программирования и сбросить устройство ,замкнув контакт ближний к перемычке выбора питания(JP1) на перемычке JP2 на землю.

пример подключения кнопки сбросСлева на фото показан пример как подключается кнопка для сброса микроконтроллера с установленной перемычкой JP3 .Кнопка и разъем взяты из старого системно блока.

 

 

 

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

 

Прошивка микропрограмм

Прошивка программы ,используя USBaspLoader ничем не отличается от обычной прошивки микроконтроллеров через USBasp:

avrdude -c usbasp -p m8 -U flash:w:Имя_файла_для прошивки.hex

Обращаю внимание,что чтение и установка фьюзов не доступна - avrdude будет выводить нули.

 

Используем USBasp как макетную плату в Arduino IDE

Для бывшего программатора USBasp можно  писать скетчи в Arduino IDE ,но к сожалению,без пайки нам будут доступны только 6 выводов микроконтроллера и 2 светодиода.

Добавляем поддержку Atmega8+USB ,дописав секцию в файл boards.txt:

atmega8usb.name=ATmega8 USB 12 MHz
atmega8usb.upload.protocol=arduino
atmega8usb.upload.maximum_size=6144
atmega8usb.upload.speed=19200
atmega8usb.bootloader.low_fuses=0x9f
atmega8usb.bootloader.high_fuses=0xc0
atmega8usb.bootloader.path=atmega8
atmega8usb.bootloader.file=boot_m8.hex
atmega8usb.bootloader.unlock_bits=0x3F
atmega8usb.bootloader.lock_bits=0x2F
atmega8usb.build.mcu=atmega8
atmega8usb.build.f_cpu=12000000L
atmega8usb.build.core=arduino
atmega8usb.build.variant=standard

Теперь в меню выбора плат появился пункт ATmega8 USB 12 MHz и скетчи сейчас можно заливать через меню файл - "прошить с помощью программатора".Не забываем в меню "программатор" выбрать USBasp.

Доступные цифровые выводы микроконтроллера на разъеме:

0,1,10(PWM),11(PWM),12,13. Можно воспользоватся интерфейсом SPI,например для подключения Ethernet ENC28J60.

А так же доступны цифровые выводы 14 и 15 для управления светодиодами на плате.

 Можно задействовать и интерфейс USB ,используя библиотеку для Arduino V-USB.

 


Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.