Привет. Первый раз столкнулся с прошивкой голого чипа и естественно с проблемой. Подключил обвязку (кварц, кондюки), прошил avrdude фьюзы от Uno. Использовал Uno в качестве ISP программатора. Загрузил свой скетч, потестировал, все ок. Дальше решил прошить загрузчик, для последующей прошивки через USB-TTL программатор через пины rx/tx, так как на SPI пинах будет висеть периферия, которую отключать от платы каждый раз для прошивки не вариант. Выбрал в Arduino studio "Записать Загрузчик" - выдал ошибку efuse 0xFD!=0x05. В boards.txt заменил на 0x05, так как с точки зрения efuse это равнозначные значения. Снова шью загрузчик - фьюзы прошились, начал шиться загрузчик, дошло до 100% после этого "ошибка прошивки загрузчика avrdude: verification error, first mismatch at byte 0x2dcc 0xff != 0xe6" Дальше любые попытки что-то записать по ISP выдавали ошибку сигнатуры 0x000000. Из командной строки: avrdude -patmega328p -carduino -PCOM6 -b19200 avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Но если сменить скорость: avrdude -patmega328p -carduino -PCOM6 -b115200 avrdude: Device signature = 0x1e950f avrdude: safemode: Fuses OK Прошивка через USB-TTL выдает: avrdude: stk500_getsync(): not in sync: resp=0x30 Светодиод на 13 пине постоянно горит (а вроде как должен моргать, потому что с загрузчиком грузится blink) Два вопроса: 1. Что значит ошибка прошивки загрузчика verification error, first mismatch at byte 0x2dcc 0xff != 0xe6? 2. Как вернуть контроллер на скорость 19200 и возможность шиться по SPI? Спасибо
Это не равнозначные значения. Не надо прошивать фьюзы, которые не используются. Эта ошибка говорит о проблемах прошивки памяти контроллера. Скорее всего память контроллера битая (хотя может Вы шьёте не правильно). Вы конечно много понаписали как шили, но по факту это мешанина обрывочных фраз с непонятным смыслом. Для начала необходимо разобраться с SPI -- что и как подключаете и какой командой шьёте?
Подключаю по схеме Только у меня 328p-au. Питание разведено на все соответствующие контакты, включая avcc и aref Прошиваю из Arduino studio, программатор Arduino as ISP, пункт меню "Записать загрузчик"
@Digital Fox - не надо мудрить. Абдурина IDE создает два файла - один с загрузчиком, другой без. Надо внимательно смотреть за ходом компиляции - там будут сообщения о месте хранения этих прошивок. Находишь прошивку с загрузчиком и шьёшь её. Всё. И прошивка, и загрузчик в МК. Фьюзы можно и отдельно выстаить - не надо ковыряться в каких-то неопнятных боардс бла бла бла и выставлять кривые параметры. Так можно и МК залочить, что без высоковольтного программатора его только выкинуть.
Не могу ответить на этот вопрос, потому что сейчас до прошивки загрузчика не доходит, потому что Arduino studio выставляет скорость 19200, а камень сейчас читается на 115200. Собственно вопрос и был, как вернуть его на 19200, а не как прошить загрузчик
Что это за штука? Если речь про Arduino IDE, то поставьте в настройках галочки "Показывать подробный вывод"...
Это у меня стоит с самого начала. При прошивке сначала идет команда прошивки фьюзов и только потом загрузчика. Сейчас ломается на первой команде и команда прошивки загрузчика просто даже не запускается
зачем вообще трогать фьюзы если не шариш в этом. И из кучи текста который вы написали в самом начале я не догнал возможно что-то, но на всякий случай. Выполняя команду "Записать загрузчик" Вы загружаете в прошиваемый МК(как раз таки и происходит установка фьюзов, т.е выбирая плату например ардуино Уно, и Нажимая "Записать загрузчик" IDE Сама конфигурирует вашь МК (например atmega328) Под обвязку плату ардуино Уно и Устанавливая частоту 16мгц (внешний резонатор). От самой платы (с помощью которой вы прошиваете МК), требуется одно, в нее нужно записать скетч из примеров arduino SPI и после у этого в инструментах Программатор выбрать Arduino SPI,
так в чем проблема? - шейте камень на 115200. раз он шьется. Откуда вообще вы взяли, что нужна скорость 19200 - это что-то очень медленно
Проблема в том, что есть два одинаковых камня. Один с бутлоадером и прошивкой ArduinoISP, второй типа "голый". И вот, при помощи первого нужно прошить второй. И если не аккуратно пользоваться программой avrdude, то ни чего не получиться. Т.к. будут попытки прошить первый камень, а не второй. И вот первый камень-то как раз и шьётся на скорости 115200 (но его шить не нужно), а второй должен на 19200... Но вот не шьётся зараза... А т.к. автор, как партизанин, молчит какой командой он шьёт свои камни, то что-то конкретное подсказать пока нет возможности.