Слетел загрузчик Arduino Uno

Тема в разделе "Arduino & Shields", создана пользователем kt315where, 20 фев 2018.

  1. kt315where

    kt315where Гик

    Здравствуйте

    Uno (копия)

    При заливке большого скетча случилась ошибка и потом плата перестала прошиваться...

    консоль IDE выдала вот это

    Код (C++):
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
    это было шоком для меня, т.к столкнулся с этим впервые за все время работы с ардуинами. возился несколько часов, что только не делал. в итоге нашел информацию о слетающем загрузчике, к счастью нашел в своих запасах программатор USBasp, правда 6 пиновый, который года три лежал без дела. перезалил загрузчик через USBasp и плата ожила.

    Сосбтвенно, с чем это связанно? в оригинальных ардуинах есть такой же глюк, или только в китайцах?
     
  2. Airbus

    Airbus Радиохулиган Модератор

    А при чем здесь Китайцы?AVR ATMega328 производиться компанией Atmel и используется не только и не столько в Ардуино.У меня есть самодельная Ардуина на Меге 8 и что это значит made in Russia?
     
    Последнее редактирование: 20 фев 2018
    kt315where нравится это.
  3. b707

    b707 Гуру

    kt315where - не сочтите за шутку - в том коде, что "сломал" загрузчик, случайно, нет три восклицательных знака подряд?
     
    kt315where и arkadyf нравится это.
  4. kt315where

    kt315where Гик

    Восклицательных знаков не было, но там было много одинаковых строчек в Serial, точнее несколько одинаковых проверок значения indexOf из string (val). Заливая эту прошивку я просто из личного интереса проверял, сколько памяти МК сжирают созданые команды для serial. Есть какая-то взаимосвязь?
     
  5. kt315where

    kt315where Гик

    Я бы скинул код, но он не сохранился к сожалению.
     
  6. А еще раз попробовать залить тот же скетч?
    Похожая ситуация была, но как-то решилась без перепрошивки загрузчика.
     
    kt315where нравится это.
  7. kt315where

    kt315where Гик

    скетч к сожалению не сохранился...
    Когда это произошло с моей ардуиной, она вообще перестала прошиваться любыми скетчими, даже пустой скетч не загружался, была ошибка загрузки в плату. Оживил плату только через программатор, как уже писал выше
     
  8. kt315where

    kt315where Гик

    Добавлю еще - я загружал оооочень большой скетч. память была на пределе. Может из-за этого еще
     
  9. danya plotnik

    danya plotnik Гик

    Сколько памяти занимал?
     
    kt315where нравится это.
  10. Airbus

    Airbus Радиохулиган Модератор

    Вряд ли.Если память позволяет компилятор загрузит.Если нет то нет.И так со всеми средаим разработки независимо на чем Вы пишете Си Асме или Барсике.Загружается не код а НЕХ файл.А вот насчет восклицательных знаков стало интересно.
     
    kt315where нравится это.
  11. danya plotnik

    danya plotnik Гик

    Когда я загружал скетч больше 5 мб, то у меня была ошибка динамической памяти
     
    kt315where нравится это.
  12. Airbus

    Airbus Радиохулиган Модератор

    Ты о чем Родной?Там флэш 32 Килобайта.
     
    kt315where нравится это.
  13. danya plotnik

    danya plotnik Гик

    Перепутал, 5 килобайт
     
    kt315where нравится это.
  14. kt315where

    kt315where Гик

    около 80-90%
     
  15. danya plotnik

    danya plotnik Гик

    Я думаю слишком много памяти было...
     
  16. NikitOS

    NikitOS Король шутов Администратор

    Какая разница сколько памяти занял скетч, при перепрошивке память от старой прошивки чистится. Если конечно код не использует больше памяти чем надо.
     
  17. parovoZZ

    parovoZZ Гуру

    Я вообще не понял этой фразы. Какая память? Флэш, регистровая, оперативная, еепром? Много памяти где было? В компе, в ардуине?
     
  18. Airbus

    Airbus Радиохулиган Модератор

    Он думает что думает..
     
  19. danya plotnik

    danya plotnik Гик

    Много памяти занимала динамическая память в ардуино
     
  20. parovoZZ

    parovoZZ Гуру

    Компилятор отслеживает это дело. Если адресное пространство закончилось, так и проект не соберется.
     
    Airbus нравится это.