Прошить ATmega328 загрузчиком Ардуино.

triada13
Offline
Зарегистрирован: 04.01.2013

А какой из них в таком случае использовать в качестве програматора других МК?

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

Если как ISP-программатор (Mega-ISP), то оба, а если как USB-SERIAL адапатер, то ATmega8U2.

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

кто в курсе, отличется ли чем-то Atmega8P-PU и Atmega8A-PU? в плане сигнатуры.

хотелось бы иметь возможность шить Arduino ISP программатором:

так что интересно, возможно это или нет. если нет то как в консоли зашить из avrdude? с цитатой командной строки. такой же вопрос с буквой - про 328. пока записал только одну (328p-pu), больше пустых не покупал. все чотко, в отличие от bitbang, именно поэтому решил с командами в консоли вообще и bitbang в частности не связываться.

Casper
Offline
Зарегистрирован: 02.10.2012

Ребят, может глупость спрошу, но мне лишь убедиться.

Вот скажем атмега 2560 (она же ардуино мега). также прошиваться (если чип чистый)

То есть тоже miso/mosi/sck/reset ? А то разъем ICSP идет в 50тые ноги.

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

Так же.

IvanDeft
Offline
Зарегистрирован: 05.01.2013

Не нашел пока что на форуме такой темы, поэтому пишу сюда, потому что тема смежная!
Задача тоже стоит в прошивке отдельного 328 камня программой и вставкой его в самостоятельный девайс! Но вот возник вопрос дальнейшей прошивки платы и апгрейда. Столкнулся на днях с проблемой: камень наотказ не хотел шиться через ICSP!!! Выдавал ошибку программатора, или просто ругался на неопознанный девайс. Все решилось отключением из схемы акселерометра и LCD. И с первого раза программа залилась!!! Выходит что когда соберу девайс перепрошивать камень не вынимая его не получится... Подскажите как решить проблему??? Может поставить какие нибудь диоды, которые будут ограничивать сигнал в одну сторону??

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

Поставьте на линии SCK, MOSI, MISO (ноги МК 17,18,19) резисторы (например 1кОм), так что бы устройства были подключеный через резисторы, а программатор напрямую к ногам.

triada13
Offline
Зарегистрирован: 04.01.2013

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

IvanDeft
Offline
Зарегистрирован: 05.01.2013

Перемычки и все остальное - понятно. Но как же тогда производители делают возможность шить программы без всяких перемычек. Когда в готовом устройстве стоит просто ISCP разъем и никаких перемычек... Или они попросту не задействуют эти выводы и не вешают на эти контакты ничего кроме разьема программатора?

triada13
Offline
Зарегистрирован: 04.01.2013

Они может сопротивлениями или оптопарами развязывают.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Все просто. Если к этим ногам подключается выход чего-нибудь - то через резистор 470-1к. Илои спроектируйте так, чтобы к этим ногам подключались только входы (в рабочей программе они все будут выходами).

triada13
Offline
Зарегистрирован: 04.01.2013

Тоже верно.

IvanDeft
Offline
Зарегистрирован: 05.01.2013

Итак, продолжаю свой вопрос-эпопею по поводу ICSP разъема и загрузки по нему!!!
Изначально 328 не хотел шиться от меги стоя в бредборде практически с отключенными от всего ногами MISO, MOSI, SCK и т.д.
Прошился всего один раз - и то, похоже повезло... Отдельно на плате шиться камень тоже не захотел, прошился только с внешним кварцем... И самое что интересное, что единственный вариант заливки скетча - только через ноги ISP, выведенные на цифровые порты!!! На меге соответственно 50 - MISO, 51 - MOSI, 52 - SCK, 53 - Reset ну и питание и земля с платы...
Повторяю - это единственный и на удивление самый результативный вариант загрузки скетча! Прошивается с первого раза, без ошибок, нареканий и еще чего либо! А вот когда подключаешь то же самое к 328 камню, только с меги забирая через ICSP порт - постоянные ошибки avrdude: stk500_recv(): programmer is not responding
В самой меге залит ArduinoISP скетч, программатор стоит "Arduino as ISP", борд - Duemilanove (стандартный для 328 камней), на земле и ресете меги конденсатор на 10мКф.
Через 50/53 ноги шьется, через разъем ICSP постоянные ошибки! В чем может быть дело??? Скажу сразу: провода уже проверял, так как шнур для ICSP делал сам из 10 пинового шлейфа. Так что все нога к ноге и без перебоев...

PS: кстати шью через меню Файл -> Загрузить с помошью программатора, по другому тоже ошибки выдает (((

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

Чудес не бывает, либо неконтакт/непропай/кз, либо провода слишком длинные, либо наводки. 

Шью таким вот самодельным проводом, подходит практически ко всем дуинам:

 

схема:

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

Делюсь печалькой: воткнул ICSP разъем вверх тормашками, т. е. +5V в SCK, GND в MISO, Reset в MOSI и наоборот.

Это убило ведущую. Хотя blink на ней работает и она прошивается, т. к. в ней есть загрузчик. Мораль: если исользуете ArduinoISP программатор, пусть в нём будет Atmega8 за 57 рублей - хотябы будет не жалко, если спалите выход D12 на ней, воткнув его в землю ведомой.

Надо будет из неё новогоднюю мигалку заделать...

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

std пишет:

Делюсь печалькой: воткнул ICSP разъем вверх тормашками, т. е. +5V в SCK, GND в MISO, Reset в MOSI и наоборот.

Это убило ведущую. Хотя blink на ней работает и она прошивается, т. к. в ней есть загрузчик. Мораль: если исользуете ArduinoISP программатор, пусть в нём будет Atmega8 за 57 рублей - хотябы будет не жалко, если спалите выход D12 на ней, воткнув его в землю ведомой.

или подключать SCK, MISO, Reset и MOSI через резисторы 200-500 Ом, как во всех программаторах делается.

зы

Посмотрел http://arduino.cc/en/Tutorial/ArduinoISP - красавцы, что тут скажешь, напрямую проводами всё подключили.

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

Не раз втыкал вверх тормашками - никогда не было проблем.

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

о точно. надо будет резисторы напаять.

Тарас Петрович
Offline
Зарегистрирован: 21.11.2015

Здравствуйте, у меня вопрос по этим двум картинкам. Как вся сборка (Ардуино IDE , ведущий уно и программируемый уно) поймут, подключил ли я кварц? Ведь новый контроллер запрограммирован на работу от RC, а я хочу, чтобы от кварца. Это же нужно фьюзы поменять? Кто их и в каком порядке их меняет при данном способе? Или лучше внешним AVRISP программатором с использованием программы "KAZAMA-что-то там..." стянуть всё (фьюзы, флеш, оперативку и еепром) с контроллера, который вынут с платы УНО (на которой скетч отлаживался), и тем же программатором залить это всё в контроллер, который будет работать в готовом устройстве? Интересует перспектива применения 328Меги в смд корпусе. Посмотрю по даташиту номера ног reset, mosi, miso, sck, поставлю на плату кварц, ресет подтяну к плюсу, выводы для программирования выведу на стандартный 6-пиновый разъём программатора. Правильно?

Тапками прошу не кидаться, Ардуино только осваиваю!

без кварцас кварцем

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

Тарас Петрович пишет:
Тапками прошу не кидаться, Ардуино только осваиваю!

это не оправдание глупым вопросам прежде, чем что-то сделал: достаточно подключить согласно схеме, выбрать плату и программатор и нажать "Записать загрузчик".

если желается узнать, почему всё произошло так, а не иначе, достаточно прочитать файл boards.txt

*кто знает, как выключатель узнаёт, что в патроне есть лампочка?

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

Клапауций 123 пишет:
как выключатель узнаёт, что в патроне есть лампочка

Неонкой же, ё█та...

art-mistik
Offline
Зарегистрирован: 05.12.2014

Мужики не ругайте сильно, уберем гордыну ))))
Просто уж много читать все завново и в других ветках((((
К примеру, у меня UNO, поменял "процессор", а теперь загнать не знаю и не помню как - загрузчик ???
Поможте плиз ))) спасибо!

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

art-mistik пишет:

Мужики не ругайте сильно, уберем гордыну ))))
Просто уж много читать все завново и в других ветках((((
К примеру, у меня UNO, поменял "процессор", а теперь загнать не знаю и не помню как - загрузчик ???
Поможте плиз ))) спасибо!

подключить программатор к МК, выбрать нужную плату, нажать кнопку "Записать загрузчик".

vovik181083
Offline
Зарегистрирован: 25.11.2016

не ужели так трудно забить в гугле??? или слить прошивку с рабочего и перелить в новый? это так трудно?

vovik181083
Offline
Зарегистрирован: 25.11.2016

std пишет:

Клапауций 123 пишет:
как выключатель узнаёт, что в патроне есть лампочка

Неонкой же, ё█та...

нет! он её видит!