И снова Atmega8 как arduino

fayvlad
Offline
Зарегистрирован: 27.03.2014

Завалялось у меня 4-5 атмег8, было время, программировал их, но теперь стал ленив и перешел на ардуино.

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

В общем,

1 какая минимальная обвязка должна быть? (атмега8, 2 конденсатора, кварц) - как я понимаю этого хватает?

2 как залить правильно бутлоадер 

 2.1 - с помощью usb to rs232

 2.2 - с помощью программатора (mosi miso...)

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

3 с дохлыми атмегами уже попрощатся или попытатся исправить ошибку - подпаять кварц, конденсаторы и как-то лечить?

 

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

std
Offline
Зарегистрирован: 05.01.2012
##############################################################

atmega8.name=ATmega8 (Arduino NG or older)
atmega8.upload.protocol=arduino
atmega8.upload.maximum_size=7168
atmega8.upload.speed=19200
atmega8.bootloader.low_fuses=0xdf
atmega8.bootloader.high_fuses=0xca
atmega8.bootloader.path=atmega8
atmega8.bootloader.file=ATmegaBOOT-prod-firmware-2009-11-07.hex
atmega8.bootloader.unlock_bits=0x3F
atmega8.bootloader.lock_bits=0x0F
atmega8.build.mcu=atmega8
atmega8.build.f_cpu=16000000L
atmega8.build.core=arduino
atmega8.build.variant=standard

##############################################################

atmega88.name=ATmega8 at 8 MHz (w/o crystal)
 atmega88.bootloader.low_fuses=0xE4
atmega88.bootloader.high_fuses=0xCF
atmega88.bootloader.unlock_bits=0x3F
atmega88.bootloader.lock_bits=0x0F
atmega88.upload.maximum_size=7168 
atmega88.build.mcu=atmega8
atmega88.build.f_cpu=8000000L
atmega88.build.core=arduino:arduino
atmega88.build.variant=standard

любой isp программатор сгодится, USBASP скажем

fayvlad
Offline
Зарегистрирован: 27.03.2014

А этот код куда и чем заливать? Вместо того, что в arduino Ide? И просто как и тогда жать " записать бутлоадер" ?
Извиняюсь за столь много и возможно тупых вопросов, просто после уже 2х положенных атмеги хочется хоть одну оживить

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

fayvlad пишет:
А этот код куда и чем заливать? Вместо того, что в arduino Ide? И просто как и тогда жать " записать бутлоадер" ?
Извиняюсь за столь много и возможно тупых вопросов, просто после уже 2х положенных атмеги хочется хоть одну оживить

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

fayvlad
Offline
Зарегистрирован: 27.03.2014

Да в том то и дело, что шил через winavr и там надо было только код писать без всяких там)
С фюзами столкнулся, когда убил первую мегу

Umka
Umka аватар
Offline
Зарегистрирован: 19.10.2012

С помощью USB-RS232 конечно не получится ибо этим как раз загрузчик и занимается. А вот программатором легко! Правите файл boards.txt с опубликованым выше куском конфига, идете в Arduino IDE и даете команду - прошить загрузчик прямо оттуда, предварительно выбрав правильно процессор, плату и программатор. Ну или выковырять из папки с Arduino IDE бинарный файл загрузчика и прошить любым программатором, предварительно фьюзы выставив. Фьюзы выше написаны какие должны быть. Profit! 

fayvlad
Offline
Зарегистрирован: 27.03.2014

Походу я опять положил атмегу...

Вчера залил с папки бутлоадер hex файл  в ардуино с помощью eXtreme Burner - AVR,

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

вставляю rs2323, надеюсь через него залить программу миганием светодиода, после компиляции 2-3 раза мигает слабо светодиод на rs232 и все, ошибка. В атмегу программа не ложится. Что делать? Как-то можно менять фьюзы еще раз, после смены этих?

AVJ
Offline
Зарегистрирован: 11.10.2014

Загляни сюда. Здесь восстанавливают фьюзы.

http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atme...

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

http://forum.cxem.net/index.php?s=bf53c6fe0c94554e07c74d943cdd1463&showt...

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

Coolerr
Offline
Зарегистрирован: 30.06.2014

Объясните мне смысл фразы "из атмеги сделать ардуино".

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

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

мега просто мк пока не сделать заливку скетчей по какому нибудь интерфейсу

как двигатель без шасси

Coolerr
Offline
Зарегистрирован: 30.06.2014

Я в смысле Ардуино как плату с дырочками или чтоб писать в Arduino IDE. Мой процесс разработки девайса на мк(почти любом АВР): концепция>написание кода в ArduinoIDE с отладкой и отлавливанием багов в SIM for Arduino и обкаткой в условияx приближенных к боевым в Proteus>заливка в Уно или Мегу(от запросов проги)отлов багов(если есть) в реальном железе>подбор по перефирии и объему памяти подходящей АВРки(если АВРка меньше по размеру чем исходные, перебивка в скетче пинов под выбраный МК)>заливка скетча с помощью Arduino as ISP в пустой МК>прошивка фьюзов(заводские не трогаем, кроме CKDIV8(если он есть(у разных контроллеров по разному(на меге 8 его нет) и CKSEL(выставляем на внешний кварц) и все. Никаких бутлоадеров и прочей фигни. Имея программатор и ардуина в принципе нафиг не нужна.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ага подход такой зачем тебе ардуина вообще, как и среда

CVAVR и в путь

Coolerr
Offline
Зарегистрирован: 30.06.2014

Лень )))). Писать хренову тучу инициализаций пинов, УАРТОВ, таймеров и т.д. одну перифирию запариваешься писать, когда до кода доходит репа уже не соображает.

З.Ы. в SIM for Arduino можно обкатать код не компилируя с просмотром пошагово как чего происходит, прерывания, вызов функций и т.д. Именно моего кода как я его вижу, а не скачками по адресам, переходам, регистрам.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

Coolerr
Offline
Зарегистрирован: 30.06.2014

Ну так то да. Но количество перезаписей камня неумолимо тает))))))))))))). К живой дуине нужно цеплять все внешние цепи, датчики исполнительные устройства, а если правила меняются во время полета мяча то это засада. Ну это лирика. Я непойму у ТСа задача какая, 4-5 ардуин наклепать?

Вопрос1:(минимальная обвязка кварц кондеры=Недоардуина)нафига иметь 4-5 мег с залитым бутом если работать с ними можно и без оного(тем более, что у мега8 распиновка один в один с Уной).

Вопрос2: (если нужна полноценная дуина со всеми плюшками, кнопками, диодами прошивающим МК или FTDI ) то 1 вопрос ТСа непонятен.

И вопрос3: (если хочется писать в ArduinoIDE)нафига иметь 4-5 мег с залитым бутом если работать с ними можно и без оного(тем более, что у мега8 распиновка один в один с Уной).

И стеб Пухлявого в силе. Как так писал код шил меги, а про фьюзы незнает(странно). Это как-чинил телевизоры, а как каналы настраивать незнаю.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

не суть. у меня лежит штук 5 меги8 с залитым бутлоадером

кварц кондеры не нужны с минимальной обвязкой

насчет как раньше программировал а теперь не знает про isp это да странно

про фьюзы вопрос наверно привязан с работой идэ

Coolerr
Offline
Зарегистрирован: 30.06.2014

Все вопросы снимаются в случае.

Есть дуина с паленым камнем нужно её оживить. 

Есть задача залить бут. 

Истина где-то рядом (С).

Кстати тоже нужно себе мегу в 328ю запилить бут и пусть валяеся, а то мало ли чего уна здохнет.)))))))

Вопрос к ТСу. Программатор есть USBASP, LPT 5проводов, Громова, любой для АВР?

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

Coolerr пишет:

Кстати тоже нужно себе мегу в 328ю запилить бут и пусть валяеся, а то мало ли чего уна здохнет.)))))))

Программатор есть USBASP...

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

*закопал денег под вишней, а то мало ли от чего банк сдохнет.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Не возьму никак я в толк : за каким ТС-у шить в 8ку , ПРОГРАММАТОРОМ бут ?

на просто камне и без бута все прекрасно работает.

gppsoft
Offline
Зарегистрирован: 13.10.2014

Делал недавно из Atmega8 мини-дуину для себя. Будет работать без внешнего кварца, на внутреннем(8mhz)

1. Скачать вот тут нужный вам загрузчик(optiboot). Положить нужный вам файл в "C:\Program Files (x86)\Arduino\hardware\arduino\bootloaders\optiboot". Загрузчик почти не занимает места :)

2. Добавить в boards.txt

##############################################################

atmega8_8.name=ATmega8 Optiboot (8MHz internal OSC)
atmega8_8.upload.protocol=arduino
atmega8_8.upload.maximum_size=7680
atmega8_8.upload.speed=57600
atmega8_8.bootloader.low_fuses=0xa4
atmega8_8.bootloader.high_fuses=0xcc
atmega8_8.bootloader.path=optiboot
atmega8_8.bootloader.file=optiboot_atmega8_8mhz.hex
atmega8_8.bootloader.unlock_bits=0x3F
atmega8_8.bootloader.lock_bits=0x0F
atmega8_8.build.mcu=atmega8
atmega8_8.build.f_cpu=8000000L
atmega8_8.build.core=arduino
atmega8_8.build.variant=standard

##############################################################

atmega328_8.name=ATmega328P Optiboot (8MHz internal OSC)
atmega328_8.upload.protocol=arduino
atmega328_8.upload.maximum_size=32256
atmega328_8.upload.speed=57600
atmega328_8.bootloader.low_fuses=0xe2
atmega328_8.bootloader.high_fuses=0xde
atmega328_8.bootloader.extended_fuses=0x05
atmega328_8.bootloader.path=optiboot
atmega328_8.bootloader.file=optiboot_atmega328_8mhz.hex
atmega328_8.bootloader.unlock_bits=0x3F
atmega328_8.bootloader.lock_bits=0x0F
atmega328_8.build.mcu=atmega328p
atmega328_8.build.f_cpu=8000000L
atmega328_8.build.core=arduino
atmega328_8.build.variant=standard

##############################################################

atmega168_8.name=ATmega168 Optiboot (8MHz internal OSC)
atmega168_8.upload.protocol=arduino
atmega168_8.upload.maximum_size=15872
atmega168_8.upload.speed=57600
atmega168_8.bootloader.low_fuses=0xe2
atmega168_8.bootloader.high_fuses=0xde
atmega168_8.bootloader.extended_fuses=0x04
atmega168_8.bootloader.path=optiboot
atmega168_8.bootloader.file=optiboot_atmega168_8mhz.hex
atmega168_8.bootloader.unlock_bits=0x3F
atmega168_8.bootloader.lock_bits=0x0F
atmega168_8.build.mcu=atmega168
atmega168_8.build.f_cpu=8000000L
atmega168_8.build.core=arduino:arduino
atmega168_8.build.variant=arduino:standard

3. Прошить через USBAsp загрузчик.

Все! Теперь Atmega8 можно программить через UART с помощью Arduino IDE

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

хороший материал

gppsoft
Offline
Зарегистрирован: 13.10.2014

Да, очень удобно. И места намного больше с этим загрузчиком.

fayvlad
Offline
Зарегистрирован: 27.03.2014

Отдалился я од темы. Вся суть была в том, чтобы сделать платку на подобии с 20 поста.

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

У меня получилось бутлоадер зашить через ардуину мини, но атмега вела себя очень плохо, как с кварцем, так и без. передача по порту со скоростью свыше 4600 - выводило крякозябры. А все это для того, чтобы программировать в этой IDE т.к много библиотек и всяких наработок на ардуино, а с остальным некогда заниматся - надо что-то для дома, написал, залил, готовый рабочий прибор.

В общем суть темы в том, чтобы сделать платку (как в посте 20) и шить через uart, т.к. валяются без дела пару плат атмеги8 и не занимать лишнюю ардуинку на мини проект такой как градусник для аквариума с поддержкой заданой температуры.

fayvlad
Offline
Зарегистрирован: 27.03.2014

gppsoft пишет:

Делал недавно из Atmega8 мини-дуину для себя. Будет работать без внешнего кварца, на внутреннем(8mhz)

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

извини чувак. решения нет. было бы - не жалко, а так даже не знаю что делать

будь как все. не делай сам, не отбирай кусок хлеба у китайской девочки, купи ардуину на алиэкспрессе

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

fayvlad
Offline
Зарегистрирован: 27.03.2014

jeka_tm пишет:

извини чувак. решения нет. было бы - не жалко, а так даже не знаю что делать

будь как все. не делай сам, не отбирай кусок хлеба у китайской девочки, купи ардуину на алиэкспрессе

Первое не понял, о каком ты решении?

Так то ты прав, 328 атмега почти 2$ стоит на ибее, а ардуинка про мини 2,23$  разница в 30 центов, но если нужно очень маленькое устройство, не выпаевать же с ардуинки атмегу =)

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

про вторую ты все понял

fayvlad
Offline
Зарегистрирован: 27.03.2014

Ирония дошла, по свободе еще его код попробую залить, но все же не пойму, почему через SPI не шьет, там же только программатор надо заменить и все, нажать "залить загрузчик" ?

gppsoft
Offline
Зарегистрирован: 13.10.2014

fayvlad пишет:

gppsoft пишет:

Делал недавно из Atmega8 мини-дуину для себя. Будет работать без внешнего кварца, на внутреннем(8mhz)

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

Там два делителя напряжения для замера двух источников питания. Вообщем не обращай внимание на все кроме МК. Я просто представил фото, чтобы не быть голословным. 

gleco1
Offline
Зарегистрирован: 22.12.2015

Puhlyaviy пишет: "Ржу, не могу..."

Увидел твой тупой сарказм и решил вставить свои 5 копеек. Не надо РЖАТЬ! Лучше бы помог человеку. Твой скрипт не катит.  Запись его в борд.тхт в Arduino IDE V.1.65>, V1.66 не активирует МК ATMega для программирования через USBAVR.  Попробуй сначала сам, а потом посмейся на самим собой!

vk007
Offline
Зарегистрирован: 16.06.2015

gleco1 пишет:

Puhlyaviy пишет: "Ржу, не могу..."

Увидел твой тупой сарказм и решил вставить свои 5 копеек. Не надо РЖАТЬ! Лучше бы помог человеку. Твой скрипт не катит.  Запись его в борд.тхт в Arduino IDE V.1.65>, V1.66 не активирует МК ATMega для программирования через USBAVR.  Попробуй сначала сам, а потом посмейся на самим собой!

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