Программирование АТмега8 с помощью ардуино нано
- Войдите на сайт для отправки комментариев
Втр, 19/07/2011 - 23:35
Привет всем кто подскажет как мне запрограммировать АТм8 с помощью ардуино нано версия вроде 5
Привет всем кто подскажет как мне запрограммировать АТм8 с помощью ардуино нано версия вроде 5
для начала надо прошить ардуино загрузчик. Сделать из ардуино прошивалку для бутлоадера масса статей. а вот как заливать прошивку в ардуину через другую ардуино я пока сам застрял...
Почитай тут: mk90.blogspot.com/2011/01/arduino-3-atmega8a-bootloader.html
В этой статье всего лишь говориться о том как собрать и прошить бутлоадер. (о чем выше я упоминал) а о том как заливать скетчи через ардуино в роли программатора ничего не сказано.
Вот выдержка из статьи:
Для заливки прошивки в контроллер можно использовать:
USB-TTL конвертер (его можно собрать или купить);
Arduino-совместимая плата со снятым контроллером.
Зачем нужен bootloader, если есть ArduinoISP?
использование bootloader'a обеспечивает совместимость и с Arduino IDE, и с AVR Studio;
меньше проводов для подключения (вместо линий ISP только UART). При этом UART часто используется для отладки, поэтому его все равно приходится подключать.
Тоесть можно и без бутлоадера обойтись, но все прошивки предется зашивать через ISP. И да, не забудь что ардуино подобные платы работают на частоте 16МГц, а следовательно к ATmega8 нужно кварц прикрутить. Тебе нужно зашить файл скетча также как бутлоадер. В ардуино иде выбери ATmega8, кнопку компиляции нажимай с зажатым шифтом, в окне отчетов будет написан путь к hex файлу. Вот этот хекс и зашивай вместо бутлоадера.
Вот за это спасибо! В ардуино иде выбери ATmega8, кнопку компиляции нажимай с зажатым шифтом, в окне отчетов будет написан путь к hex файлу. Вот этот хекс и зашивай вместо бутлоадера.
сегодня первый раз в жизни прошил микроконтроллер не ардуино, но через ардуино) Вобщем через FTDI 232 на плате дуемилановы. Припаял недостающие 4 пина, собрал кабель и всё как по инструкции. Теперь есть прошитый загрузчик на моей атмеге8, я пока её гоняю в плате дуемилановы, примеры типа морганий работают)) делал по вот этому материалу http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
Ардуино (устройство) может быть программатором не только для ардуино совместимых контроллеров, но и для любых авр. Единственно что писать не на ардуино иде а на С (мне нравится avr gcc).
Единственно что писать не на ардуино иде а на С (мне нравится avr gcc).
Это что такое.
Вот не могу разобраться как тут расключить
если у меня
вот в чем вопрос.
Не совсем понял вопрос, ты хочешь прошить этой платой, или эту плату?
Да хочу этой малой прошить атмегу8
Ну также как и с обычной дуиной.
Я в начале залил скетч в арду нано птом собрал на макетке ка и на рисунке, потом запустил программу ардуино иде, и она выдала ошибку при заливки бут лоадера
"avrdude: stk500_getsync(): not in sync: resp=0x15"
Я делал выше. Там всё не однозначно, но в принципе не сложно. Там если атмега "нулёвая" то она не работает на больших скоростях, её стирал, потом прошивал и выставлял фьюзы. Но это всё я делал на дуэмиланове. Высунул 328атмегу, вставил 8ю, собрал кабель и всё как по инструкции
Попробую понять:
1)В Ардуино ИДЕ выбирается нужная плата (если та мелкая как на картинке то nano w/atmega168) и в нее зашивается скетч ArduinoISP
2)Все собирается на макетку, пины у нано такие же как и у дуэмилановы.
3)В Ардуино ИДЕ выбирается атмега8 и с шифтом (чтобы видеть путь к хекс файлу) компилируется скетч для нее.
4)Заливаем через avrdude хекс в atmega8. Скетч в виде хекс файла заливается ВМЕСТО бутлоадера.
примерно так: avrdude.exe -v -patmega8 -cstk500v1 -PCOM10 -b19200 -U flash:w:hexfile.hex
Работать через бутлоадер и заливать скетч в атмега8 прямо из ардуиноиде, без дудки, с платой нано у тебя не получится.
А дудка это авердуде?
А дудка это авердуде?
да
Работать через бутлоадер и заливать скетч в атмега8 прямо из ардуиноиде, без дудки, с платой нано у тебя не получится.
У меня получалось. С mega1280, но в данной вопросе, как я понимаю, отличий от нано нет.
Первый два шага аналогичны:
Потом в папке с АрдуиноIDE находим файлик hardware\arduino\boards.txt
Дописываем в его конец в него что-то типа:
(я шил atmegа8 c внешним кварцем на 16-ть).
Перезапускаем IDE. Идем в Tools/Boards и выбираем только что созданную плату "ATmega8 external 16 mhz using ArduinoISP".
После этого скетчи будут заливаться в mega8 на макетке использую ардуину в качестве программатора (главное что-бы в самой ардуине скетч ArduinoISP был залит).
Если атмега8 с внешним и на 16МГц то в ардуино изначально под нее есть запись в boards.txt "Arduino NG or older w/ ATmega8".
Да. Есть. Но это "изначальное" подойдет только если вы шьете атмега8 через USB-TTL конвертер. То ест комп льет скетч напрямую в вашу мегу8. Кроме того предполагается что в этой меге уже прошит бутлоадер.
Если вы просто выберете ""Arduino NG or older w/ ATmega8", то IDE попытается залить скетч в вашу ардуину (не знаю чем это закончится для нее), а не в мегу на макетке.
Та же борда, конфигурацию которой я привел, шьет скетч в мегу используя ардуину в качестве программатора.
Ключевая строчка-отличие ""atmega8using_arduinoisp.upload.using=arduinoisp".
Все остальные параметры я действительно скопировал из описания платы "Arduino NG or older w/ ATmega8", поменяв префикс "atmega8." на ""atmega8using_arduinoisp." и подкорректировал название платы.
Я имел в виду зачем добавлять новый, не проще ли изменить тот что уже есть?
Имелось ввиду, зачем добавлять еще одну борду, а не изменить описание той которая есть?
Ну во первых "эксперементировать лучше на копии", во вторых потом я к внешней atmega8 прицепил таки USB-TTL конвертер (сделал из кабеля для мобилки), залил внее бутлоадер и получил на макетке еще одну "бюджетную ардуину".
Которую можно прошивать двумя способами: через "купленную ардуину в режиме программатора" или напрямую через сапомальный шнурок. Способ выбирается выбором платы: "Arduino NG or older w/ ATmega8" если нужно "напрямую" и ""ATmega8 external 16 mhz using ArduinoISP" если нужно через программатор. И не нежуно каждый раз править boards.txt и перезапускать IDE.
Я просто скопировал boards.txt с другим именем, а из того что использую вообще кучу всего поудалял, чем пользоваться пока не собираюсь.
Ну как наводить порядок в своих исходниках это уже "на вкус и цвет фломастеры разные". Можно вообще все под source control, типа git, положить и переключатся между ветками.
Меня-бы больше напрягало плодить файлы. Мне описание плат которые я не использую ничем не мешают. Но это уже дело вкуса и привычек.
Но что-то мы уже в offtop уехали. К изначальному вопросу "как прошить одну ардуину, с помощью другой" это отношения уже не имеет.
Итого нашли два пути: Через саму IDE и через дудку. Через IDE думаю, все-таки удобней в процессе разработке (нажал одну кнопку и готово), а через дудку удобней когда "нужно прошить много плат" и сама прошивка уже меняется не часто. Можно просто заготовить несколько батников для заливки.
######################################################
atmega8using_arduinoisp.name=ATmega8 external 16 mhz using ArduinoISP
atmega8using_arduinoisp.upload.protocol=stk500
atmega8using_arduinoisp.upload.maximum_size=7168
atmega8using_arduinoisp.upload.speed=19200
atmega8using_arduinoisp.bootloader.low_fuses=0xdf
atmega8using_arduinoisp.bootloader.high_fuses=0xca
atmega8using_arduinoisp.bootloader.path=atmega8
atmega8using_arduinoisp.bootloader.file=ATmegaBOOT.hex
atmega8using_arduinoisp.bootloader.unlock_bits=0x3F
atmega8using_arduinoisp.bootloader.lock_bits=0x0F
atmega8using_arduinoisp.build.mcu=atmega8
atmega8using_arduinoisp.build.f_cpu=16000000L
atmega8using_arduinoisp.build.core=arduino
atmega8using_arduinoisp.upload.using=arduinoisp
Здравствуйте,а может кто нибудь подсказать,какие будут фузы и биты для варианта 8мГц без кварца.
Или ссылку где про это можно почитать.
Заранее спасибо.
Сам не пробовал на внутреннем (внешний кварц стоит не настолько дорого, что-бы потом "сюрпризы" вылавливать),
но гугл на слова "boards.txt atmega8 uses internal oscillator" первой ссылкой выдает todbot.com/blog/2009/05/26/minimal-arduino-with-atmega8/
Насколько я понимаю, там есть то что вам нужно.
Насколько я понимаю, там есть то что вам нужно.
Спасибо,как раз то что надо.
Я так ничего и не понял. Как мне залить бутлоадер а потом и прошивку в АТмега8 . Имеется Arduino Duemilanove
А я не понял чего вы ожидаете?
Что вам еще раз повторят то что написанно выше?
Либо вникайте (можете еще стандартынй туторил почитать http://arduino.cc/en/Tutorial/ArduinoISP), либо конкретней вопрос задавайте.
удалось прошить используя только arduino IDE