Официальный сайт компании Arduino по адресу arduino.cc
Проблема с заливкой кода в Мегу >!!!<
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сегодня около часа потерял на том, что внезапно Мега перестала шиться.. причем очень своеобразно.
Скетч, над которым работаю до некоторых изменений, превосходно заливался и работал.
Сделал небольшие изменения (занимался отладкой и кое-какие данные хотел получить в Serial) и вдруг - не заливается скетч! Процесс начинается, светодиоды положенные моргают, но потом вдруг процесс останавливается, IDE ругается на таймаут при взаимодействии с программатором и т.п. Начал грешить на то, что битая мега (скетч довольно здоровый и все еще растет) - что просто не заливается из-за дефекта памяти.
Заливаю примитивный блинк - все работает. Заливаю одну из предыдущих версий скетча - работает.
Заливаю последнюю версию скетча, на которой работать перестало - опять не работает.
Кто "угадает" в чем проблема?
!!!
Но тема всетаки ближе к программированию, чем к железу.
Супер!!!
Это беда бутлоудера, и как я понял именно у Меги, видать где-то !!! используется как какой-то идентификатор чего-то.
Так отловил только после того, как сказал IDE выводить подробную информацию при заливке скетча.. так вот когда (глядя на светодиоды RX и TX) увидел, что добрались до места "затыка" в выводе стали выводиться символы (по одному) из которых сложилось bootloader (если есть мега - гляньте, выглядит эпично).
И тут я вспомнил, что где-то про это уже читал (а уже начал продумывать, где я возьму новый чип и как его перепаять)...
вот и у меня беда аналогичная с мегой 2560 случилась - не заливается обновленная версия скетча. причем старая заливается и работает, и всякая мелкая хрень тоже заливается. может есть решение какое-н?
поправил немного код в loop(): вместо двух переменных типа String оставил одну. используется для подготовки значений к выводу на экран. странно как-то.. почему так оно все. Заработало.
Насколько помню, в бутлоадере !!! используется сознательно. Проблема решается перекомпиляцией бутлоадера. Да, это не для всех Ардуино
только вчера столкнулся с тем же - при попытке прошить вижу только сообщения о таймауте. В итоге вынул из запасника вторую мегу и продолжил писать. НО! у меня четко было понятно от чего мега перестала шиться - я в какой-то момент сделал глупость в коде и мега стала забивать в loop() без пауз Serial через Serial.print
Вот именно с этого момента мега и перестала шиться. Пробовал держать ресет перед запуском загрузчика - не помогло
Сегодня решил на шару еще раз попробовать - подключил и все прошилось. Видимо мой код без обвязки (были подключены ethernet shield и модуль nrf24) не входил в цикл где забивался Serial и прошился на ура
не уверен, что у ТС таже проблема, но вполне может быть, так как и у него шиться перестало с какой-то версии кода
а как эта переклмпиляция делается? "Записать загрузчик" в стандартной среде ардуины - это оно? страшновато как-то делать...вдруг в кирпич превратится..
Загрузчик пишется только через ISP, потому, если не работает, можно записать снова. Другое дело, что фьюзы, если нужно менять, нужно менять осторожно.
На счет компиляции, в двух словах не объяснить. Я писал про Ардуино16 (атмега16) и прикладывал файлы, поищите здесь на форуме, если непонятно там и спросите, объясню
На моей Mega 2560 R3 тоже вылез глюк, на плату можно залить программу до 106 кб, если чуть больше, вроде загрузка проходит, только потом экран становится белым и ничего не работает. Пробовал разные варианты, ничего не выходит. Кто то уже решал данную проблему?
Шейте по ISP.
Вроде была ссылка на очень полезную тему
http://arduino.ru/forum/obshchii/arduino-ne-opredelyaetsya-kompyuterom-i-kak-eto-ispravit
Там Hocku в виде инструкции оформил. (пост от Пнд, 25/04/2011 - 22:32 )
Всем доброго дня!
Почитала форум, подобных вопросов не нашла, так что заранее прошу прощения: из-за моей невнимательности тема может быть немного "олдскул".
Столкнулась с такой проблемой (стыдно признаться, но): полгода не пользовала Arduino (Mega 2560). До этого всё было прекрасно, запрограммировала небольшого робота, плата не подводила. За полгода успела сменить ноутбук. Раньше была windows7, 32bit, а сейчас win8 и 64. Подключила, драйвер, конечно же, не встал. Скачала, поставила насильно. Скачала IDE 1.0.4. Не могу запустить даже сервопривод. Причем подключенный полгода назад UZ-дальномер по старому залитому скетчу исправно продолжает считывать расстояние, то есть плата вроде как в порядке.
Выдает:
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Вопрос: что это и как починить?
Предвосхищая возможные вопросы: шнур USB меняла, плату перезагружала, в IDE плата выбрана верная, напряжение на пинах - есть.
Спасибо!
драйвер видимо не встал... надыть 1.5.2 версию ставить и драйвер отудава должон встать на 8 винду как родной...
Спасибо! Вечером попробую. Параллельно полистала форум .cc - нашла обсуждение подобной проблемы, действительно, помогла переустановка драйвера.
Спасибо! Вечером попробую. Параллельно полистала форум .cc - нашла обсуждение подобной проблемы, действительно, помогла переустановка драйвера.
если верить форумам, то даже шаманские танцы с бубном помогают :) а не то что там какие то перестановки драйверов
Установка драйвера из IDE 1.5.2 не помогла =( Ребят, может есть еще идеи?
ну самый простой вариант првоерить встал ли драйвер правильно это перемкнуть на ардуинке TX0 - RX0 и послать чего нибуть через терминал если вернется значит драйвер стоит правильно и нада рыть дальше... если нет... то нада удалять драйвер и искать правильный
Ребят, подскажите
внезано перестал заливаться код на мегу (определяется нормально)
включаю в юсб, L два раза моргает (как и если ресет нажать) и все
при попытке загрузить скетч диоды rx tx не моргают, получаю
ну, как бы проблема или аппаратная или с драйверами шняга какая приключилась.
какого рода помощь ты желаешь - ментальную или материальную?
ну, как бы проблема или аппаратная или с драйверами шняга какая приключилась.
какого рода помощь ты желаешь - ментальную или материальную?
хотелось бы, чтобы плата заработала)
сейчас у друга стрелял такую же 2560-на ней все ок...
если аппаратная, есть варианты ремонта? или замена платы? схема там или что нибудь?
какого рода помощь ты желаешь - ментальную или материальную?
материальную конечно.
пришли денег на новую плату или на две.
если аппаратная, есть варианты ремонта? или замена платы? схема там или что нибудь?
Здравствуйте, вот у меня произошла такая проблема . Когда я загружаю скетч в arduino mega 2560 выходит вот такая ошибка :
avrdude: stk500v2_getsync(): timeout communicating with programmer
подскажите что делать ?
Здравствуйте, вот у меня произошла такая проблема . Когда я загружаю скетч в arduino mega 2560 выходит вот такая ошибка :
avrdude: stk500v2_getsync(): timeout communicating with programmer
подскажите что делать ?
Ардуинка Ваша живая? Работала до этого? С драйвером все в порядке?
Может поммочь перепрошивка ATmega8U2, которая обеспечиввает интерфейс через USB
Информации в сети куча, например
http://arduino.su/Tutorial/instrukciya-po-pereproshivke-kontrollera-atmega8u2-dlya-arduino-uno-ili-mega2560
И в первую очередь проверьте, в IDE плату правьльно выбрали?
13. Не забываем отпаять резистор от платы.
а какой резистор надо отпаять я так и не понял ?
можте подсказать ?
13. Не забываем отпаять резистор от платы.
а какой резистор надо отпаять я так и не понял ?
можте подсказать ?
Который припаяли в пункте 3.
Та же проблема. Я так понимаю ключевой коммент "Шейте по SPI". Изучаю вот эту статейку http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/ но не могу найти где лежит необходимый spi.h Наверное в последних версиях IDE всё изменилось. У меня записывается в Arduino только при отсоединенной Ethernet Shield. Но связаться с сервером после такой прошивки тоже не получается
но не могу найти где лежит необходимый spi.h
функция "поиск файла" не работает в твоей системе?
Находятся несколько штук, только ни в одном нет упомянутых строк. И в опомянутой директории этого файла нет. У меня установлена последняя Arduino IDE 1.7.8 Здесь SPI.h совсем не такой, как в примере по ссылке. Имеет ли смысл устанавливать старую IDE?
Еще вот тут http://forum.arduino.cc/index.php?topic=99880.15 предлагается конденсатор выпаять. Но на моем ethernet shield w5100 r3 не такое расположение деталей. А как не хотелось начинать программирование с пайки :)
А если на ethernet shield только индикатор on горит, a при присоединении сетевого кабеля от роутера на гнезде ничего не загорается - шильд совсем мертвый?
есть подозрение, что выгорели трансформаторы в штекере RJ45. их тут оказывается масса http://www.knap.at/datenblaetter/ste/ste_han_hy931147c.pdf
Возникла проблема. Нет связи с Arduino (Китай) в версии 1.6.8. В версии Arduino 1.6.6 проблем нет. СОМ порт СН340. Кто сталкивался с проблемой. Переустановка драйвера не помогает.
Проблема самоустранилась. Версия 1.6.8 исчезла, стала 1.6.7 с инсталятором.
Проблему решил - была похожая проблема(avrdude: stk500_getsync() attempt 1 of 10).
перепробовал держать резет, перемыкать TX-RX - ничего не помогало.
Нашёл решение на forum.arduino.cc:
Необходимо раскромсать кабель ЮСБ. Сделать отключаемым провод D-(у меня был белый). Подключаем в ПК(все 4 провода ЮСБ подключены). Устройство определилось нормально. Начинаем загружать скетч(взял самый короткий для скорости - почти пустой "void setup() {}void loop() {}") и отключаем его(провод D-). Вроде как пробовал 2 раза для уверенности! на 3-й раз вылезла ошибка - ошибка доступа к КОМ-порту. Вытащил провод, воткнул обратно и вуаля - видится нормально и прошивается тоже.
Сразу скажу - я точно знал что проблема не в проводе (у меня несколько ардуин и с ними всё ок), я точно знал что проблема не в драйвере(была идентичная ардуина и она прошивалась норм). И я точно знал, что проблема в передаче данных от ардуины в ПК, которые видимо мешали загрузчику(дело в том, что последний скетч загруженный в ардуину был вывод в терминал данных с датчика температуры и когда я подключал её - она постоянно передавала сообщения в терминал).
Кстати - прошивал на обычной скорости 9600 ком-порта. Версия софта 1.6.7 выбор настроек:arduino nano/atmega328/программатор arduino на ISP.
добрый день други
поможите зааплоадить blink sketch, рассказываю попорядку:
новая китайская микро (32u4) с залитым blink скетчем, первое включение, определилась и установилась (драйвера из папки ардуино) как микро. скетч работает.
но в IDE Arduino 1.6.7 нет почемуто микро. выбераю board Leonardo. и пробую зашить скетч (многократно)
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44
avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: ser_send(): write error: sorry no info avail
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
и ничего!
почитал чуть ветку и выбераю тогда стандартный blink. шью. ардуино мне почемуто переделала мой МК в леонардо (как?) и залило успешно обычный блинк скетч. НО теперь стал постоянно гореть микро лед RX
после этих изменений пробую еще раз зашить мой скетч. и теперь все заливается. но плата так и осталась леонардо и RX так и горит.
1) почему изначально мой скетч не хотел заливаться а blink залился ?
2) как переделать обратно плату в микро ?
3) почему постоянно горит RX и как его выключить/починить ? ведь изначально не горел
через сутки появилась микро в листе. выбрал. перезалил скетч. перопределилась как микро, рх погас, блинк работает. чудеса.
через сутки появилась микро в листе. выбрал. перезалил скетч. перопределилась как микро, рх погас, блинк работает. чудеса.
нужно сходить в церковь и принести жертву Богу Дуино.
у меня на версии 1.0.1 заливалось всё, Марлин, Репетир и что еще приходило в голову, причем на обе 340Г и 16у2.
а вот сейчас на версии 1.6.13 всё шьется только в 16у2, а 340Г только маленькие скетчи принимает.
платы Мега 2560 Р3
Доброго.
В наличии имеется ATmega2560 производства "ТехноЛаб".
Плата представляет собой связку 16u2+2560
На ней 3 светодиода (D1 - отдельно; D2, D3 - рядом).
"Из коробки" ни один МК не был прошит вовсе (как сказал гугл).
О чем производитель, естественно, тактично умолчал.
В диспетчере устройств Windows7x64 показывался 16u2.
Куплен программатор USBasp и через ISP прошита сначала 16u2 (прошивка из состава Arduino IDE 1.8.0 файл: Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex).
Windows увидела COM-устройство, на которое посредством Arduino IDE был залит загрузчик (Плата: Mega 2560, Процессор: 2560, Программатор: USBasp).
При подключении платы к компьютеру через USB, диод D1 мигает (секунду горит, секунду не горит).
Пробую залить любой скетч (программатор: AVRISP mkII) - выдает ошибку.
Во время попытки загрузки скетча, диод D1 горит постоянно, а D2 мигает перед появлением "timeout".
Подскажите, пожалуйста, что я сделал неправильно и как заставить плату работать.
Как, что и где посмотреть?
В поисках решения натыкался на сообщение, что надо замкнуть RX-TX и в монитор порта отправить сообщение.
Однако, так и не нашел на плате оных контактов.
Если через монитор попробовать что-то отправить без замыкания - D2 моргает, D3 молчит (оно и понятно почему).
Плата описана тут (стр. 26).
http://examen-technolab.ru/instuctions/tv-0441-m.pdf
p.s.:
плат таких много, у всех один и тот же диагноз - не заливаются скетчи.
Добрый денть. И меня настигла эта дурацкая ошибка. Выдает при попытке загрузить скетч
avrdude:stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer
может порт занят чем-то, тем же монитором напр. или плата шлет непрерывно данные в него и нарушает процесс заливки.
Порт вроде бы свободен. Плата шлет данные каждую секунду. А есть возможность как-то сбросить прошитый скетч?
В коде загружаемого скетча нигде не фигурирует "!!!" ?
Если есть - уберите и все начнет грузиться.
В поисках решения своей проблемы натыкался на кучу подобных вопросов.
Если есть - уберите и все начнет грузиться.
В поисках решения своей проблемы натыкался на кучу подобных вопросов.
Подобного нет. Я сразу же попробовал загрузить простой пример с миганием диода на плате, который с ИДЕ идет. Но увы результат все тотже.
комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?
Если найдете решение проблемы - отпишитесь пож-та
комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?
Комп перезагружал, разьемы менял. Установил на планшет под управлением Win10 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту
комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?
Комп перезагружал, разьемы менял. Установил на планшет под управлением Win10 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту
комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?
Комп перезагружал, разьемы менял. Установил на планшет под управлением Win10 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту
Да, вечером попробую прошить загрузчик при помощи другой ардуиной мега. Хочется все-таки удобства без всяких извратов прошивать скетчи, к томуже на этапе разработки это приходится делать часто.