Проблема с заливкой кода в Мегу >!!!<

ustas
Offline
Зарегистрирован: 12.03.2012

Сегодня около часа потерял на том, что внезапно Мега перестала шиться.. причем очень своеобразно. 

Скетч, над которым работаю до некоторых изменений, превосходно заливался и работал.

Сделал небольшие изменения (занимался отладкой и кое-какие данные хотел получить в Serial) и вдруг - не заливается скетч! Процесс начинается, светодиоды положенные моргают, но потом вдруг процесс останавливается, IDE ругается на таймаут при взаимодействии с программатором и т.п. Начал грешить на то, что битая мега (скетч довольно здоровый и все еще растет) - что просто не заливается из-за дефекта памяти.

Заливаю примитивный блинк - все работает. Заливаю одну из предыдущих версий скетча - работает. 

Заливаю последнюю версию скетча, на которой работать перестало - опять не работает. 

 

Кто "угадает" в чем проблема?

maksim
Offline
Зарегистрирован: 12.02.2012

!!!

Но тема всетаки ближе к программированию, чем к железу.

ustas
Offline
Зарегистрирован: 12.03.2012

Супер!!!

maksim
Offline
Зарегистрирован: 12.02.2012

Это беда бутлоудера, и как я понял именно у Меги, видать где-то !!! используется как какой-то идентификатор чего-то.

ustas
Offline
Зарегистрирован: 12.03.2012

Так отловил только после того, как сказал IDE выводить подробную информацию при заливке скетча.. так вот когда (глядя на светодиоды RX и TX) увидел, что добрались до места "затыка" в выводе стали  выводиться символы (по одному) из которых сложилось bootloader (если есть мега - гляньте, выглядит эпично).

И тут я вспомнил, что где-то про это уже читал (а уже начал продумывать, где я возьму новый чип и как его перепаять)...

chk
Offline
Зарегистрирован: 14.04.2013

вот и у меня беда аналогичная с мегой 2560 случилась - не заливается обновленная версия скетча. причем старая заливается и работает, и всякая мелкая хрень тоже заливается. может есть решение какое-н?

поправил немного код в loop(): вместо двух переменных типа String оставил одну. используется для подготовки значений к выводу на экран. странно как-то.. почему так оно все. Заработало.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Насколько помню, в бутлоадере !!! используется сознательно. Проблема решается перекомпиляцией бутлоадера. Да, это не для всех Ардуино

axill
Offline
Зарегистрирован: 05.09.2011

только вчера столкнулся с тем же - при попытке прошить вижу только сообщения о таймауте. В итоге вынул из запасника вторую мегу и продолжил писать. НО! у меня четко было понятно от чего мега перестала шиться - я в какой-то момент сделал глупость в коде и мега стала забивать в loop() без пауз Serial через Serial.print

Вот именно с этого момента мега и перестала шиться. Пробовал держать ресет перед запуском загрузчика - не помогло

Сегодня решил на шару еще раз попробовать - подключил и все прошилось. Видимо мой код без обвязки (были подключены ethernet shield и модуль nrf24) не входил в цикл где забивался Serial  и прошился на ура

не уверен, что у ТС таже проблема, но вполне может быть, так как и у него шиться перестало с какой-то версии кода

chk
Offline
Зарегистрирован: 14.04.2013

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

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Загрузчик пишется только через ISP, потому, если не работает, можно записать снова. Другое дело, что фьюзы, если нужно менять, нужно менять осторожно.
На счет компиляции, в двух словах не объяснить. Я писал про Ардуино16 (атмега16) и прикладывал файлы, поищите здесь на форуме, если непонятно там и спросите, объясню

Vadym
Vadym аватар
Offline
Зарегистрирован: 15.08.2013

На моей Mega 2560 R3 тоже вылез глюк, на плату можно залить программу до 106 кб, если чуть больше, вроде загрузка проходит, только потом экран становится белым и ничего не работает. Пробовал разные варианты, ничего не выходит. Кто то уже решал данную проблему?

maksim
Offline
Зарегистрирован: 12.02.2012

Шейте по ISP.

Looka
Offline
Зарегистрирован: 24.04.2012

Вроде была ссылка на  очень полезную тему 

 http://arduino.ru/forum/obshchii/arduino-ne-opredelyaetsya-kompyuterom-i-kak-eto-ispravit

 

Там Hocku     в виде инструкции оформил.  (пост  от  Пнд, 25/04/2011 - 22:32 )

koteishna
Offline
Зарегистрирован: 18.02.2012

Всем доброго дня!

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

Столкнулась с такой проблемой (стыдно признаться, но): полгода не пользовала 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 плата выбрана верная, напряжение на пинах - есть.

 

Спасибо!

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

драйвер видимо не встал... надыть 1.5.2 версию ставить и драйвер отудава должон встать на 8 винду как родной...

koteishna
Offline
Зарегистрирован: 18.02.2012

Спасибо! Вечером попробую. Параллельно полистала форум .cc - нашла обсуждение подобной проблемы, действительно, помогла переустановка драйвера.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

koteishna пишет:

Спасибо! Вечером попробую. Параллельно полистала форум .cc - нашла обсуждение подобной проблемы, действительно, помогла переустановка драйвера.

если верить форумам, то даже шаманские танцы с бубном помогают :) а не то что там какие то перестановки драйверов

koteishna
Offline
Зарегистрирован: 18.02.2012

Установка драйвера из IDE 1.5.2 не помогла =( Ребят, может есть еще идеи?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

ну самый простой вариант  првоерить встал ли драйвер правильно это перемкнуть на ардуинке TX0 - RX0 и послать чего нибуть через терминал если вернется значит драйвер стоит правильно и нада рыть дальше... если нет... то нада удалять драйвер и искать правильный

 

Fripe
Offline
Зарегистрирован: 28.07.2015

Ребят, подскажите

внезано перестал заливаться код на мегу (определяется нормально)

включаю в юсб, L два раза моргает (как и если ресет нажать) и все

при попытке загрузить скетч диоды rx tx не моргают,  получаю 

Global variables use 9 bytes (0%) of dynamic memory, leaving 8 183 bytes for local variables. Maximum is 8 192 bytes.
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
если прервать, при следущем будет
avrdude: ser_open(): can't open device "\\.\COM4": Отказано в доступе.
(ардуино 2560 весит на 4 ком порте)
пробовал менять драйвера, перезагружать плату
Windows 8 система
 
замыкал рх-тх, посылаю-не приходит....
Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Fripe пишет:

avrdude: ser_open(): can't open device "\\.\COM4": Отказано в доступе.
 
замыкал рх-тх, посылаю-не приходит....

ну, как бы проблема или аппаратная или с драйверами шняга какая приключилась.

какого рода помощь ты желаешь - ментальную или материальную?

Fripe
Offline
Зарегистрирован: 28.07.2015

Клапауций 999 пишет:

Fripe пишет:

avrdude: ser_open(): can't open device "\\.\COM4": Отказано в доступе.
 
замыкал рх-тх, посылаю-не приходит....

ну, как бы проблема или аппаратная или с драйверами шняга какая приключилась.

какого рода помощь ты желаешь - ментальную или материальную?

хотелось бы, чтобы плата заработала)

сейчас у друга стрелял такую же 2560-на ней все ок...

если аппаратная, есть варианты ремонта? или замена платы? схема там или что нибудь?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Клапауций 999 пишет:

какого рода помощь ты желаешь - ментальную или материальную?


материальную конечно.
пришли денег на новую плату или на две.

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Fripe пишет:

если аппаратная, есть варианты ремонта? или замена платы? схема там или что нибудь?

if (тестер && паяльник && прямые руки && электрическая схема халабуды && гугл) {варианты ремонта есть} else {вариантов ремонта нет}

 

gloomy
Offline
Зарегистрирован: 29.07.2015

Здравствуйте, вот  у меня произошла такая проблема . Когда я загружаю скетч в arduino mega 2560 выходит вот такая ошибка :
avrdude: stk500v2_getsync(): timeout communicating with programmer
подскажите что делать ?

Looka
Offline
Зарегистрирован: 24.04.2012

gloomy пишет:

Здравствуйте, вот  у меня произошла такая проблема . Когда я загружаю скетч в 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  плату правьльно выбрали?

gloomy
Offline
Зарегистрирован: 29.07.2015

13. Не забываем отпаять резистор от платы.
а какой резистор надо отпаять я так и не понял ?

можте подсказать ?

 

Looka
Offline
Зарегистрирован: 24.04.2012

gloomy пишет:

13. Не забываем отпаять резистор от платы.
а какой резистор надо отпаять я так и не понял ?

можте подсказать ?

Который припаяли  в пункте 3. 

alex_mouj
Offline
Зарегистрирован: 30.11.2015

Та же проблема. Я так понимаю ключевой коммент "Шейте по SPI". Изучаю вот эту статейку http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/ но не могу найти где лежит необходимый spi.h Наверное в последних версиях IDE всё изменилось. У меня записывается в Arduino только при отсоединенной Ethernet Shield. Но связаться с сервером после такой прошивки тоже не получается

Клапауций 777
Offline
Зарегистрирован: 21.11.2015

alex_mouj пишет:

но не могу найти где лежит необходимый spi.h

функция "поиск файла" не работает в твоей системе?

alex_mouj
Offline
Зарегистрирован: 30.11.2015

Находятся несколько штук, только ни в одном нет упомянутых строк. И в опомянутой директории этого файла нет. У меня установлена последняя Arduino IDE  1.7.8 Здесь SPI.h совсем не такой, как в примере по ссылке. Имеет ли смысл устанавливать старую IDE?

alex_mouj
Offline
Зарегистрирован: 30.11.2015

Еще вот тут http://forum.arduino.cc/index.php?topic=99880.15 предлагается конденсатор выпаять. Но на моем ethernet shield w5100 r3 не такое расположение деталей. А как не хотелось начинать программирование с пайки :)

alex_mouj
Offline
Зарегистрирован: 30.11.2015

А если на ethernet shield только индикатор on горит, a при присоединении сетевого кабеля от роутера на гнезде ничего не загорается - шильд совсем мертвый?

alex_mouj
Offline
Зарегистрирован: 30.11.2015

есть подозрение, что выгорели трансформаторы в штекере RJ45. их тут оказывается масса http://www.knap.at/datenblaetter/ste/ste_han_hy931147c.pdf

VictorNsk
VictorNsk аватар
Offline
Зарегистрирован: 27.09.2015

Возникла проблема. Нет связи с Arduino (Китай) в версии 1.6.8. В версии Arduino 1.6.6 проблем нет. СОМ порт СН340. Кто сталкивался с проблемой. Переустановка драйвера не помогает. 

Проблема самоустранилась. Версия 1.6.8 исчезла, стала 1.6.7 с инсталятором.

1WinD
Offline
Зарегистрирован: 04.02.2016

Проблему решил - была похожая проблема(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.

alexbmd
Offline
Зарегистрирован: 15.01.2016

добрый день други

поможите зааплоадить blink sketch, рассказываю попорядку:

новая китайская микро (32u4) с залитым blink скетчем, первое включение, определилась и установилась (драйвера из папки ардуино) как микро. скетч работает.

но в IDE Arduino 1.6.7 нет почемуто микро. выбераю board Leonardo. и пробую зашить скетч (многократно)

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);             
  digitalWrite(13, LOW);
  delay(1000);             
  digitalWrite(13, HIGH);
  delay(300);             
  digitalWrite(13, LOW);
  delay(300);             
  digitalWrite(13, HIGH);
  delay(300);             
  digitalWrite(13, LOW);
  delay(300);             
}

 

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 и как его выключить/починить ? ведь изначально не горел

alexbmd
Offline
Зарегистрирован: 15.01.2016

через сутки  появилась микро в листе. выбрал. перезалил скетч. перопределилась как микро, рх погас, блинк работает. чудеса.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

alexbmd пишет:

через сутки  появилась микро в листе. выбрал. перезалил скетч. перопределилась как микро, рх погас, блинк работает. чудеса.

нужно сходить в церковь и принести жертву Богу Дуино.

Kolaha
Offline
Зарегистрирован: 29.12.2016

у меня на версии 1.0.1 заливалось всё, Марлин, Репетир и что еще приходило в голову, причем на обе 340Г и 16у2.

а вот сейчас на версии 1.6.13 всё шьется только в 16у2, а 340Г только маленькие скетчи принимает.

платы Мега 2560 Р3

SrgChgn
Offline
Зарегистрирован: 17.01.2017

Доброго.

В наличии имеется 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) - выдает ошибку.

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM7 -b115200 -D -Uflash:w:C:\Users\srg\AppData\Local\Temp\arduino_build_33348/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Dec 16 2016 at 13:33:19
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM7
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
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

avrdude done.  Thank you.

Произошла ошибка при загрузке скетча

Во время попытки загрузки скетча, диод D1 горит постоянно, а D2 мигает перед появлением "timeout".

Подскажите, пожалуйста, что я сделал неправильно и как заставить плату работать.

Как, что и где посмотреть?

В поисках решения натыкался на сообщение, что надо замкнуть RX-TX и в монитор порта отправить сообщение.

Однако, так и не нашел на плате оных контактов.

Если через монитор попробовать что-то отправить без замыкания - D2 моргает, D3 молчит (оно и понятно почему).

 

Плата описана тут (стр. 26).

http://examen-technolab.ru/instuctions/tv-0441-m.pdf

 

p.s.:

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

Whitefoot-gl
Offline
Зарегистрирован: 29.01.2017

Добрый денть. И меня настигла эта дурацкая ошибка. Выдает при попытке загрузить скетч

avrdude:stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer

При этом старый скетч работает исправно и выдает в монитор порта данные, а также через монитор порта удается посылать команды и получать на них реакцию, т.е. связь с компом есть и usb работает. Драйверы переустановлены, IDE самой последней версии. 
Можно но ли предположить, что слетел загрузчик? Что в данной ситуации можно сделать ? На руках есть еще одна плата mega 2560 r3 рабочая, можно ли при попощи ее загрузчик перепрошить?
Kolaha
Offline
Зарегистрирован: 29.12.2016

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

 

Whitefoot-gl
Offline
Зарегистрирован: 29.01.2017

Kolaha пишет:
может порт занят чем-то, тем же монитором напр. или плата шлет непрерывно данные в него и нарушает процесс заливки.

Порт вроде бы свободен. Плата шлет данные каждую секунду. А есть возможность как-то сбросить прошитый скетч?

SrgChgn
Offline
Зарегистрирован: 17.01.2017

В коде загружаемого скетча нигде не фигурирует "!!!" ?

Если есть - уберите и все начнет грузиться.

В поисках решения своей проблемы натыкался на кучу подобных вопросов.

Whitefoot-gl
Offline
Зарегистрирован: 29.01.2017

SrgChgn пишет:
В коде загружаемого скетча нигде не фигурирует "!!!" ?

Если есть - уберите и все начнет грузиться.

В поисках решения своей проблемы натыкался на кучу подобных вопросов.

Подобного нет. Я сразу же попробовал загрузить простой пример с миганием диода на плате, который с ИДЕ идет. Но увы результат все тотже.

Kolaha
Offline
Зарегистрирован: 29.12.2016

комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?

SrgChgn
Offline
Зарегистрирован: 17.01.2017

Если найдете решение проблемы - отпишитесь пож-та

Whitefoot-gl
Offline
Зарегистрирован: 29.01.2017

Kolaha пишет:

комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?

Комп перезагружал, разьемы менял. Установил на планшет под управлением Win10 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту

Kolaha
Offline
Зарегистрирован: 29.12.2016

Whitefoot-gl пишет:

Kolaha пишет:

комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?

Комп перезагружал, разьемы менял. Установил на планшет под управлением Win10 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту

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

Whitefoot-gl
Offline
Зарегистрирован: 29.01.2017

Kolaha пишет:

Whitefoot-gl пишет:

Kolaha пишет:

комп перезагружать пробовал? к другому разьему подключать, на другом компе попробовать?

Комп перезагружал, разьемы менял. Установил на планшет под управлением Win10 ИДЕ и все дравйвера, на нем также выдает ошибку по таймауту

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

Да, вечером попробую прошить загрузчик при помощи другой ардуиной мега. Хочется все-таки удобства без всяких извратов прошивать скетчи, к томуже на этапе разработки это приходится делать часто.