Перешить bootloader в ATMega32U4 - не сгорит?

Тема в разделе "Микроконтроллеры AVR", создана пользователем Мерзкий Гуру, 2 сен 2014.

  1. Точнее, в устройстве на ATMega32U4, вот таком: https://www.sparkfun.com/products/retired/11017
    Попробовал бы шить с Arduino UNO as ISP, но смущают номиналы по напряжению - в Уно 5В, в 32U4 - 3.3В: не сгорит?

    Или купить для прошивки Arduino DUE, благо она трёхвольтовая, и надеяться, что на нее софт перекомпилируется правильно?

    Или посоветуйте программатор для чайника?
     
  2. для неё программатор не нужен, она шьётся через усб
     
  3. Бутлоадер разве должен шиться через USB?

    Но, даже если и шьётся, одна из них сдохла после программирования: подключается, появляется COM-порт, и сразу отключается - порт пропадает.
    И, к тому же, они у меня с безнадежно устаревшими версиями загрузчика.
     
  4. ATMega32U4 шьётся через усб, потому как у неё есть усб
    мега328 шьётся через SPI, ибо у неё нету усб
     
    Последнее редактирование: 2 сен 2014
  5. Ага, понял, спасибо. Но тогда непонятно, как и чем перешивать.

    Буржуи вот шьют Драконом: avrdude -P usb -c dragon_isp -p m32u4 -U flash:w:Caterina-fiov3.hex
    Видимо, чтобы прошить через USB - нужно указать правильный com-порт (понятно) и указать какой-то другой программатор (-с)?
    Какой? Не могу понять по документации. avr109 находится - оно?

    avrdude -v -e -P COM123 -c avr109 -p m32u4 -U flash:w:Caterina-fiov3.hex ?

    Кстати, родное fio от самой Ардуины так не прошьётся: там линии данных USB не заведены на контроллер.
     
    Последнее редактирование: 2 сен 2014
  6. Попробовал через USB: не перепрошиваются.
     
  7. Unixon

    Unixon Оракул Модератор

    Загрузчик в 32U4 через ISP, сам чип можно и от 5V питать, но если там регуляторы есть и схема от 3.3V работает, тогда через 220 Ом ~ 1 кОм резисторы.
     
  8. Немного разобрался, протокол там arduino, и плату можно привести в сознание вот такой командой:
    avrdude -v -e -P COM123 -c arduino -p m32u4
    Важно успеть запустить команду, пока порт подключен - cmd-файл пришлось написать, и в цикле запускать.

    Но загрузчик при этом не прошивается через USB, после попытки переписать верификация не проходит, и загрузчик остается старый: avrdude -v -e -P COM123 -c arduino -p m32u4 -U flash:w:Caterina-fiov3.hex

    Микроконтроллер работает от 3.3В.
    Вот это утверждение "схема от 3.3V работает, тогда через 220 Ом ~ 1 кОм резисторы" - я правильно понимаю, что "Arduino as ISP" должна нормально работать как программатор, только сигналы нужно будет подавать через резисторы?
     
  9. Unixon

    Unixon Оракул Модератор

    Да, можно попробовать такой вариант. Резисторы ограничат ток, а встроенная схема защиты входов сольет избыток напряжения в шину питания, в результате 5V сигналы обрежутся по уровню 3.3V и все будет работать как от 3.3V. Это довольно грубый и далеко не лучший способ согласования, но очень простой и вполне рабочий. Резисторы лучше взять побольше, чтобы не сильно нагружать защитные диоды.
     
  10. Перешился Ардуиной.
    Резисторы 360, жертв и разрушений нет. :)
    Спасибо.