Как загрузить BootLoader в ATmega2560? Все варианты!

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY
Ответить
idealsoul
Сообщения: 26
Зарегистрирован: 29 ноя 2012, 17:33
Откуда: Москва
Контактная информация:

Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение idealsoul »

Доброй ночи, уважаемые Все!
Огромное количество времени было потрачено на изготовление "своей" ардуины для робота на шести лапах. Решил не мелочиться и использовал ATmega2560. Сначала использовал ArduinoMega2560 с рукотворным шилдом, но конструкция получилась громоздкая, это и послужило толчком к изготовлению управляющей платы самому. Необходимым количеством серво можно управлять только на ATmega2560, вот и пришлось постараться. Но это прелюдия, теперь по существу.... При попытке залить BootLoader в свою плату на ATmega2560 через Arduino UNO в роли ISP программатора выпадает вот такое сообщение:
" avrdude: verification error, first mismatch at byte 0x1e000 0xff != 0x0d
avrdude: verification error; content mismatch "
Для интереса залил бутлоадер в ATmega328, проблем НОЛЬ! А вот мегу никак не могу прошить.
Еще подробнее:
Arduino Uno ---------------ATmega2560
pin D10----------------------Reset
pin D11(MOSI)-------------pin D51( MOSI), он же PB2
pin D12(MISO)--------------pin D50(MISO), он же PB3
pin D13(sck)-----------------pin D52(sck), он же PB1
Reset 2560 подтянут к +5В через 10 кОм.
Установлен конденсатор 20 мкФ на UNO между Reset и Gnd.
Кварц 16МГц и кондеры к нему на 22пФ.
Все пины Gnd и +5V на 2560 задействованы, между землей и питанием стоят кондеры на 0,1 мкФ и 50 мкФ.
Думал, может не так что-то припаялось на плате, поэтому распаял на макетке другой МК ATmega2560 тонкими "волосками" из многожильного провода. Все тоже самое - BootLoader не грузится.
Внимание, вопрос: WTF? И как залить BootLoader? У меня еще есть AVRISP mkII, может через него можно?
Рассмотрю любые теории , версии и предложения.
Последний раз редактировалось idealsoul 29 июл 2013, 19:03, всего редактировалось 1 раз.
Проживи эту жизнь счастливо и получи вторую в подарок!
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение Mr.Kubikus »

В офисе валяется отладочная Мега. Завтра попробую прошить. По результатам отпишусь.
С уважением, Григорий
GitHub FB ВК
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение Mr.Kubikus »

Что-то совсем вылетело из головы, что надо проверить Мегу.

Итак, мои результаты:

Для проверки я использовал плату Arduino Mega Rev 3, программатор Olimex AVR ISP и среду разработки Arudino IDE 1.0.5:
20130813-IMG_1588-2.jpg
20130813-IMG_1588-2.jpg (77.56 КБ) 34632 просмотра
Для того чтобы загрузчик нормально загружался во флеш ATmega2560 из Arudino IDE 1.0.5 мне пришлось добавить в список программаторов свою конфигурацию. Для этого в конец файла arduino-1.0.5\hardware\arduino\programmers.txt я добавил следующие строки:

Код: Выделить всё

olimexisp.name=AVR ISP 500 Olimex
olimexisp.communication=serial
olimexisp.protocol=stk500v2
Перед прошивкой загрузчика необходимо выбрать в меню Tools следующие настройки:
Board: Arduino Mega 2560 or Mega ADK
Serial Port: Последовательный порт, к которому подключен программатор. У меня com32.
Programmer: AVR ISP 500 Olimex

Затем запустить процесс с помощью меню Tools->Burn Bootloader. Прошивка занимает достаточно много времени. У меня ушло примерно 5 минут.

В конце появляется сообщение:

Код: Выделить всё

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x1e000
         0xff != 0x0d
avrdude: verification error; content mismatch
На это сообщение можно не обращать внимание. Загрузчик уже прошит во флеш контроллера. Можно заливать скетчи через последовательный порт.

Полезные ссылки:
1. Platforms - The format of files and folders in an Arduino hardware platform
2. Notes on Arduino Mega 2560 boot loader
3. AVR Tutorial Starting out with avrdude
С уважением, Григорий
GitHub FB ВК
idealsoul
Сообщения: 26
Зарегистрирован: 29 ноя 2012, 17:33
Откуда: Москва
Контактная информация:

Re: Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение idealsoul »

Спасибо за ответ. Завтра получу Olimex AVR ISP и сразу пробовать. Мне только вот не понятно, почему среда программирования 1.0.5 не видит AVRISP mkII, ведь в списке он есть. Может это у меня что-то не так, но AVRISP mkII определяется как USB устройство, а не COM порт. С другой стороны AVR Studio 4 все видит и работает, лично проверено на разных МК. Странно все это.... Как ни крути, а с мегой опять трудности. Надеюсь они стоят этого. Если все получится, обязательно расскажу и покажу ради чего все это затевалось.
Еще раз спасибо.
Проживи эту жизнь счастливо и получи вторую в подарок!
idealsoul
Сообщения: 26
Зарегистрирован: 29 ноя 2012, 17:33
Откуда: Москва
Контактная информация:

Re: Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение idealsoul »

Таааааа-дааааааа!!!!!!
AVR ISP от Olimex на руках! Как и обещал, сразу пробовать, бросив все дела! Дело было так.......
Подключил программатор к компу, не определился, скачал дрова в сети и все успешно установилось. В системе программатор называется: Olimex Virtual COM - AVR-ISP500 (COM24), среда 1.0.5 видит его как: AVR ISP 500 Olimex. Обнадеживает.
Отключаю 6-ти пиновые и 10-ти пиновые провода от программатора. Делаю свой проводок, в котором подписан каждый вывод (RESET, SCK, MISO, MOSI, GND, +5V), теперь можно работать.
Для проверки пишу загрузчик в ATmega168 (не очень жалко спалить). Все проходит успешно за несколько секунд. Индикатор на программаторе то загорается, то гаснет, после успешной записи загрузчика загорается зеленым.
Теперь самый ответственный момент.... ATmega2560 уже заждалась. Одна распаяна на центральной плате гексапода, решил с ней работать только когда все будет изучено, а тем временем распаял еще одну мегу2560 на макетной плате. Методику распайки назвал условно "в раскоряку" - брал тонкие "волоски" из многожильного провода и подпаивал к конкретным ножкам, мега2560 лежит "на спине". На фото все хорошо видно.
ATmega2560 на макетной плате.jpg
ATmega2560 на макетной плате.jpg (301.5 КБ) 34609 просмотров
Система для работы с ATmega2560 на макетной плате.jpg
Система для работы с ATmega2560 на макетной плате.jpg (384.07 КБ) 34609 просмотров
В среде 1.0.5 выбираю плату Mega2560, COM 24 (номер можно посмотреть в Диспетчере устройств винды). Программатор выбираем AVR ISP 500 Olimex, определился автоматически. Все подключено и готово к запуску.... Нажимаю "Записать загрузчик"..... Начинается запись. Все около 5 +/-2мин. Завершается все это ошибкой, немного насторожило, но иду дальше. Подключаю адаптер на FT232 RX-TX, TX-RX, Reset-Reset, GND-GND. Выбираю классический скетч Blink и наживаю загрузить....
Этапы загрузки.jpg
Этапы загрузки.jpg (425.64 КБ) 34609 просмотров
Готово! Ура, товарищи!!! Все успешно прошло! Теперь можно спокойно заливать скетч в мегу, которая уже распаяна на плате.
Спасибо всем сопереживающим!!!
Отдельное спасибо Mr.Kubikus!!!
Проживи эту жизнь счастливо и получи вторую в подарок!
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение Mr.Kubikus »

Хорошая новость. Поздравляю!

Отдельно порадовала технология распайки чипа на макетке. Надо будет как-нибудь попробовать.
С уважением, Григорий
GitHub FB ВК
santa
Сообщения: 1
Зарегистрирован: 30 апр 2014, 13:02

Re: Как загрузить BootLoader в ATmega2560? Все варианты!

Сообщение santa »

У меня проблема
при откате на 3 0 1
глюкнул комп и все выдает это

avrdude: warning: cannot set sck period. please check for usbasp firmware update
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.

что- бы не делал не могу реанимировать
выше действия помогут или нет?
или есть другии идеи
ну блин 80$ терять тоже неочень хотелось-бы

робовал такие действия
как в этом посте
http://www.ladyada.net/learn/avr/avrdude.html
может что то не то делаю
с разными программаторами
выдает все одно

C:\Avrdude>avrdude -c stk500 -p m2560 -U flash:w:test_leds.hex

avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.


помогите плиииззз
Ответить