Конструктор Bootloader`а для Arduino

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

у вас она с фьюзами для работы с кварцем до этого была прошита? если да то поставьте кварц, после прошивки уберите

Joiner
Offline
Зарегистрирован: 04.09.2014

Valera19701 пишет:

у вас она с фьюзами для работы с кварцем до этого была прошита? ..........

Я ни чего не прошивал.....если только ошибочно что-то.

А кварца на 8 мегагерц у меня нет...только на 16 и более

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

поставьте на 16 и попробуйте

Joiner
Offline
Зарегистрирован: 04.09.2014

Valera19701 пишет:

поставьте на 16 и попробуйте

Авардуде спросила: типа того - фьюзы были изменены переписать назад? [y\n] сказал y

и чтото подвисло все. На Уне горят диодики TX, RX с некоторым мерцанием....в командной строке ни каких сообщений 

Попробовал все с кварцем...не помогло

Сдаюсь :(

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

скорее всего теперь кварц лишний, поэтому прочесть не может

теперь отпаяйте кварц и попробуйте залить загрузчик

Joiner
Offline
Зарегистрирован: 04.09.2014

Valera19701 пишет:

скорее всего теперь кварц лишний, поэтому прочесть не может

теперь отпаяйте кварц и попробуйте залить загрузчик

Абсолютно ни чего не меняется ни с кварцем ни без него.

Сейчас попробую вообще Атмегу8 отключить. Интересно что мне скажет аврдуде?

P.S. Попробовал...теперь пишет что протокол еррор

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Joiner, судя по картинке из #300 ты так и не сделал то, что я писал: скачать архив, разархивировать в отдельную папку.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015
Joiner
Offline
Зарегистрирован: 04.09.2014

dimax пишет:

Joiner, судя по картинке из #300 ты так и не сделал то, что я писал: скачать архив, разархивировать в отдельную папку.

Запускал аврдуду из каталога ардуины. После того как она не нашла конфиг файл, яей скопировал его из того же ардуиновского каталога и положил в папку, где аврдуде. На конфиг файл ругаться перестала, но все равно ни чего не заливает :(

Joiner
Offline
Зарегистрирован: 04.09.2014

Valera19701 пишет:

ну теперь наверное только так

........

Я подумаю....

Может легче выкинуть? :)

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

я думаю что фьюзебит доктор вам пригодится и в будущем :)

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Joiner,  ну а для кого я писал скачать, разархивировать? Хотя конечно и так должно было работать. У тебя скорее всего аппаратная проблема, -где-то земля отваливается, или питание, или сопля висит и подкорачивает, или что-то вроде того.

Joiner
Offline
Зарегистрирован: 04.09.2014

Valera19701 пишет:

я думаю что фьюзебит доктор вам пригодится и в будущем :)

Наверное. Ссылочку в избранное закинул.

Спасибо.

Joiner
Offline
Зарегистрирован: 04.09.2014

dimax пишет:

Joiner,  ну а для кого я писал скачать, разархивировать? Хотя конечно и так должно было работать. У тебя скорее всего аппаратная проблема, -где-то земля отваливается, или питание, или сопля висит и подкорачивает, или что-то вроде того.

Жалко что припаивать отпаивать трудно такой мк, а то припаял бы другой. Плату обследовал через сильнейшую лупу, каждую дорожку, каждую пайку. Ни каких деффектов не нашел. Может проблема в контроллере. Сейчас делаю еще одну платку под Atmega 328, такая же малышка. Посмотрю что с ней получится. Но там проще...стандартная прошивка, стандартная частота, стандартный кварц.

Joiner
Offline
Зарегистрирован: 04.09.2014

Спасибо всем кто откликнулся. Благодаря вам, теперь знаю как аврдуду запускать, кое чего понял по параметрам.

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

Еще раз БОЛЬШОЕ СПАСИБО!!!!

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

две минуты феном :)

Joiner
Offline
Зарегистрирован: 04.09.2014

Valera19701 пишет:

две минуты феном :)

Дык ATmega 8L у меня единственная, другие уже Atmega 8A-AU....хотя и на них можно было потренироваться :)

Да и фена у меня нет :) Хочу приобрести прикуриватель от авто, говорят им тоже хорошо микросхемки отпаивать, не хуже чем феном.

Кстати, как уже писал выше, шил мк ATmega 328p в DIP корпусе. Делал ее на 1, на 8 мегагерц от внутреннего генератора, потом снова вернул на кварц 16 мегагерц. Проблем не возникло.

Грешу все таки на сам микроконтроллер, или с платой что-то не то.

sirota
Offline
Зарегистрирован: 18.08.2015

Ребятки, а подскажите ка мне где мне взять бутлоадер для 2560. Ну не просто, а вот как тут с возможностью изменить частоту внешнего кварца.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

sirota, можно сделать бутлоадер на любую частоту. Скачать оптибут,  и строкой типа omake.bat  AVR_FREQ=20000000L mega1280 скомпилировать  бутлоадер на нужную частоту и под нужный МК. Там есть ещё интресные опции.

processorovich
Offline
Зарегистрирован: 16.09.2016

Всем привет.

После ознакомления с ардуино столкнулся с потребностью прошивать контроллеры уже в более самостоятельных устройствах. Нашел видеообзор от Поделкина, из неё -- статью http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik. Увидел калькулятор, понял, что нужно исправлять файл boards.txt и скачать НЕХ-файл с прошивкой загрузчика. Почитал внимательнее -- нашёл ссылку на добавление поддержки "неродных мк".

В той статье выяснилось (как я понял), что для поддержки "неродных мк" (а какие родные, какие -- нет, я вообще без понятия, в статье это тоже не указано), нужно скачать архивы arduino-tiny и avr-netino. На первый архив все ссылки битые. Ладно, разберусь позже.

Скачал второй архив.
Извлёк папку avrnetino в arduino/hardware/   результат -- новые устройства в "инструменты-плата" не появились.
Извлёк в ту же папку содержимое архивной папки -- результат тот же.
После помещения папки, либо содержания avrnetino, в arduino/hardware/arduino -- Arduino IDE не запускается вообще. После удаления -- запускается.

Ищу форумы, советы, справки. Нахожу этот форум.
Здесь все пишут о необходимости использования optiboot и что это отдельный модуль(програма? библиотека? что это?) для компиляции новых бутлоадеров по заданным параметрам. Пробую почитать про оптибут, кликнув на ссылку в статье -- она тоже битая. Возвращаюсь на форум, нахожу чью-то ссыль на него и На всякий случай качаю.
Вчитываюсь в форум и наконец-то разбираюсь, что сгенерированный калькулятором НЕХ можно скачать по ссылке. Вместо скачивания просто открывается код НЕХ-а. Окей.

Энный раз перелистываю форум, статьи, начинаю улавливать взаимосвязанность смыслов, разбираюсь в противоречиях, НО в конце концов из всего этого:
-- Что такое оптибут и куда его инсталлировать -- неизвестно.
-- Куда засунуть полученный НЕХ -- неизвестно.
-- где конкретно находится boards.txt -- неизвестно.
-- В конце концов, как сохранить НЕХ как НЕХ, а не просто текстовый файл с расширением .h -- тоже неизвестно.
-- как зделать, чтобы это всё полетело -- вообще неизвестно.

И вот в конце концов, взбивая себе латтэ паром из ушей, я регистрируюсь на форуме.
Парни. Я понимаю, что моё незнание -- это мои проблемы, что незнание английского -- тоже мои проблемы. Возможно после многочасовых штудирований этого всего я что-то пропустил и сам виноват...
Но статьи то позиционированны для начинающих! И от них возникает куда больше вопросов, чем ответов. И главное -- в итоге ничерта не работает. И вряд ли с такими кросссылками, битыми ссылками, рекурсиями, исправлениями и опущенной инфой начинающие смогут (да и захотят ли?) с этим разобраться.

Если кто-то сможет описать более-менее подробно, ПОШАГОВО описать каким образом заставить Arduino IDE шить atmega и attiny с рабочими ссылками -- думаю, будут благодарны ОЧЕНЬ многие.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

processorovich, в новых версиях IDE всё поменялось. Сгенерированная вставка в boards.txt не будет работать как минимум по 2м причинам - формат файла немного расширился и все юзерские конфигурации переехали в пользовательский профиль винды. Я бы вам посоветовал поставить для начала старую версию arduino IDE, например 1.0.5, тогда хоть будет шанс запустить всё по "устаревшим" советам. Оптибут живёт тут. Я без всяких конструторов компилю нужный оптибут. В архиве по ссылке выше всё что нужно есть.

 

Joiner
Offline
Зарегистрирован: 04.09.2014

processorovich пишет:

Всем привет.

После ознакомления с ардуино столкнулся с потребностью 

...................................................................... И вряд ли с такими кросссылками, битыми ссылками, рекурсиями, исправлениями и опущенной инфой начинающие смогут (да и захотят ли?) с этим разобраться.

Если кто-то сможет описать более-менее подробно, ПОШАГОВО описать каким образом заставить Arduino IDE шить atmega и attiny с рабочими ссылками -- думаю, будут благодарны ОЧЕНЬ многие.

Щас появится Клапауций.....и все пошагово распишет

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

Joiner пишет:

Щас появится Клапауций.....и все пошагово распишет

с каких это пор Клапауций стал в твоей реальности пошаговым расписателем загрузчиков по сериал, если он юзает загрузчики по V-USB?

Joiner
Offline
Зарегистрирован: 04.09.2014

Клапауций 232 пишет:

.........юзает загрузчики по V-USB?

А это что за загрузчики??

uragan
Offline
Зарегистрирован: 23.02.2015

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

a5021
Offline
Зарегистрирован: 07.07.2013

У меня дома живет атмега8, которая стоит не в очень удобном, с точки зрения доступа, месте. Это просто атмега на плате в корпусе без загрузчика. То, что вы называете самостоятельным устройством. Когда мне приходит в голову что-то поправить, исправить или добавить функционал, мне приходится устройство с изрядным трудом вытаскивать, развинчивать, доставать плату и шить новую прошивку, повторя затем действия в обратном порядке. Первые десять раз это выглядело прикольно, а теперь как-то стало доставать, что я уже начинаю задумываться, а не вшить ли туда этот самый загрузчик с V-USB, приладить мини- или микро-юсб коннектор и заливать все исправления без извлечения устройства. И вот как-то нравится мне такая идея.

sirota
Offline
Зарегистрирован: 18.08.2015

dimax пишет:

sirota, можно сделать бутлоадер на любую частоту. Скачать оптибут,  и строкой типа omake.bat  AVR_FREQ=20000000L mega1280 скомпилировать  бутлоадер на нужную частоту и под нужный МК. Там есть ещё интресные опции.

Я же вроде бы как написал - MEGA2560/

# MEGA1280 Board (this is different from the atmega1280 chip platform)
# Mega has a minimum boot size of 1024 bytes, so enable extra functions
# Note that optiboot does not (can not) work on the MEGA2560

 

Так бы я давно уже все сделал. тут проблема в том что во всех подобных щагрузчках 2560 пройдена стороной.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

sirota, 2560 тоже поддерживается, посмотрите в другой сборке.  Сам не проверял, так что прокомментировать не могу.

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

Joiner пишет:

Клапауций 232 пишет:

.........юзает загрузчики по V-USB?

А это что за загрузчики??

https://www.obdev.at/products/vusb/usbasploader.html

*если зашить в программатор USBasp, то превращает и его в Дуино или digispark.

osetroff
Offline
Зарегистрирован: 27.08.2014

А существуют ли загрузчики по SPI?

Насколько я понимаю, программирование arduino по ISP каждый раз затирает eeprom и стирает весь flash.

Так вот, хотелось бы совместить на плате один разъем с выводами MISO, MOSI, SCK, VCC, GND, RST как для ISP так и для прошивки через bootloader (с записью flash блоками).

uragan
Offline
Зарегистрирован: 23.02.2015

Для сохранения епрома фьюз есть.

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

osetroff пишет:

А существуют ли загрузчики по SPI?

Насколько я понимаю, программирование arduino по ISP каждый раз затирает eeprom и стирает весь flash.

Так вот, хотелось бы совместить на плате один разъем с выводами MISO, MOSI, SCK, VCC, GND, RST как для ISP так и для прошивки через bootloader (с записью flash блоками).

существуют - в каждый AVR встроен аппаратный загрузчик по SPI.

хочешь - шей программатором, хочешь бутлоадером... - через программатор.

osetroff
Offline
Зарегистрирован: 27.08.2014

Аппаратный загрузчик я и назвал ISP.

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

Логика понятна - чтобы куски кода врагу не достались.

Потому и интересуюсь, есть ли загрузчик по SPI, который аналогично загрузчику optiboot чистит флэш только там, куда ведет запись?

 

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

osetroff пишет:

Потому и интересуюсь, есть ли загрузчик по SPI, который аналогично загрузчику optiboot чистит флэш только там, куда ведет запись?

откуда инфа что именно optiboot чистит что-то там, а не что-то здесь?

osetroff
Offline
Зарегистрирован: 27.08.2014

Из исходников, optiboot стирает страницу flash, затем пишет в нее.

При программировании через ISP стирается весь флеш, потом в него идет запись.

Emeljanowich
Emeljanowich аватар
Offline
Зарегистрирован: 30.04.2015

Здравствуйте! Делал подобные манипуляции с 8535, все получилось. Работает на внутреннем генераторе на 8МГц. Едирственно что она прошивается только с помошью "загрузить с помощь программатора", т.е. по средствам SPI. Выковырял Unoвскую атмегу, вместо нее подключил контакты UART 8535 - не шьется. Подскажите, пожалуйста, что не так?

Для чего нужен "Программный UART" в конструкторе загрузчика?

Еще у меня есть халявные ATmega128, очень хочу подружить их с ардуино, помогите пожалуйста. Может MaksMS в конструктор бутлоадеров добавит данный мк? Заранее спасибо!) 

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

Emeljanowich пишет:

 Выковырял Unoвскую атмегу, вместо нее подключил контакты UART 8535 - не шьется. Подскажите, пожалуйста, что не так?
 

Если не ошибаюсь, где-то на сайте с конструктором загрузчика написано , что Attiny  не поддерживают загрузку через UART. Если я не прав- MaksMS поправит.

Emeljanowich
Emeljanowich аватар
Offline
Зарегистрирован: 30.04.2015

8535 это ATmega. Я уже разобрался. Нашел этот чудесный сайт https://github.com/MCUdude/MightyCore это для 128,   https://github.com/MCUdude/MightyCore это для 8535 и др. Спасибо spa-sam и slider!)

NikitosZs
NikitosZs аватар
Offline
Зарегистрирован: 26.09.2013

Чукча не читатель, Чукча -- писатель!

Не читаю все сообщения, написанные до меня. Пишу о найденной ошибке:

Атмега8, внешний кварц 16МГц, выключены сиды загрузки, без програмного УАРТа. 

Получаю блок для ардуины:

a8_16MHz.name=atmega8 (16 MHz) 
a8_16MHz.upload.protocol=arduino 
a8_16MHz.upload.maximum_size=7680 
a8_16MHz.upload.speed=115200 
a8_16MHz.bootloader.low_fuses=0xbf 
a8_16MHz.bootloader.high_fuses=0xdc 
a8_16MHz.bootloader.path=optiboot 
a8_16MHz.bootloader.file=a8_16MHz_bf_dc.hex 
a8_16MHz.build.mcu=atmega8 
a8_16MHz.build.f_cpu=16000000L 
a8_16MHz.build.core=arduino 
a8_16MHz.build.variant=standard 

 Который в лучшем случае отработает 1 раз. Если вообще отработает... 

Верный блок выглядит так:

a8_16MHz.name=atmega8 (16 MHz) 
a8_16MHz.upload.protocol=arduino 
a8_16MHz.upload.maximum_size=7680 
a8_16MHz.upload.speed=115200 
a8_16MHz.bootloader.low_fuses=0xbf 
a8_16MHz.bootloader.high_fuses=0xcc 
a8_16MHz.bootloader.path=optiboot 
a8_16MHz.bootloader.file=a8_16MHz_bf_dc.hex 

a8_16MHz.bootloader.unlock_bits=0x3F
a8_16MHz.bootloader.lock_bits=0x0F

a8_16MHz.build.mcu=atmega8 
a8_16MHz.build.f_cpu=16000000L 
a8_16MHz.build.core=arduino 
a8_16MHz.build.variant=standard 

Что в нём изменено: Добавлены лок биты, выставлен параметр работы с кварцами свыше 8миМГц, который и выбрал в настройках.

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

Шил через мой подправленный блок загрузки -- всё работает прекрасно. 

AleksLux
Offline
Зарегистрирован: 23.04.2017

Добавьте в конструктор нестандартные частоты кварца, хотяб до 32. спасибо

axill
Offline
Зарегистрирован: 05.09.2011

AleksLux пишет:

Добавьте в конструктор нестандартные частоты кварца, хотяб до 32. спасибо

это какой МК вы собрались до 32 разгонять?

sirota
Offline
Зарегистрирован: 18.08.2015

axill пишет:

AleksLux пишет:

Добавьте в конструктор нестандартные частоты кварца, хотяб до 32. спасибо

это какой МК вы собрались до 32 разгонять?

А что? Мега328 шуршала ) Конечно на радиаторе, бывало сбоила если на долго, но по мелочи отрабатывала без проблем. А вообще 27МГц это край стабильности.

Вот бы кто нормально оптибут к меге 2560 приделал.

axill
Offline
Зарегистрирован: 05.09.2011

И зачем это изврат? Возьмите stm32 и гоняйте от 48мгц в зависимости от модели МК

axill
Offline
Зарегистрирован: 05.09.2011

И зачем этот изврат? Возьмите stm32 и гоняйте от 48мгц в зависимости от модели МК

sirota
Offline
Зарегистрирован: 18.08.2015

axill пишет:

И зачем это изврат? Возьмите stm32 и гоняйте от 48мгц в зависимости от модели МК

Потребность. Есть софт который под стм не перегнать, точнее перегнать, но страшными костылями.

axill
Offline
Зарегистрирован: 05.09.2011

sirota пишет:

Потребность. Есть софт который под стм не перегнать, точнее перегнать, но страшными костылями.

я бы выше 20мгц атмега328 не гонял. От лукавого это

ну а если софт не перегонять тогда виртуальную машину и гонять ее на какой нибудь апельсинке с ядром 1.2ггц

если уж извращаться так по крупному)

настройка частоты в бутлоадере влияет только на настройку uart. Если прошивать будете через ISP то эта настройка не важна. Для прошивки через загрузчик достаточно в программаторе скорректировать настройку скорости uart

sirota
Offline
Зарегистрирован: 18.08.2015

axill пишет:

sirota пишет:

Потребность. Есть софт который под стм не перегнать, точнее перегнать, но страшными костылями.

я бы выше 20мгц атмега328 не гонял. От лукавого это

ну а если софт не перегонять тогда виртуальную машину и гонять ее на какой нибудь апельсинке с ядром 1.2ггц

если уж извращаться так по крупному)

настройка частоты в бутлоадере влияет только на настройку uart. Если прошивать будете через ISP то эта настройка не важна. Для прошивки через загрузчик достаточно в программаторе скорректировать настройку скорости uart

Мне нужны все ноги что есть в 2560, мне нужен уарт. Что тебя ну устраивает? Дельного совета нет - пройди мимо.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

sirota пишет:

Вот бы кто нормально оптибут к меге 2560 приделал.

Ну вы что? Я вам полгода назад в этой же теме дал ссылку на оптибут для 2560. И сам его потом шил, всё ок.

AleksLux
Offline
Зарегистрирован: 23.04.2017

AleksLux пишет:

Добавьте в конструктор нестандартные частоты кварца, хотяб до 32. спасибо

Большое спасибо автору что откликнулся и оперативненько добавил!

Хоть я уже и разобрался сам как компилить в ручную, но все равно полезно, особенно новичкам! и сильно экономит время пенсионерам))!

Для скептиков на 30MHz нормально работает! и даже есть популярные проэкты заточенные под это))

Буржуи пишут http://forum.arduino.cc/index.php?topic=280417.0 что и на 32MHz все у них прекрасно пашет!

еще прения https://forum.arduino.cc/index.php?topic=310478.0

По англиЦки не понимаю , если че))

А вот дальше уже судя по всему печально))

п.с. да и вообще тут вопрос не зачем, тут вопрос Надо!))

axill
Offline
Зарегистрирован: 05.09.2011

AleksLux пишет:

еще прения https://forum.arduino.cc/index.php?topic=310478.0

По англиЦки не понимаю , если че))

а по английски там написано примерно тоже, что я выше написал на русском)

немного в других терминах, но суть таже - не рекомендовано, но если очень хочется, то ктож запретит

единственно - глупо надеяться, что если оно заработало сегодня, то будет работать завтра и если заработало один раз то заработает другой

раз Максим так быстро добавил, значит читает ветку, это хорошо) вдруг и у меня возникнут безумные идеи)