Рассмотрим например, как прошить новый boot-loader.
Скачайте архив с .pde проектом и подходящей версией avrdude. ( http://freeduino.ru/arduino/files/Arduino-Mega-ISP.zip )
Распакуйте архив в какую-нибудь папку.
Откройте .pde проект в среде Arduino и загрузите его в вашу плату. После этого можно отключать программный сброс согласно описания выше.
Подсоедините вторую плату (которую будем "прошивать") к первой.
В режиме командной строки перейдите в папку с avrdude. Теперь можно запускать avrdude с соответствующими ключами:
Разберем ключи:
– q – уменьшает объем выводимой на экран отладочной информации
– C avrdude.conf – указывает расположение .conf файла (в нашем случае он в той же папке)
– p m168 – выбор типа микроконтроллера ATmega168
– c avrisp – выбор протокола
– P COM3 – выбор COM порта. Здесь нужно поставить свой
– b 19200 – выбор скорости порта
– e – Команда на предварительную очистку памяти программ
– U flash:w:ATmegaBOOT168diecimila.hex – указывает на .hex файл с прошивкой
В процессе работы с программатором было замечено, что иногда процесс прошивки не начинается, и avrdude завершается с ошибкой. В таких случаях нам помогал сброс программатора кнопкой Reset и повторная прошивка.
Архив с ПО также содержит файл sample.bat, в котором кроме bootloader’а программируются fuse и lock биты.
В Сети есть страничка с разведенной платой такого программатора, включающей дополнительные отладочные светодиоды: http://drug123.org.ua/mega-isp-shield/
"Сердцем" Bit-Bang программатора является микросхема FD232RL (та самая, которая реализует COM-порт на шине USB), а собственно микроконтроллер ATmega никакого участия в процессе программирования не принимает. Это позволяет программировать микроконтроллер, установленный в "панельке" Вашей Arduino – вторая плата Arduino не потребуется.
Соответственно, для данного программатора подойдут только USB версии Arduino, да и то не все, т.к. не на всех вариантах разведен разъем X3 с дополнительными выводами FT232RL.
Сборка программатора Arduino Bit-Bang
Для сборки Вам потребуются разъемы 1x4, 2x6, штекер 1x2 (для питания) и несколько проводов. Можно использовать, например пару Audio-кабелей от CD-ROM – у них удобные разборные разъемы, и в таком случае можно обойтись даже без паяльника.
Схема соединений следующая:
Провода питания и "земли" потребуются, если Вы собираетесь программировать внешнее устройство. Для программирования микроконтроллера, находящегося в панели той же самой Arduino они не нужны.
На фотографиях представлены оба варианта соединения – программирование микроконтроллера ATmega168, находящегося в панельке Arduino (провода питания и "земли" не нужны),
и программирование микроконтроллера во второй плате.
Рбота с программатором Arduino Bit-Bang
Аналогично рассмотрим прошивку нового boot-loader’а.
Скачайте архив с соответствующей версией avrdude ( http://freeduino.ru/arduino/files/Arduino-Bit-Bang-ISP.zip).
Распакуйте архив в какую-нибудь папку.
Подсоедините программатор к USB порту.
В режиме командной строки перейдите в папку с avrdude. Теперь можно запускать avrdude с соответствующими ключами:
Разберем ключи:
– q – уменьшает объем выводимой на экран отладочной информации
– C avrdude.conf – указывает расположение .conf файла (в нашем случае он в той же папке)
– p m168 – выбор типа микроконтроллера ATmega168
– c diecimila – выбор программатора (он описан под таким именем в .conf файле)
– P ft0 – выбор порта. Выбрано первое устройство с чипом FTDI
– e – Команда на предварительную очистку памяти программ
– U flash:w:ATmegaBOOT_168_diecimila.hex – указывает на .hex файл с прошивкой
Архив с ПО также содержит файл sample.bat, в котором кроме bootloader’а программируются fuse и lock биты.
Более полную информацию можно найти по ссылкам:
Читать дальше