По ICSP записывается с пятого раза
- Войдите на сайт для отправки комментариев
Сб, 13/07/2013 - 22:31
Ошибка всегда "yikes! invalid device signature. double check connections or use -F to override".
Длина проводов 7 см. Скетч ArduinoISP записан в меге8, подключаю к меге328 и пишу. Количество раз, которое надо повторить попытку, разное. Количество раз меньше при попытке записать загрузчик (с 2-3 раза обычно пишется). Прошиваемая мега328 имеет свой собственный кварц и т. п.
Резистора 100 ом от плюса к сбросу ведущей (меги8) нет, поможет ли он? Имхо, если бы дело было в нём, вообще бы не показывалось никаких ошибок, либо в духе "not in resp", но не про сигнатуру.
В чём может быть проблема?
Во всяком может быть - питание шумит, провода по три метра и на соплях, просто плохой программатор ArduinoISP или, наоборот, очень хороший.
К примеру - у меня atmega2313 программатором usbasp на универсальной панели таким же образом себя ведёт, в отличии от attiny2313, которая шьётся влёт.
К чему веду - если программируемый МК слегка тупит с переводом в режим программирования, то программатор должен дождаться ответа, а не сбрасывать подключение.
Так ведёт себя AVR-Doper, который шьёт всё и влюбых условиях, но... кааакой же он меедлеенный.
зы
так, мысли из личного опыта.
помог электролит 10 мкФ на сбросе ведущей атмеги
Народ, какие ещё могут быть факторы?
Провода проверяются самым тщательнейшим образом, провода SPI 5 см, питание 8 см, от плюса на сброс ведущей дуины (со скетчем ArduinoISP) резистор 100 Ом, туда же от минуса кондер 10 мкФ. Конденсаторы кварца и вообще всё, что находится близко к атмеге прочищается от канифоли сразу же, чуть ли не купается в ацетоне. Всё равно, несмотря на все меры, идут бессистемные тупняки, шьется только когда ей понравится и возникнет особое настроение. Кнопку можно жать и 5 раз, и 10, и 30. Провода можно шевелить, можно не шевелить, не влияет как будто вообще абсолютно. Единственное что не пробовалось так это стучание на бубне, ритуальные жертвоприношения и присыпания толчеными костями летучей мыши.
Что может быть? Молиться на кнопку чтобы наконец прошилось - реально одолевает, спустя минуты полторы приступ бешенства практически неизбежен.
Что может быть? Молиться на кнопку чтобы наконец прошилось - реально одолевает, спустя минуты полторы приступ бешенства практически неизбежен.
Что угодно может быть - напряжение питания прошиваемого МК ниже 5V, битый кварц, битые конденсаторы на кварце(при нормальном раскладе - нахрен не нужны, туда же(в пень) электролит большой ёмкости на сбросе - зачем он там нужен?), плата пропитана электролитом(отравлен текстолит при производстве/травлении), плохие контакты.
Что делать - прекращать жрать кактус(ArduinoISP), подключить программатор созданный для программирования а не для поиграться и проверить на аналогичные глюки.
*и, электрическую схему всега давайте - где-то там неправильно.
Прежде всего, какой? и что ему давать.
Рыться в каталоге TEMP в поисках .hex файла как-то неинтересно. Плюс: покидая среду и указывая параметры avrdude в командной строке, имеем неиллюзорную возможноть попутать фьюзы и потом хрен восстановишь. Я так уже прошил bitbang'ом. Нафиг-нафиг. Должен же быть способ довести до ума этот программер, люди же его придумали. Более вероятно, что придумали для работы, а не для геморроя. Это как с Radiant (редактор уровней такой, для Quake, Doom и т. п.).
Напряжение в пределах 4.98-5.03. короче, от USB. чем измерить сопротивление текстолита - вообще никаких идей нет. Остаётся надеяться, что хотя-бы десятки мегаом.
Не указал пару моментов.
Программатор сделан на Atmega8. Имеет ли смысл попробовать с 328?
Провода втыкаются в дырки на Arduino (т. о. на прошиваемой плате штыри - на них одевается кабель с дырками, на другом конце два ряда штырей - 10..13 и питание с Reset - те штыри уже втыкаются в Arduino). Имеет ли смысл припаять насмерть?
Ну и как выше писалось, в 98% случаев ошибка Invalid device signature. Ошибка через время становится вероятнее. То есть, только что собранная плата c 99% вероятностью прошьется сразу. Потом может тупить чаще, потом может долго быть нормально (вплоть до 20 раз подряд перешилось, и ошибок не было вообще). Хотя, в общем и целом, никакой закономерности нет.
Кварцы и меги покупаются в таобао. Думаю, если бы был какой-то брак, не работало бы вообще. Меги доставляются в заводской упаковке - в пластмассках с квадратными ячейками. Пластмасски намного тяжелее пластика ABS, трудно режется, почти не ломается, больше напоминает керамику.
Прежде всего, какой? и что ему давать.
Ну, какой - такой http://www.fischl.de/usbasp/
Скачать http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
распаковать
прочитать файлег Readme.txt в частности
Пропустил странное.
А, как вы прошиваете фьюзы из Ардуино ИДЕ?
Клапауций, командой Tools -> Burn bootloader (потом поверх загрузчика пишется нужный скетч, из File -> Upload using programmer)
UPD. мегу8 перешил на программу usbasp'а, завтра диоды на usb куплю, соберу и отпишу как результаты.
Шить можно из среды Arduino, только надо установить драйвер, правильно я понимаю? (тоесть он тоже будет видеться в системе как com порт)
Клапауций, командой Tools -> Burn bootloader (потом поверх загрузчика пишется нужный скетч, из File -> Upload using programmer)
Это странный способ прошивки фьюзов.
Обычно делается так
перепроверьте фьюзы - должно быть HFUSE=0xc9 LFUSE=0xef
не диоды - стабилитроны
В списке поддерживаемых программаторов Arduino IDE USBasp присутсвует.
драйвер в папке libusb_0.1.12.1 из скаченного пакета. система спросит, где дрова - ткнёте её в папку libusb_0.1.12.1
в системе будет видеться как USBasp
Надо же, оно работает. но блин!
При начале записи гаснет Led1 (led2 вообще ни разу не видел чтобы светился). Стабильн ошибки "control message failed", "could not find device USBasp". Второй раз перешить невозможно, нужно выдернуть из usb и снова воткнуть. Но это не даёт никаких гарантий на то что запишется. За 7 часов мне удалось 1 раз залить загрузчик и 4 раза blink, что можно списать на везение. По сравнению с ArduinoISP надёжность ниже в разы.
поимев такие квесты я уж лучше его куплю, чем самому собирать. опять куча неизвестных моментов, которые ведут себя реально как фаза Луны.
переверните светодиоды
ёмкость 10 микрофарад так и висит на ресете?
если хватаете плату руками, на соплях всё висит - может и отвалиться устройство от USB
запись скетча длится несколько секунд - за 7 часов можно выполнить мировой план суточного производства дуино.
с ArduinoISP у вас те же яйца - вид в профиль
не факт
Ну не знаю.. собрано по схеме (только нет джампера self programming), руками за плату не хватаюсь, длина usb провода 40 см, на isp разъём сразу в плату. Программатор работает, но далеко ему до идеала... мож собрал криво, короче за 15 юаней можно и купить. Собрать этот обошлось в 100 руб., то есть дороже.
В общем и целом - пишет, но глюки есть в двух случаях: если попытаться сразу после подключения шить (вероятно, ему нужно секунд 30 чтобы захотеть работать), и если попытаться перешить ещё раз, не отключая перед этим от usb.
В общем и целом - пишет, но глюки есть в двух случаях: если попытаться сразу после подключения шить (вероятно, ему нужно секунд 30 чтобы захотеть работать), и если попытаться перешить ещё раз, не отключая перед этим от usb.
не выдумывайте странного