CraftDuino v2.0
  • - это CraftDuino - наш вариант полностью Arduino-совместимой платы.
  • CraftDuino - настоящий конструктор, для очень быстрого прототипирования и реализации идей.
  • Любая возможность автоматизировать что-то с лёгкостью реализуется с CraftDuino!
Просто добавьте CraftDuino!

Прошивка бутлоадера

Бутлоадер, как уже упоминали, прошивается в ардуину через SPI. Значит, если собрались делать ардуину сами, всё-таки придётся собрать простенький программатор. Чтоб прошить бутлоадер из под ArduinoIDE (а так проще всего) необходим программатор под названием DAPA.

Ну чтож попробуем соберём…
Вот такой получился
.
.
.
.
.
.
.
.
.
.
.
.
.

Запускаем IDE, выбираем тип платы Atmega8,втыкаем шнурок в LPT, Подаём на плату питание,
.
.
.
.
.
.
.
.
.
.
.

Командуем IDE шить бутлоадер…

мучительно ждём…ждём ……выскакивает такая штука…

.
.
.
.
.
.

хм, беру другой шнурок (stk200/300) включаю другую софтину(CodeVisionAVR) – читается/шьётся? а этим шнурком только с 4-5 раза… проверяю всё несколько раз – всё верно…
Начинаем эксперименты! Первым делом экранирую шнурок:

.
.
.
.
.
.
.
.
.

Никакого впечатления… уменьшаем резисторы до 150ом как в обычном — народном программаторе… никаких изменений, убираю резисторы — чуть лучше с 2-3раза шьётся, укоротил провод…ещё…ещё…до предела…есть контакт — 10 из 10!
Вожделенная надпись и укороченный, но стабильный шнурок — без резисторов=/.

То что без резисторов — это плохо – LPT жалко. Вот товарищ Илья Данилов
говорит, что если питать ардуину от того-же LPT то всё прилично работает…но этого мне даже пробовать не хочется. Можно конечно запитаться не от худосочного принтерного порта, а откуда-нибудь с фишки питания, например, флоповода (красный провод +5в) может поможет. Но мы пойдём другим путём! Есть у меня старый проверенный во всех условиях и на всех компах шнурок STK200/300:

.
.
.
.
.
.
.
.
.
.

Лучше попробуем его подружить с ArduinoIDE.
Лезем в arduino-0015\hardware\tools\avr\etc\avrdude.conf
вдумчиво читаем, что вначале написано, вникаем, готовимся вписать новый программатор, листаем до “PROGRAMMER DEFINITIONS” ищем куда и что вписать… и с удивлением узнаём что ардуина понимает кучу программаторов и среде них, в секции ”Parallel port programmers”
stk200! Просто всё это добро спрятано от народа! Остаётся только вписать в файл “arduino-0015\hardware\programmers.txt” следующее:

stk200.name=STK200
stk200.protocol=stk200


И запустить ArduinoIDE:
Кроме того, пришлось побороть некоторое разнообразие видов разьёмов внутрисхемного программирования
.
.
.
.
.
.
.
.
.
.
.

И сделать такой переходник
Всё заработало и весьма стабильно – 10 из 10 раз прошилось успешно!

.
.
.
.
.
.
.
.
.

И с программатором “4 резистора” тот же эффект!

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Резюмируя: собираем шнурок “5 проводков- 4резистора” (с разьёмом AVR910)
пишем две строчки в programmers.txt
шьём и радуемся

Схемки обоих вариантов STK200 лежат у нас тут.
Про источники моей паранойи про прошивку не с первого раза можно почитать тут.

далее: Программирование Arduino — Физика процесса.
  • +2
  • 2 августа 2009, 18:42
  • Zoltberg

Комментарии (71)

RSS свернуть / развернуть
+
0
Подскажите пожалуйста.

Я собрал программатор:
easyelectronics.ru/avr-shag-pervyj-programmator

По схеме все верно (травил плату).
Микроконтроллер читается:

root@Anatoly:~# /usr/local/bin/avrdude -n -c test -P /dev/ttyS0 -p m8
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0×1e9307
avrdude: safemode: Fuses OK
avrdude done. Thank you.

Я попытался прошить в него bootloader от arduino.
Конечно через arduino:
www.arduino.cc/en/Main/Software

После прошивки, МК перестал у меня отвечать… :(
Коллега, подскажите пожалуйста как быть?
МК умер? Или его так нельзя убить?

Теперь он выдает это:

root@Anatoly:~# /usr/local/bin/avrdude -n -c test -P /dev/ttyS0 -p m8
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.

Спасибо,
Анатолий!
avatar

AnatolyUnix

  • 16 февраля 2010, 14:04
+
0
Питание есть?=)
Убить-сложно, а вот фьюзы мусором набить. это сколько угодно=\
Вы использовали «программатор громова»?
Шили через ArduinoIDE?
Опишите подробней — что и как делали, будет проще разобратся.

Ну а так, первое что в голову приходит — пальцем затактировать=)- утыкаем в 9-ю ногу что-нибудь металлическое и неизолированныое (иголку, тонкий пинцет) и (неотпуская=) пробуем шить.
Наводки с тела, 50Гц восновном, затактируют контролер (а AVR-у, к счастью, всёравно на сколь низкой частоте работать).
Сначала читаем — если читается, значит и шится будет — шьём фьюзы правильными значениямим.
Часто помогает=)
avatar

Zoltberg

  • 17 февраля 2010, 20:48
+
0
Получилось, посадил на xtal1, xtal2 кварц через 2-а кондера 22пФ на землю.
Стал отвечать. Прошить отдельным программатором (да громова) не удалось. Почему-то подвисает и потом просто молчит arduino. Ну да ладно. Собрал через 3-и резистора на LPT. Прошился удачно. Сразу залить тестовую прошивку не удалось

avrdude: stk500_getsync(): not in sync: resp=0x34
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Оказался маленький протрав у дороги от конденцатора С9 и землей.
Пропаял одной жилкой из провода.
(у меня таких протравов еще 4-е штуки было, они очень маленькие даже на просвет)

И получилось прошить тестовый скетч. Еще я стабилитрон взял L7805CP, а у него порог от 7в до 20в на входе.
На выходе 5в. Заметил это только пройдя по схеме тестером и западозрив неладное. =)

Теперь все работает. Могу дать фотки. Можно к статье приложить, как еще одна «истоия успеха». =)
avatar

AnatolyUnix

  • 18 февраля 2010, 00:06
+
+1
Поздравляю=)
Да, без кварца то работать не будет — (если говорить про ардуину) там фьюзы именно под кварц выставленны.
Фотки — на ваше усмотрение=) Можёте запостить в своём блоге, например=)/
С небольшим отчётом.
И планами на будущее;)
avatar

Zoltberg

  • 18 февраля 2010, 00:26
+
0
«пальцем затактировать» — это сильно! ;-)))
avatar

AnatolyUnix

  • 18 февраля 2010, 16:25
+
0
Здравствуйте, помогите с проблемой. Спаял Arduino, спаял программатор Громова. Настроил Avrdude для работы с программатором — контроллер читался. Добавил этот программатор в ArduinoIDE — запустил запись загрузчика — сразу выскочило сообщение что до контроллера не достучаться типа попробуйте -F… и все, сразу после этого Avrdude перестал видеть контроллер — неправильная сигнатура — нули вместо числа :(. ОС — Linux. Подскажите как восстановить. Пробовал затактировать 9-ю ногу внешним генератором на 250 кHz и тишина — не видит. Можно ли восстановить не прибегая к высоковольтному программатору?
avatar

jskonst

  • 20 июля 2010, 17:23
+
0
У мнея было несколько раз — сигнатура не читается, а фьюзы и флеш с эпромом — шьются-читются.(а потом и сигнатура читаться начиниет=)
Вопщем проверьте всё по два раза — питание, сброс (Rest должен быть подтянут 10к резистором к питанию)соединения с разьёмом SPI и сам прогорамматор.
Попробуйте другой программой прочитать содержимое фьюзов(при внешней тактировке)и проверьте их состояния. Попробуйте пропускать проверку сигнатуры, иногда помогает…
А высоковольтный программатор не заменить особо нечем, только если житагом=)
avatar

Zoltberg

  • 20 июля 2010, 20:31
+
0
а, не, отбой=( это меня по жаре переклинило — житаг то только с 16меги есть. У таких малоножных как 8-168-328 нету=(
так что если с пальцем или генератором не выходит — в стол — ждать высоковольтного программатора.
avatar

Zoltberg

  • 24 июля 2010, 13:10
+
0
Нашел высоковольтный программтор — все, дохлые процы :(. Больше я этот программатор не торогаю :)
avatar

jskonst

  • 27 июля 2010, 23:00
+
0
Возник один вопрос. Если шить загрузчик через Arduino IDE фьюзы надо настраивать или они автоматически настраиваются.
avatar

dima

  • 16 августа 2010, 09:52
+
0
автоматически
avatar

Zoltberg

  • 16 августа 2010, 22:34
+
0
день добрый! есть вопрос. собрал ардуино на атмеге 8. прошил бутлоадер программатором от protoss'a. а вот какие фьюзы выставить не знаю. при подаче питания светодиод моргает 8 раз с частотой примерно 1 Гц. проблема со связью с ПК. при вынутой из панельки атмеге замыкаю 2-ю и 3-ю ноги и делаю тест com-порта. все проходит. а вот скетч залить не могу. подскажите, плиз, в чем может быть причина?
avatar

nek

  • 25 августа 2010, 18:04
+
+1
угу, фьюзы надо установить. Тут про них написанно.
avatar

Zoltberg

  • 25 августа 2010, 23:01
+
+1
Zoltberg, СПАСИБО!
с АТмегой_8 получилось, со 168-й пока никак, ну да ладно, разберусь.
avatar

nek

  • 26 августа 2010, 14:35
+
0
Подскажите пожалуйста, я залил hex для atmega8, который шел с arduino0019, через avrdude, правильно ли я понял из коммента выше, что для прошивки скетча через последовательный порт необходимо правильно выставить фьюз-биты? А то как-то страшновато, у меня уже несколько залоченных процов :(.
avatar

jskonst

  • 7 сентября 2010, 23:24
+
0
шейте через Ардуино ИДЕ, как в статье, там сразу и фьюзы встанут и загрузчик, и запортить что-то сложно. Вы для аврдьюда какой программатор использовали?
avatar

Zoltberg

  • 7 сентября 2010, 23:28
+
0
Я использовал Dapa-программатор. Ладно, сейчас рискну.
avatar

jskonst

  • 7 сентября 2010, 23:40
+
0
Все — avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA8 is 1E 93 07
avrdude: AVR device not responding
avrdude: verification error, first mismatch at byte 0x1c00
0x12 != 0xff
avrdude: verification error; content mismatch
Это через ArduinoIDE. Еще один контроллер накрылся. Через AVRDUDE не могу прочитать микроконтроллер.
avatar

jskonst

  • 7 сентября 2010, 23:44
+
0
=\
чем шьёте то?(каким программатором?)
Внешним сигналом или пальцем затактировать пробовали?(см каменты выше)
avatar

Zoltberg

  • 8 сентября 2010, 00:00
+
0
Использовал Dapa, через avrdude зашивался нормально, а через arduino-ide такая фигна, и все… контроллер не отвечает. Подозреваю кварц, хотя если зашивал просто — то светодиод мигал как положено 8 раз. Завтра попробую кварц заменить, посмотрю что получится.
avatar

jskonst

  • 8 сентября 2010, 00:09
+
0
Нашел запасной кварц на 16 MHz — не помогло :(. Завтра попробую купить новый контроллер, но шить через IDE больше не буду. Если что у меня ARDUINO SEVERINO SERIAL SINGLE SIDED VERSION 3. Собирался самостоятельно, может в этом проблема по которой IDE его не может прошить? Еще попробую заменить конденсаторы на 22 пФ. Если есть идеи пишите, буду благодарен любым советам.
avatar

jskonst

  • 8 сентября 2010, 00:26
+
+1
Все — заработало, 1 проц удалось оживить — другие пока не пробовал — заменил конденсаторы у кварца. Если через IDE не шьъется и проц потом не отвечает — проверяйте кварц!!!… Я счастлив, всем Спасибо.
avatar

jskonst

  • 18 октября 2010, 22:34
+
0
Господа, кто-нибудь сумел поправить бутлодер для Атмеги8а? На Ардуино-форуме есть вопрос без ответа. АрдуиноИДЕ пишет
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA8 is 1E 93 07

Шью MRC28 c robozone.su параллельным программатором.
avatar

Shihad

  • 31 октября 2010, 10:00
+
+1
Править бутлоадер не надо.
ЕМНИП Atmega8 и Atmega8a программно полностью совместимы, такчто надо просто унять аврдьюд. Он, как видите ругается на сигнатуру(подпись), которая естественно разная у 8 и 8а. Отсюда вывод — надо обьяснить что мы шьём другой контроллер или вообще запретить проверку подписи.
Тут у нас про аврдьюд читануть можно.
Ну или шить тем что понимает 8а, а скармливать тот же \hardware\bootloaders\atmega8\ATmegaBOOT.hex
Не забываем прошивать правильным образом фюз и локбиты.
avatar

Zoltberg

  • 31 октября 2010, 16:53
+
0
У меня опять вопрос по бутлодеру. Как правильно прошить бутлодер в Атмегу 168ую, если плата — с последовательным, а не с УСБ? Надо править бутлодер?
Что надо будет выбрать в списке плат?
avatar

Shihad

  • 23 марта 2011, 22:45
+
0
Править не надо.
Выбрать Дуемиланове168.

ИДЕ-шке и МК(а значит и бутлоадеру) всёравно как плата подключена в комп.
ИДЕ всегда видит плату как последовательный порт.
А бутлоадер берёт данные с последовательного порта МК.

Заводские платы с USB интерфёйсом имеют преобразователь USB->Com и при втыкании в комп в системе просто появляестя новый СОМ-порт — в ИДЕ выбираете его и льёте ваши скетчи/бутлоадеры туда.
А самопал втыкается непосредственно в СОМ-порт, также выбирается в ИДЕ и т.д.
avatar

Zoltberg

  • 24 марта 2011, 00:06
+
0
А с автосбросом что будет? Он же не разведен. Сброс перед прошивкой осуществлять рэсетом?

Я прошил Атмегу 168 прошивкой от Дуемило. Вставляю в плату — светодиод на 13 ноге горит постоянно. ИДЕ плату не ловит.

Где я дурак?
avatar

Shihad

  • 24 марта 2011, 05:23
+
0
Автосброс идёт по линии DTR (4-й пин разъёма COM-порта) через конденсатор, если установлен джампер «авторезет энейбл». Но всё это в случае стандартных вариантов плат=)
А если там у вас что-то совсем своё — и с DTR-а ничего не идёт — то в ручника — жать в ИДЕ загрузку и тыкать кнопку резет, стараясь успеть/попасть (у стандартного бутлоадера на 8атмегу — ожидание загрузки после резета/включения >5сек — легко успеете, а у более свежих, напр. на 168ю — доли секунд — можно промахнутся=)

В случае с вставленной атмегой несовсем-понятно-в-какую-плату — масса вопросов — какой кварц? какое питание? резет к питанию притянут? а как uart подводится и т.п., вобщем — схему в студию!
А, и собственно, как прошивали?
avatar

Zoltberg

  • 24 марта 2011, 22:08
+
0
robozone.su/2008/02/29/universalnyjj-robo-kontroller-mrc28.html

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

А со 168 (доли секунды, надо же) не попадаю.

Бутлодер заливаю СТК500 через АВРСтудио. Пробовал всякие из папки с бутлодерами.

Может, доковырять загрузчик, чтобы ожидание было пять секунд?
avatar

Shihad

  • 25 марта 2011, 07:15
+
0
А фьюзы прошили? ;) МК должен быть настроен на тактирование от 16МГц кварца…
А бут, да, можно подпилить. Но обычно там со 2-3 раза попадаешь=)да и проводок с кондёром от DTR к резету, помоему, проще кинуть.
Больше смущает постоянно горящий СИД на 13.
Программатор отключаете, надеюсь=) а то он может держать линию…
На этой плате другие МК работали?
avatar

Zoltberg

  • 25 марта 2011, 11:13
+
0
Естественно, фьюзы прошиты.
Программатор отключаю. Я в панельке микроконтроллер прошиваю.
Атмега 8ая на тойже плате работает безукоризненно.
Черт. Надо как-то подпаиваться к 232 микросхеме. Еще, поди, кондер надо добавить.
avatar

Shihad

  • 25 марта 2011, 11:57
+
0
да не, там напрямую можно.
Что-то не так — на 13 ноге СИД гореть не должен…
Бутлоадер перепрошить советую. Из ИДЕ-шки, добавив туда программатор как в статье.
avatar

Zoltberg

  • 25 марта 2011, 12:11
+
0
Всем привет! извиняюсь за тупой вопрос. для программатора громова какие две строчки вписать нужно?
avatar

romsn

  • 29 сентября 2011, 15:20
+
0
В ...\arduino-ххх\hardware\tools\avr\etc\avrdude.conf
дописать
programmer
id = “gromov”;
desc = “serial port banging, reset=dtr sck=rts mosi=txd miso=cts”;
type = serbb;
reset = 4;
sck = 7;
mosi = 3;
miso = 8;
;
А в ...\arduino-ххх\hardware\programmers.txt
дописать
gromov.name=GromovProg
gromov.protocol=gromov
должно работать=)
правда проблем от этого громова больше чем пользы по моим наблюдениям за чужими мучениями;)
avatar

Zoltberg

  • 5 октября 2011, 14:18
+
0
делал первым способом только резисторы не ставил. все залилось отлично с первой попытки… большое спасибо за статью! очень помогло!
avatar

student78rus

  • 20 апреля 2011, 20:15
+
0
Здраствуйте! Подскажите, нужно настраивать LPT порт, а то у меня ругается:
avrdude: can't open device «giveio»

avrdude: failed to open parallel port «lpt1»
avatar

kameniymost

  • 2 октября 2011, 19:40
+
0
В Windows 2000 и Windows XP запрещена прямая работа с параллельным (LPT) портом, поэтому, необходимо установить драйвер giveio.sys
avatar

admin

  • 2 октября 2011, 20:37
+
0
Спасибо!!!
avatar

kameniymost

  • 3 октября 2011, 16:26
+
0
Кто может подсказать, на каком этапе я ошибся:
— прошил мегу8 прогр.громова юнипрофом загрузчиком из ардуино
— выставил фьюзы как в ардуино — 0xDf 0xCa в юнипрофе
— контроллер не определяется ардуино-программой, пишет
Binary sketch size: 826 bytes (of a 7168 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

кварц сначала стоял на 12 потом поставил 16мгц все с емкостями…
что я делаю не так?
avatar

serficraft

  • 28 октября 2011, 01:34
+
0
Добрый день
Подскажите можно ли прошить 168 мегу вот через такого зверя?
http://i.ebayimg.com/00/$%28KGrHqMOKnQE2diE%29gTlBNzME4K%212w~~_1.JPG
http://i.ebayimg.com/00/$%28KGrHqV,%21h8E2JUonrT8BNzMFb4KW%21~~_1.JPG
Это переходник USB 2 UART на cp2102
avatar

gibson

  • 12 марта 2012, 11:39
+
0
Доброго дня всем!
Повторил схемку, решил поставить Atmega168. Бутлодер залить не получилось. Пробовал другим софтом, то же самое. Сунул Atmega8, все с пол пинка завелось и поехало. Смотрел сообщения, но так и не понял, 168 мега завелась у кого нибудь, или в них есть что нибудь особенное? Может мне бракованная досталась?
Если есть кто, у кого 168 бутом прошилась, откликнитесь плиз?
avatar

Baltimor

  • 24 марта 2012, 20:32
+
0
прошил 168 программатором Громова по технологии описанной DiHaltom.Правда для это пришлось собирать комп с ком портом и ос WinXP. До этого пытался на нетбуке прошить через USB-COM. Не получилось. Так же пришлось уменьшить сопротивления до 470 Ом, вместо 1 К (см. схему Громова).
avatar

LiyIch

  • 3 апреля 2012, 10:01
+
0
В догонку… прошить-то прошил, да вот не могу залить скетч. Мне кажется, что проблема в том, что у ком-порта на выходе -12 вольт ( логический 1, а atmega168 понимает 1 на 5 вольтах.
avatar

LiyIch

  • 3 апреля 2012, 10:11
+
0
При прямом включении у меги бы, наверное, порт выгорел, поэтому обычно ставят микруху для согласования уровней — MAX232.
Если Вы собирали по схеме Северино, то там для согласования уровней стоят 2 транзистора.

Что касается бутлоудера — столкнулся с аналогичной проблемой:
прошил в мегу328 загрузчик ATmegaBOOT_168_atmega_328.hex
шил в Craftduino шнурком, как написано здесь.
фьюзы выставил, как в ArduinoIDE.
SinaProg сказал, что всё прошито, всё Ок!
Попробовал залить Blink с таймингами 3000/6000,
ArduinoIDE сказала Ок!, но, похоже, скетч не залила, т.к. светик L мигает, как обычно — 1Гц.
avatar

able

  • 3 апреля 2012, 17:28
+
0
Однако, заработало!!! Мучился долго. Потом обратил внимание, что флюс(ЛТИ 120), который использовал при пайки платы ( делал плату по описанию Zoltberg) като странно высох. Им были залиты все контакты. Час отдирал ацетоном.Далее, используя программатор «Громова» и рекомендации Zoltberg в настройках ..\arduino-ххх\hardware\tools\avr\etc\avrdude.conf (см.выше) пытался прописать карту, использовал ПО arduino 1-0 последней версии. Ничего не вышло. Тогда скачал версии по старее. Arduino 0017. И там (в \arduino-ххх\hardware\tools\avr\etc\avrdude.conf), кроме того, что рекомендовал Zoltberg прописал default_parallel = «com1»; вместо default_parallel = «lpt1»;. Обратил внимание, что все время программа пытается обращаться к lpt1. Ну вот я его и заменил на com1. После этого все как по маслу. И фьюзы выставились, и скечт из примера грузиться.
avatar

LiyIch

  • 4 апреля 2012, 05:29
+
0
Рад за Вас.
А у меня, похоже, загрузчик таки не прошился.
IDE, оказывается, выдаёт «not in sync: resp=0x00»
avatar

able

  • 4 апреля 2012, 08:25
+
0
Здравствуйте.
Собрал arduino по данному туториалу и не могу прошить бутлоадер, говорит мне такую штуку:

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

Кабель использую 5 проводов — 4 резистора. Пробовал, как говорилось выше вставить иголку на 9 ножку, не помогло.
У меня вопросы:
1. Когда я подключаю питание и вставляю в lpt у меня горят диоды led1,led4 и слабо led0 — это так и нужно, или это что то замыкает??
2. Нужно ли замыкать перемычками нижние угловые штекеры и правые 2 верхние. Про то ничего не написано но на фото так сделано?
3. Питаю схему адаптером 16 вольт, на 6 и 7 ножке МК мерял напряжение — показало 5 В, так можно?
4. Перепутал микроконтроллер на 180 градусов и включил питание — ему кердык?
avatar

alex199126

  • 18 августа 2012, 20:33
+
0
Сделал программатор Громова, через программку UniProf (сама определила что у меня стоит ATmega8, но как то определяла это через раз) прочитал фьюзы и переписал их на такие как указаны тут www.robocraft.ru/blog/arduino/51.html, потом прочитал в инструкции к UniProf что «включенный FUSE — это FUSE без галочки» то есть 1 — нет галочки, переписал их по новой, теперь МК не определяется и UniProf говорит что МК не откликается, хотя диод LED3 мигает, я так понимаю что к нему пытается подключится ПК.
Пытаюсь прошить программкой от Arduino, пишет такое:

avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: successfully opened stk500v2 device — please use -c stk500v2
avrdude: stk500v2_command(): unknown status 0xc8
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500v2_command(): unknown status 0x01
avrdude: stk500v2_disable(): failed to leave programming mode

PonyProg тоже кричит что МК не определен…

Что теперь делать, идти за новым МК???
avatar

alex199126

  • 19 августа 2012, 13:41
+
0
Что теперь делать, идти за новым МК???
Для уверенности — да.
Особенно после
Перепутал микроконтроллер на 180 градусов и включил питание
атмеги по моим наблюдениям вообще не слишком нежные, многое переживают… Но вот если поставили все фьюзы которых не стояло (пепепутав — с галочкой/безгалочки) это уже наверняка получился труп ушедший глубоко в себя МК. Фьюз RSTDISBL отключает резет, без этого не прошить, а SPIEN — запрещает прошивку по SPI — остаётся только высоковольтный программатор=(
avatar

Zoltberg

  • 20 августа 2012, 08:56
+
0
1. Когда я подключаю питание и вставляю в lpt у меня горят диоды led1,led4 и слабо led0 — это так и нужно, или это что то замыкает??
Чесно говоря не помню=( led4( LED14 всмысле?) это питание — он должен гореть, а остальные при отключенном COM-кабеле не должны бы. Проверьте, может и замыкает.
2. Нужно ли замыкать перемычками нижние угловые штекеры и правые 2 верхние. Про то ничего не написано но на фото так сделано?
Нижний — авторезет от ком-порта, верхний в правом положении разрешает работу с ком- портом. При прошивке бутлоадера всё это несущественно.
3. Питаю схему адаптером 16 вольт, на 6 и 7 ножке МК мерял напряжение — показало 5 В, так можно?
16В, конечно многовато — будет грется стабилизатор, но это не так страшно.На МК напряжение правильное.
4. Перепутал микроконтроллер на 180 градусов и включил питание — ему кердык?
С этого, конечно, стоило начать=))) Может и не кирдык, но теперь уверенности в нём никакой. При самостоятельной сборке девайсов, желательно быть неуверенным в минимальном количестве вещей — например — точно знаем что все детали целые(новые/проверенные), у компа ком/лпт порт рабочий, кабели, блок питания проверенные — тогда все косяки можно списать на плату и/или пайку-сборку и целенаправленно их искать.
Чем больше «слабых» мест тем сложнея понять/найти что не так=(
avatar

Zoltberg

  • 20 августа 2012, 09:21
+
0
доброго времени суток, снова…
вытравил новую плату, собрал все заново.
пытаюсь шить через программатор Громова, снова выдает такое:

avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


Через UniProf залил ATmegaBOOT.hex, им же выставил фьюзы(кстати, до того как выставить фьюзы диод LED13 моргал 8 раз с частотой примерно примерно в 1 секунду, когда включал окно терминала из ArduinoIDE, когда подавал питание на плату, когда доставал шнурок программатора), после выставки фьюзов моргает 1 раз в тех же случаях(подаю питание и т.д.)

Если использовать программатор Громова не нужно же ведь ничего дописывать в arduino-0015\hardware\programmers.txt и при прошивке в ArduinoIDE нужно выбрать /w AVR ISP?

Еще когда вставляю провод программатора в запитаную плату, LED13 светится — это так и надо или что то не так?
Пробывал PonyProg не хочет вообще видеть arduino, c CodeVisionAVR не смог подружиться я, терминал в нем работает, но вот прочитать/прошить МК не могу…
Что посоветуете? Если кому скучно, и хочет поделиться опытом с нубо-паяльником в скайпе буду рад (skype: aproksimacia)
avatar

alex199126

  • 24 августа 2012, 02:07
+
0
Забыл написать когда вставляю провод программатора в запитаную плату, LED13 светится, а когда вставляю в com порт — он 1 раз мигает и гаснет, так и надо?
avatar

alex199126

  • 24 августа 2012, 02:10
+
0
Извиняюсь за огромное количество коментариев и вопросов, но тут дочитался что atmega8 и 8a имеют разные сигнатуры, это может мешать прошивке?
avatar

alex199126

  • 24 августа 2012, 03:13
+
+1
до того как выставить фьюзы диод LED13 моргал 8 раз с частотой примерно примерно в 1 секунду, когда включал окно терминала из ArduinoIDE,
это он без кварца, на внутреннем генераторе работал (с завода то ли 1МГц то ли 8, не помню)
после выставки фьюзов моргает 1 раз
прошили фьюзы- МК стал работать от кварца — на 16МГц. Присмотритесь — он не один раз моргает, а даёт пачку частых морганий, просто тепкрь они сливаются. Так и должно быть.(если, конечно, речь идёт о 8-й атмеге)
Если использовать программатор Громова не нужно же ведь ничего дописывать в arduino-0015\hardware\programmers.txt и при прошивке в ArduinoIDE нужно выбрать /w AVR ISP?
Вот не уверен, что прог-р Грова и AVR ISP одно и тоже…
Но! вопрос не в это а в том зачем вам теперь програматор?! Вы же успешно прошились!
Всё — теперь можно лить скетчи через ком-порт.
вставляю провод программатора в запитаную плату, LED13 светится, а когда вставляю в com порт — он 1 раз мигает и гаснет
Да всё верно.
atmega8 и 8a имеют разные сигнатуры, это может мешать прошивке?
При шитье через ISP не помню, помоему нет, но заливке скетчей это точно не может помешать ;)
avatar

Zoltberg

  • 24 августа 2012, 09:52
+
0
Большое спасибо, Zoltberg!!! Заработало=)

И на будующее может у кого будет такая же проблема, это связано (как я думаю, во всяком случае) с тем что atmega8 и atmega8a-pu имеют разные сигнатуры, по этому arduinoIDE не может прошить загрузчик. По этому я советую:

1. Взять программу UniProf (минимум кнопок и простой интерфейс. для новичка вроде меня то что нужно) и программатор Громова.

2. Прошить загрузчик "\hardware\arduino\bootloaders\atmega8\ATmegaBOOT.hex" (LED13 моргает с итервалом в 1 секунду 8 раз).

3. Выставить фьюзы, так как описали тут (LED13 моргает оч быстро, кажется что просто горит около 1-1.5 секунды).

4. Все, теперь просто делаете сom шнурок на 4 провадка и заливаете через ArduinoIDE скетчи=)

Еще раз большое спасибо Zoltberg и всему ресурсу в целом=)))
avatar

alex199126

  • 24 августа 2012, 13:22
+
0
Всегда раздражают программаторы с LPT разъемом… Ну нету у меня ни на одном компе LPT уже 8 лет! Зато у меня есть программатор USBasp за 3,5 бакса ;)
avatar

nes

  • 22 августа 2012, 08:43
+
+1
Здравствуйте, ув. Zoltberg

Спасибо за ту нелёгкую работу, которую вы делаете на этом сайте.

Не получается установить Bootloader на Arduino Nano v2.3.

Очень нужно создать проект на ардуине (Arduino Nano v2.3 w/ ATmega 168-20AU). Плата самодельная. Ввиду того, что Атмель давно снял с производства ATmega 168-20AU, пришлось заменить этот МК на ATmega 168PA. Всё остальное — как в мануале ArduinoNanoManual23.pdf). Фьюзы процессора не трогал, т.е. в качестве источника тактирования использую установленный по умолчанию встроенный
RC-генератор. Для выяснения состояния процессора попытался прочитать, запрограммировать его со стороны ICSP порта (ChipBlasterAVR, STK200/300). Всё получается — читается, стирается, программируется, отрабатывает программу. Т.е. процессор стопроцентно жив.

Пытался установить bootloader по технологии, описанной в статье выше. Использовал правленную ArduinoIDE-022 (вписал в файл “arduino-0022\hardware\programmers.txt”: stk200.name=STK200stk200.protocol=stk200) и шнурок
STK200/300, подключённый к единственному LPT-порту. После правки в разделе Tools\Burn Bootloader появилась новая запись- w/STK200.
Работаю под Windows XP. Драйвер LPT-порта giveio.sys установил.

Для установки Bootloaderа жму Tools\Burn Bootloader\w/STK200
Получил ответ:

Error while burning
avrdude: Expected signature for ATMEGA168 is 1E 94 06
Double check chip, or use -F to override this check.

Используя всё тот же ChipBlasterAVR и шнурок STK200 прочитал байты сигнатуры ATmega168PA. Как и следовало ожидать, они отличаются от сигнатуры ATmega168:
Chip Signature: 1E 94 0B

В комментариях к статье вы уже обсуждали подобную проблему:

Shihad > Господа, кто-нибудь сумел поправить бутлодер для Атмеги8а?
Zoltberg > Править бутлоадер не надо. ЕМНИП Atmega8 и Atmega8a программно полностью совместимы, так что надо просто унять аврдьюд. Он, как видите ругается на сигнатуру(подпись), которая естественно разная у 8 и 8а. Отсюда вывод — надо обьяснить что мы шьём другой контроллер или вообще запретить проверку подписи.

Подходит ли такой способ решения проблемы и в моём случае (совместимы ли программно ATmega 168-20AU и ATmega 168PA)? Нужно
ли править Bootloader? Или достаточно унять аврдьюд?
avatar

D_K_

  • 3 октября 2012, 06:07
+
0
Образец правильно поставленного, развёрнутого вопроса=)
Подходит.
Совместимы.
Не нужно.
Достаточно.
Кстати можно использовать и современную ИДЕ.
Лезете arduino-1.0.1\hardware\tools\avr\etc
Открываете avrdude.conf (блокнот кашу не форматированную показывает, лучше Notepad++, Bred)
Ищем строчку 0x1e 0x94 0x06
Меняем на 0x1e 0x94 0x0b
Сохраняем, теперь аврдьюд думает что у ATmega168 сигнатура именно 1E 94 0B и не быкается.
Минус решения — теперь будет ругаться на ATmega 168-20AU
По-хорошему нужно добавить «свою» плату в Сервис->Плата->My w/ATmega 168PA, но это долго и нудно.
avatar

Zoltberg

  • 3 октября 2012, 13:56
+
0
Прошу помощи, спасите, уже всю голову сломал. Вообщем микроконтроллер Atmega644, платформа Gen7 для RepRap, программатор 5 проводков. Вообщем записываю фьюзы все норм:
avatar

ivanov_pasha_02

  • 8 февраля 2013, 16:59
+
0
жаль фотки не могу прикрепить. Начинаю записывать бутлоадер, записывает, потом считывает, и когда начинается проверка выдает ошибку. Вот как это выглядит:

D:\for bootloader\avrdude\avrdude -p atmega644 -C avrdude.conf -c dapa -P lpt1 -U flash:w:bootloader-atmega644-20Mhz.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9609
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file «ATmegaBOOT_644P.hex»
avrdude: input file ATmegaBOOT_644P.hex auto detected as Intel Hex
avrdude: writing flash (65382 bytes):
Writing | ################################################## | 100% 19.31s
avrdude: 65382 bytes of flash written
avrdude: verifying flash memory against ATmegaBOOT_644P.hex:
avrdude: load data flash data from input file ATmegaBOOT_644P.hex:
avrdude: input file ATmegaBOOT_644P.hex auto detected as Intel Hex
avrdude: input file ATmegaBOOT_644P.hex contains 65382 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 18.06s
avrdude: verifying…
avrdude: verification error, first mismatch at byte 0xf800 0x8f != 0xff
avrdude: verification error, content micmatch
avrdude: safemode: Fuses OK
avrdude done. Thank you.
avatar

ivanov_pasha_02

  • 8 февраля 2013, 17:07
+
0
прописанные фьюзы:
-U lfuse:w:0xff:m -U hfuse:w:0xDC -U efuse:w:0xFD:m
avatar

ivanov_pasha_02

  • 8 февраля 2013, 17:11
+
0
verification error, first mismatch at byte

Ну так про это пол статьи.
Кабель меняйте, пробуйте укорачивать, от чего питаете, кстати?
avatar

Zoltberg

  • 8 февраля 2013, 17:15
+
0
питание от блока питания, штатное питание платы, на ножке VCC микроконтроллера стабильные 5 вольт))) что-то как-то не понятная сама физика, фьюзы пишет, сам бутлоадер прошивает но ошибка возникает уже при проверке при обращении к адресу 0x8f… не с микроконтроллером ли беда какая?
avatar

ivanov_pasha_02

  • 8 февраля 2013, 17:21
+
0
С МК врядли что-то скорее просто помехи ловит.
Мало ли чего он прошивает — главное что прошилось=)
Запитайте от компа (например от разъёма FDD/HDD/CD-ROM, хоть USB)
Земли соединили?
Ну и — «делайте другой кабель, укоротите имеющийся»…
avatar

Zoltberg

  • 8 февраля 2013, 17:36
+
0
просто много где читал у кого такая ошибка, скетч в ардуино все равно получается залить, а у меня ни фига, когда скетч заливаю та же самая ошибка выскакивает в ардуино, а когда монитор порта открываю там непонятные иероглифы пишет и прокручивает.
Всмысле земли соединить? об этом что-то я не в курсе…
заранее извиняюсь если какие глупости пишу, но в программировании новичок
avatar

ivanov_pasha_02

  • 8 февраля 2013, 17:45
+
0
тогда прошу на форум, чтобы здесь не плодить, и фотки прилепите и схему, и ссылки, и прочие подробности.
avatar

Zoltberg

  • 8 февраля 2013, 17:51
+
0
хорошо… спасибо! со шнурком повожусь
avatar

ivanov_pasha_02

  • 8 февраля 2013, 17:54
+
0
Здравствуйте. У меня вопрос Atmega8 A сколько раз могу прошить? 1000 раз или больший?
avatar

Atabek

  • 28 февраля 2013, 14:44
+
0
Здравствуйте при попытке прошить через среду Arduino 1.0.4 выдает следующее:
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is «C:\Documents and Settings\Администратор\Мои документы\Загрузки\arduino-1.0.4-windows\arduino-1.0.4\hardware/tools/avr/etc/avrdude.conf»

Using Port: \\.\COM3
Using Programmer: stk500v1
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv:? [3f]
avrdude: stk500_getsync(): not in sync: resp=0x3f

avrdude done. Thank you.

В чём проблема?
Спасибо.
avatar

Andrey81

  • 24 апреля 2013, 20:53

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.