Прошивка загрузчика в Arduino Uno с помощью Pololu USB AVR Programmer

Vladimir
Offline
Зарегистрирован: 15.04.2013

Всем привет!

Озадачился прошивкой загрузчика в ATmega328P-PU с помощью ноутбука. Был приобретен такой программатор . У меня программатор подключился  на COM3.

Далее для удобства arduino isp лежит в корне диска С.

1. Копируем файлы  Arduino-usbserial-atmega16u2-Uno-Rev3.hex  из папки C:\arduino-1.0.4-windows\arduino-1.0.4\hardware\arduino\firmwares\atmegaxxu2\arduino-usbserial и optiboot_atmega328.hex из папки C:\arduino-1.0.4-windows\arduino-1.0.4\hardware\arduino\bootloaders\optiboot в папку C:\arduino-1.0.4-windows\arduino-1.0.4\hardware\tools\avr.

2. Подключам программатор и плату к компьютеру. Прошиваем контроллер 16U2 через разъем ICSP, расположнный рядом с USB портом (ключем к разъему). Вставлятся туго, но ничего не ломается.Для этого, открываем командную строку, пишем:

cd C:\arduino-1.0.4-windows\arduino-1.0.4\hardware\tools\avr

bin\avrdude -F -p at90usb162 -C etc\avrdude.conf -P COM3 -c avrispv2 -U flash:w:Arduino-usbserial-atmega16u2-Uno-Rev3.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -Uefuse:w:0xF4:m -U lock:w:0x0F:m

Я делал через блокнот.

3. Прошиваем  ATmega328P. Переставлям разъм программатора  в разъем ICSP рядом с ATmega328P. Красная полоска с другой стороны от контроллера, ключ во внутрь платы. Можно скачать datasheet и прозвонить ноги

В командной строке пишем:

bin\avrdude -F -p m328p -C etc\avrdude.conf -P COM3 -c avrispv2 -U flash:w:ATmegaBOOT_168_atmega328.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m -U lock:w:0x0F:m

после того как процесс завершится пишем:

bin\avrdude -F -p m328p -C etc\avrdude.conf -P COM3 -c avrispv2 -U flash:w:optiboot_atmega328.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m -U lock:w:0x0F:m

Ждем окончания.

Все!

 

 

renoshnik
Offline
Зарегистрирован: 11.04.2013

Vladimir пишет:

Всем привет!

Озадачился прошивкой загрузчика в ATmega328P-PU с помощью ноутбука. Был приобретен такой программатор . У меня программатор подключился  на COM3.

3. Прошиваем  ATmega328P. Переставлям разъм программатора  в разъем ICSP рядом с ATmega328P. Красная полоска с другой стороны от контроллера, ключ во внутрь платы. Можно скачать datasheet и прозвонить ноги

В командной строке пишем:

bin\avrdude -F -p m328p -C etc\avrdude.conf -P COM3 -c avrispv2 -U flash:w:ATmegaBOOT_168_atmega328.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m -U lock:w:0x0F:m

после того как процесс завершится пишем:

bin\avrdude -F -p m328p -C etc\avrdude.conf -P COM3 -c avrispv2 -U flash:w:optiboot_atmega328.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m -U lock:w:0x0F:m

Ждем окончания.

Все!
 
а зачем поверх одной прошивки шить вторую ????
gleco1
Offline
Зарегистрирован: 22.12.2015

НЕ могу получить нигде ответ на вопрос применения команды -F, только у Вас увидел, что она ставится вначале командной строки. На форуме никто на мой вопрос не ответил. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

gleco1, а в справку дудки не заглядывали? Там всё написано.  Если не читается сигнатура -то нужно искать причину,  а не  прикладывать  костыли типа этой опции.

 

 

b707
Offline
Зарегистрирован: 26.05.2017

gleco1 - если почитать иностранный интернет - знатоки категорически не рекомендуют ею пользоватся. Шанс окирпичить МК с этой командой увеличивается в разы

gleco1
Offline
Зарегистрирован: 22.12.2015

dimax Я не читал и не знаю где эта справка находится. Подскажите. Общие фразы "искать
причину" не подходят.
Не я один сталкиваюся с этой проблемой. Перечитал зарубежные сайты, ничего конкретного
нигде нет только общие рекомендации. Даже в даташите по параллельному программированию
ничего не сказано как прошить сигнатуру. Как прочитать есть, а как прошить нету. И вообще
- АТмел =говно разового пользования.

gleco1
Offline
Зарегистрирован: 22.12.2015

b707 Да знаю я эту точку зрения! Прошить надо один раз, а хоть так хоть не так - всё равно кирпич.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

gleco1, документация на дудку.  Сигнатура в 99% случаях не читается из-за аппаратных проблем связи мк с программатором. В  1% случаев -сигнатура уже убита, из-за предыдущих проблем, и восстановлению она не подлежит.В случае если у вас  уже точно нет никаких проблем - и только в этом единственном случае можно применить опцию -F

b707
Offline
Зарегистрирован: 26.05.2017

gleco1 пишет:
dimax Я не читал и не знаю где эта справка находится. Подскажите. Общие фразы "искать причину" не подходят. Не я один сталкиваюся с этой проблемой. Перечитал зарубежные сайты, ничего конкретного нигде нет только общие рекомендации. Даже в даташите по параллельному программированию ничего не сказано как прошить сигнатуру. Как прочитать есть, а как прошить нету. И вообще - АТмел =говно разового пользования.

Знаете, почему на сайтах "ничего кокретного, одни общие рекомендации". хотя не один вы с этой проблемой? - потому что если почитать, практически все такие случаи возникают у полных чайников, которые либо что-то подключили неправильно или забыли прошить. И во всех случаях. что я видел в инете - проблема решалась чтением документации и проверкой схем. Ни в одном случае опция " -F" не помогла.

Вот и у вас - все очень похоже. Документацию на дудку вы не читали, потому что не осилили найти, на иностранных форумах "ничего интересного", сами прошить не можете - как бы все указывает на то, что пишет голимый чайник. Но при этом позволяете себе бросаться громкими заявлениями типа "АТмел =говно разового пользования".

Может просто руки не из того места?

b707
Offline
Зарегистрирован: 26.05.2017

добавлю - последний раз, когда у меня не читалась сигнатура у нового чипа, пришедшего с Али - дело оказалось в том, что чипы были зашиты фьюзами на работу с внешним кварцем, хотя по документации должны были тактироваться от внутреннего осциллятора. Пикантность ситуации заключалась в том. что я уже запаял чип в плату без разводки под кварц. Пришлось подпаивать в плату выход тактового сигнала 1 МГц. чтоб перешить фьюзы. Но ни одной мысли прошить камень с опцией -F у меня ни на секунду ни возникло.

gleco1
Offline
Зарегистрирован: 22.12.2015

dimax. Спасибо за наводку и дельный совет. Однако ранее ( где-то год назад) проблем не было, читалось и шилось через казарму и другие оболочки. Прогер USBasp v.2 (их у меня 4) когда купил сразу же установил дрова и сменил прошивку МК на 2011 г. Работало. теперь нет. Купил новенький мега 8 в ДИП корпусе. Попробовал не прошивая считать пустышку и та же история, не читается сигнатура. Сейчас попробовал Ардуино - то же яйцо, только в профиль. И еще Новенькая нано с китайской сн 340 не принимает скетчи. Мк 328. В общем разочаровался в мегах. В ПИКах таких проблем нет, хотя тоже был небольшой тормоз. При программировании не учел задержку подачи питания относительно напруги программирования (12в). Но там всё видно и всё понятно

b707 может я и " голимый чайник "( мне 72 года) здоровье ушло, но пока ещё руки не отвалились и мозги не сосем высохли вот и обратился на форум с надеждой, что молодые, вроде Вас как-то помогут.  

b707
Offline
Зарегистрирован: 26.05.2017

gleco1 пишет:

Купил новенький мега 8 в ДИП корпусе. Попробовал не прошивая считать пустышку и та же история, не читается сигнатура. Сейчас попробовал Ардуино - то же яйцо, только в профиль. И еще Новенькая нано с китайской сн 340 не принимает скетчи. Мк 328. В общем разочаровался в мегах.

прости дед - ты может и не чайник. но явно что-то не так делаешь. Столько раз снаряд в одну воронку не падает. Практически 100% никакя опция -F в твоем случае не поможет.

gleco1
Offline
Зарегистрирован: 22.12.2015

 Да ничего, всё нормально. Я не в обиде.  Опция в дудке не работает. Я то редко занимаюсь прошивками. Только по крайней необходимости. Документацию на дудку прочитал добросовестно. Спасибо за наводку. Если что, обращусь.

gleco1
Offline
Зарегистрирован: 22.12.2015
0

dimax , Новенький, где ещё конь не валялся Ардуино нано из-за СН340 определяется как сом-порт, а не как ардуино и скетчи в него не грузятся. Что нужно сделать, что бы он стал ардуинкой? 

b707
Offline
Зарегистрирован: 26.05.2017

gleco1 пишет:

0

dimax , Новенький, где ещё конь не валялся Ардуино нано из-за СН340 определяется как сом-порт, а не как ардуино и скетчи в него не грузятся. Что нужно сделать, что бы он стал ардуинкой? 

у меня тоже половина ардуин определяется как компорт, а не как ардуино - что абсолютно не мешает загрузке. Это не причина.

gleco1
Offline
Зарегистрирован: 22.12.2015

Может нужно перешить загрузчик?