Проблема с заливкой кода в Мегу >!!!<
- Войдите на сайт для отправки комментариев
Сегодня около часа потерял на том, что внезапно Мега перестала шиться.. причем очень своеобразно.
Скетч, над которым работаю до некоторых изменений, превосходно заливался и работал.
Сделал небольшие изменения (занимался отладкой и кое-какие данные хотел получить в 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 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту
Да, вечером попробую прошить загрузчик при помощи другой ардуиной мега. Хочется все-таки удобства без всяких извратов прошивать скетчи, к томуже на этапе разработки это приходится делать часто.