Хай Pinboard сообщество! Помнится я обещал, что будет прошивка позволяющая превратить демоплату Pinboard 1.0 в программатор для прошивки других МК. Пацан сказал пацан сделал 🙂
Итак, вот две прошивки. Для плат на базе Atmega16 и Atmega32. Тактовая 8 МГц (дефолтная настройка).
16_PinboardPROG.hex
32_PinboardPROG.hex
Далее как обычно в картинках.
Вначале стандартно, пинаем бутлодыря. И через AVRProg заливаем в память прошивку:
Прога сама определила что у нас бутлоадер, поэтому процессор выбрать нельзя.
После сего экшена закрываем AVRProg и перегружаем процессор платы. После отработки бута LED2 должен погаснуть (а на Мега32 они так не горит), но начнут перемигиваться диоды LED2 и LED1, чтобы это увидеть не забудь накинуть два джампера на выводы:
Если все замигало, значит теперь наша плата может шить. Но нам потребуется шнурок. Почти стандартный ISP кабелек. Отрубай от куска психоделичного радужного шлейфа сколько не жалко и насаживай IDC разьемы. Стрелочка показывает на метку первого контакта:
Один конец обжимается как обычно (обжимать их удобней всего маленькими тисами. Мне доводилось также для этих целей использовать дверь, а также крышку от унитаза. В общем, кто во что горазд. Но сразу не рекомендую плоскогубцы большой риск расколоть нафиг), а вот второй обжимается хитрей.
Тут надо вычленить пятый проводок от метки. Метка на IDC возле ключевого язычка и обозначается треугольником. Пятый проводок это Reset.
Нам ведь не нужно обьединять RESET шьющего и прошиваемого контроллеров, а надо снять его сигнал с вывода PB4 он будет контроллировать прошивку. Соединяем так:
А вот тут лажа, IDC шки то я в комплекте не предусмотрел 🙁 Хорошо, в дальнейших поставках учту. Впрочем, стоят они копейки и довольно часто встречаются. Но если нету, то ничего, можно и обычными контактами, что шли в комплекте. Соединяешь PinBoard с прошиваемым в целевой плате МК таким образом: MISO-MISO, MOSI-MOSI, SCK-SCK, GND-GND, RESET-PB4. Питание на Vcc берешь либо откуда нибудь извне, либо с шины Power, что над процессором. По идее оно может и по шлейфу на целевую плату уползти, но вот только защитный диод (возле тумблера который, на фотке стрелочкой показан) не даст. Но ведь никто не мешает его коротнуть на время ,) , главное не забыть поставить перемычки ISP и USBH одновременно (или от чего ты там плату запитал), чтобы собрать цепь питания.
Врубаешь питание. Ждешь пять секунд пока бут отработает, погаснет LED2 и зажгется LED1. Снова запускай AVRProg, как обычно. Но на этот раз его встретит не AVRBOOT, а AVR ISP =)
Видишь, можно выбирать тип МК, а также доступны всякие Fuse биты под кнопочкой адвансед. Выбираешь нужный тебе тип МК, выбираешь нужную прошивку. Шьешь!
По быстрому проверял, вроде фурчит. Шил мегу32, мегу16 и мегу8. Других не оказалось под рукой. Тестим! Да, с фузами пока осторожней играйтесь, кто его знает как оно себя поведет. Я вроде косяков не обнаружил, но мало ли.
Если вдруг не заработает, то проверять программатор так же как и бутлоадер. Т.е. коннектишься в терминалке. Вначале, пока работает бут, скармливаешь ему на скорости 19200 букву S должен ответить AVRBOOT. Потом сбрасываешь, ждешь пока бут загрузит основную программу и на той же скорости говоришь ему S, должен уже отозваться как AVR ISP
Прошива собрана на базе древнего, но тем не менее не забытого немецкого проекта. Я просто переписал прошивку с AT90S2313 на Mega16/Mega32, да избавился от внешних кварцев.
Вот оригинальный сырок.
Для Pinboard 1.1 или Pinboard II данная статья не особо актуальная, т.к. эти демоплаты уже содержат на борту мощный FTBB программатор, способный прошивать AVR быстро и в любой операционный системе.
Оцените статью!