Прошивка AVR через RS232 bitbang

А проект нужно сдавать завтра.
LPT и 5 проводками обойтись не получится — LPT давно нет.
Вспомнил что в документации Avrdude упоминались serial-bitbang адаптеры www.nongnu.org/avrdude/user-manual/avrdude_1.html.
В наличии были адаптеры на PL2303 и CP2102.
Из конфига avrdude ни один из вариантов не заработал (нужна инверсия всех сигналов).
Пришлось добавить новое описание в avrdude.conf:
programmer
id = "cp2102";
desc = "Serial-USB bitbang, reset=!txd sck=!rts mosi=!dtr miso=!cts";
type = serbb;
reset = ~3;
sck = ~7;
mosi = ~4;
miso = ~8;
;
Распиновка:
RES - TX (можно не подключать - см.ниже)
MOSI - DTR
MISO - CTS
SCK - RTS
Сразу законектиться не получилось — оказалось что USB-RS232 не может выдать постоянный уровень 0 на RX.
Помогла принудительная подача сброса джампером перед программированием.
Единственный недостаток — работает очень медленно.
Прошивка бутлоадера Ардуино заняла полтора часа!
Зато работает с любыми адаптерами, на всех системах (в отличии от патча USBBit для FT232 bitbang).
- +3
- 16 июля 2013, 10:16
- zubb
Лучше, конечно, иметь несколько вариантов программаторов. У меня, например:
для AVR: Громов, USBASP, AVRISP-MK2, FTBB или HappyJTAG PinBoard2
для PIC: ICD2, PicPGM на Pinboard2
STM32: CoLink на PinBoard2
универсальный: OpenProgrammer на макетке и TL866
Всяко можно выкрутиться.
Часть программаторов использую как отладочные платы, тот же AVRISP-MK2 и OpenProgrammer.
для AVR: Громов, USBASP, AVRISP-MK2, FTBB или HappyJTAG PinBoard2
для PIC: ICD2, PicPGM на Pinboard2
STM32: CoLink на PinBoard2
универсальный: OpenProgrammer на макетке и TL866
Всяко можно выкрутиться.
Часть программаторов использую как отладочные платы, тот же AVRISP-MK2 и OpenProgrammer.
Комментарии (2)
RSS свернуть / развернуть