Fuse-биты

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

dimax пишет:

andycat, причём тут фьюзы. Компилятору нужно сказать фактическую  тактовую частоту МК.

так я ж указал, из выше сообщения, добавил блок:

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

cadil.name=Cadil Uno 8MHz

cadil.vid.0=0x2341
cadil.pid.0=0x0043
cadil.vid.1=0x2341
cadil.pid.1=0x0001
cadil.vid.2=0x2A03
cadil.pid.2=0x0043
cadil.vid.3=0x2341
cadil.pid.3=0x0243

cadil.upload.tool=avrdude
cadil.upload.protocol=arduino
cadil.upload.maximum_size=32256
cadil.upload.maximum_data_size=2048
cadil.upload.speed=57600

cadil.bootloader.tool=avrdude
cadil.bootloader.low_fuses=0xFF
cadil.bootloader.high_fuses=0xDE
cadil.bootloader.extended_fuses=0xFE
cadil.bootloader.unlock_bits=0x3F
cadil.bootloader.lock_bits=0x0F
cadil.bootloader.file=optiboot/optiboot_atmega328.hex

cadil.build.mcu=atmega328p
cadil.build.f_cpu=8000000L
cadil.build.board=AVR_UNO
cadil.build.core=arduino
cadil.build.variant=standard

 

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

andycat, но ваша частота 1 МГц, а не 8 !!!

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

dimax пишет:

andycat, но ваша частота 1 МГц, а не 8 !!!

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

Green
Онлайн
Зарегистрирован: 01.10.2015

Заводская как раз 1.

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

снял галочку CKDIV8 - частота стала 8МГц, светодиод моргает корректно, но без внешнего кварца не работает, опять вернулся к тому же с чего и начал эксперименты.....

Может ли Atmega328p работать на частоте 8 Мгц без внешнего кварца?

b707
Offline
Зарегистрирован: 26.05.2017

andycat пишет:

Может ли Atmega328p работать на частоте 8 Мгц без внешнего кварца?

да, у меня работает

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

b707 пишет:

andycat пишет:

Может ли Atmega328p работать на частоте 8 Мгц без внешнего кварца?

да, у меня работает

уже лучше, значит что то делаю не так....

 

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013
andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

Все устанавливаю по калькуляторам фьюзов, и в даташите чёрным по английски написано что стоит делитель на 8,который можно снять и будет 8 МГц, во всяком случае я так понял. Но без кварца внешнего не работает :(
Изучаю дальше....

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Помнится в 2014м хакинтош на седую голову надумал ставить. Было много вариантов, выбрал с калькулятором значений оборудова6ия чтоли, не помню и видеокарта «не заводилась для 3д», так я чего только не делал. Пока один с форума applelife.ru не сказал - сделай сам все патчи коннекторов  и будет щасте. Так и сделал. Хорошая система, но глючная на не родном железе. Как обновление - так патчи херач. Опять на винду вернулся и частично Линукс. 

Cadil
Offline
Зарегистрирован: 27.06.2018

dimax пишет:

Cadil, ищите свою ошибку ещё в чём-то.  С этим блоком и родным бутлоадером от UNO   мк  с кварцем  8МГц  будет без проблем заливаться через бутлоадер.

Проблема в чистом виде:

Начал с чистого листа - переустановил Arduino IDE.  Скетчи Arduino Uno заливаются в Atmega328P через программатор на плате Arduino Uno без проблем.  Как только перехожу на загрузку скетча (как Вы советовали) с  настройкой ИНСТРУМЕНТЫ -> Arduino Pro or Pro Mini, (8 MHz, 3.3V) получаю старый ответ:

Произошла ошибка при загрузке скетча
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
.....
Пробовал с кварцем 8 МГц, напряжением 3,3В - ответ такой же.
Где копать?
BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А зачем при прошивке 3,3В? Оно шьётся при 5В, это потом 3,3В устанавливайте. 

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

 Скетчи Arduino Uno заливаются в Atmega328P через программатор на плате Arduino Uno без проблем.  Как только перехожу на загрузку скетча (как Вы советовали) с  настройкой ИНСТРУМЕНТЫ -> Arduino Pro or Pro Mini, (8 MHz, 3.3V) получаю старый ответ:

Произошла ошибка при загрузке скетча
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

Если скетчи через программатор грузятся и работают, и задержки в коде правильной длительности - значит с конфигурацией МК и фьюзами все нормально и проблему надо искать либо в бутлодере, либо в аврдудке.

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Cadil пишет:

Начал с чистого листа - переустановил Arduino IDE.  Скетчи Arduino Uno заливаются в Atmega328P через программатор на плате Arduino Uno без проблем.  Как только перехожу на загрузку скетча (как Вы советовали) с  настройкой ИНСТРУМЕНТЫ -> Arduino Pro or Pro Mini, (8 MHz, 3.3V) получаю старый ответ:

Я вам такого никогда не советовал (выбирать в меню про/промини). Перечитайте диалоги.
Что делать:
-подключаете внешний программатор
-выбираете в меню программатора название своего программатора.
-выбираете в меню свою плату Cadil Uno
-выбираете в меню записать загрузчик
Готово. Теперь программы можно грузить через бутлоадер.
 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

dimax пишет:

Cadil пишет:

Начал с чистого листа - переустановил Arduino IDE.  Скетчи Arduino Uno заливаются в Atmega328P через программатор на плате Arduino Uno без проблем.  Как только перехожу на загрузку скетча (как Вы советовали) с  настройкой ИНСТРУМЕНТЫ -> Arduino Pro or Pro Mini, (8 MHz, 3.3V) получаю старый ответ:

Я вам такого никогда не советовал (выбирать в меню про/промини). Перечитайте диалоги.
Что делать:
-подключаете внешний программатор
-выбираете в меню программатора название своего программатора.
-выбираете в меню свою плату Cadil Uno
-выбираете в меню записать загрузчик
Готово. Теперь программы можно грузить через бутлоадер.
 

Подмена понятий на что хотелось бы...

Cadil
Offline
Зарегистрирован: 27.06.2018

dimax пишет:
Что делать:

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

Фантастика! Все прошло с первой попытки. Спасибо за подробную инструкцию. Успехов!

bwn
Offline
Зарегистрирован: 25.08.2014

andycat пишет:
Все устанавливаю по калькуляторам фьюзов, и в даташите чёрным по английски написано что стоит делитель на 8,который можно снять и будет 8 МГц, во всяком случае я так понял. Но без кварца внешнего не работает :( Изучаю дальше....

L - E2, H - D6, E - FF  
У меня с такими все работает. 

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

bwn пишет:

andycat пишет:
Все устанавливаю по калькуляторам фьюзов, и в даташите чёрным по английски написано что стоит делитель на 8,который можно снять и будет 8 МГц, во всяком случае я так понял. Но без кварца внешнего не работает :( Изучаю дальше....

L - E2, H - D6, E - FF  
У меня с такими все работает. 

попробую, спасибо.

P.S. Мне кажется зря я тут полемику устроил.....При включении нагрузки питание проседает до 3х вольт и вероятнее всего не хватает питания на 8 МГц, попозже припаяю внешнее питание и перепроверю. Сейчас питается все от USB ASP.

Cadil
Offline
Зарегистрирован: 27.06.2018

dimax пишет:
Что делать:

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

Столкнулся с еще одной проблемой. С ней, конечно, жить можно, но не хотелось бы.

Суть проблемы: 

- записываю в контроллер загрузчик, выполняя пп 1-4; 

- заливаю скетч - скетч корректно выполняется, все хорошо;

- теперь, чтобы залить в контроллер другой скетч, нужно повторно записать бутлоадер, а затем новый скетч. Поскольку при записи нового скетча без записи загрузчика ошибка -  avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 ...

Как уйти от повторной записи загрузчика? Заранее благодарю за помощь,

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

Суть проблемы: 

1)- записываю в контроллер загрузчик, выполняя пп 1-4; 

2)- заливаю скетч - скетч корректно выполняется, все хорошо;

3)- теперь, чтобы залить в контроллер другой скетч, нужно повторно записать бутлоадер,

я выше в вашем тексте поставил цифры по стадиям - опишите подробно, как вы заливаете скетч на стадии 2)

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

Cadil пишет:

 

- заливаю скетч - скетч корректно выполняется, все хорошо;

 

а через UART/USB заливаете скетч? скорость корректно выставлена?

Cadil
Offline
Зарегистрирован: 27.06.2018

b707 пишет:

я выше в вашем тексте поставил цифры по стадиям - опишите подробно, как вы заливаете скетч на стадии 2)

Перевожу плату Arduino UNO в режим записи скетчей, устанавливая соединения ArduinoUNO - Atmega328P (Reset - 1, Rx-2, Tx- 3). Короче - записываю через   ArduinoUNO.

Cadil
Offline
Зарегистрирован: 27.06.2018

andycat пишет:
а через UART/USB заливаете скетч? скорость корректно выставлена?

Если залить скетч через UART/USB, вставив контроллер в слот платы ArduinoUNO и выбрать плату ArduinoUNO, то скетч записывается и корректно выполняется. При переносе контроллера на макетку с внешним кварцем 8МГц - тоже все по науке: скорость 4800, а время выполнения операторов в 2 раза ниже. Как будто бутлоадера на 8 Мгц и не устанавливал...

 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

при записи не через USB, а через любой программатор, загрущик слетает. 

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

Cadil пишет:

b707 пишет:

я выше в вашем тексте поставил цифры по стадиям - опишите подробно, как вы заливаете скетч на стадии 2)

Перевожу плату Arduino UNO в режим записи скетчей, устанавливая соединения ArduinoUNO - Atmega328P (Reset - 1, Rx-2, Tx- 3). Короче - записываю через   ArduinoUNO.

повторюсь с вопросом - а зачем вам тогда вообще загрузчик?

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

Перевожу плату Arduino UNO в режим записи скетчей, устанавливая соединения ArduinoUNO - Atmega328P (Reset - 1, Rx-2, Tx- 3). Короче - записываю через   ArduinoUNO.

"перевожу Уно в режим записи скетчей" - это как?

ArduinoUNO - Atmega328P (Reset - 1, Rx-2, Tx- 3). - что за странная комбинация пинов. почему Rx-2, Tx- 3? На Уно Сериал на пинах 0 и 1 - и только их можно использовать при заливке, никакие другие

 

b707
Offline
Зарегистрирован: 26.05.2017

andycat пишет:

повторюсь с вопросом - а зачем вам тогда вообще загрузчик?

вот именно, и я тоже уже спрашивал.

Cadil. если у вас на плате нет встроенного переходника USB-UART - никакого смысла от загрузчика нет. Грузите скетчи по ISP. так же как вы заливаете загрузчик. Это значительно проще и, главное, работает всегда.

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

 время выполнения операторов в 2 раза ниже. Как будто бутлоадера на 8 Мгц и не устанавливал...

вам выше dimax уже говорил, что никакого "бутлоадера на 8 МГц" не бывает. Чтобы время работы операторов было правильное, нужно чтобы две установки - 1)фьюзы для МК и 2)параметр F_CPU в Ардуино ИДЕ - были для одной и той же частоты.

Cadil
Offline
Зарегистрирован: 27.06.2018

andycat пишет:
повторюсь с вопросом - а зачем вам тогда вообще загрузчик?

Тоже повторюсь: моя цель - добиться стабильной и корректной работы МК  Atmega328P c внешней обвязкой на частоте 8 МГц  и  напряжении питания не выше 3В.

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

Тоже повторюсь: моя цель - добиться стабильной и корректной работы МК  Atmega328P c внешней обвязкой на частоте 8 МГц  и  напряжении питания не выше 3В.

и зачем для этого загрузчик?

Cadil, у вас кша в голове , все перепутали

 

Cadil
Offline
Зарегистрирован: 27.06.2018

b707 пишет:
Грузите скетчи по ISP. так же как вы заливаете загрузчик. Это значительно проще и, главное, работает всегда.

Можно чуть подробнее?

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

b707 пишет:
Грузите скетчи по ISP. так же как вы заливаете загрузчик. Это значительно проще и, главное, работает всегда.

Можно чуть подробнее?

соединяете платы так же, как при записи загрузчика, в Уно заливаете скетч "Ардуино как ИСП", в меню программатора - тоже выбираете "Ардуино как ИСП"

После чего нажимаете не кнопку "Загрузить" , а в меню Скетч - "Загрузить через программатор"

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Cadil пишет:

Можно чуть подробнее?

"Скетч" - "Загрузить через программатор".

 

b707
Offline
Зарегистрирован: 26.05.2017

и такие ребята берутся писать статьи на Хабре о энергосбережении ардуино :)

Cadil, вы еще не осознали, насколько мало вы знаете об этом?

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

Итак все у меня заработало без кварца на 8МГц, сам дурак, дело было в питании, достаточно было просто снять CKDIV8.

 

b707
Offline
Зарегистрирован: 26.05.2017

andycat пишет:

Итак все у меня заработало без кварца на 8МГц, сам дурак, дело было в питании, достаточно было просто снять CKDIV8.

 

скорее всего не в питании. а в БодЛевеле, а так то атмега328 должна заводится на 8МГц при трех вольтах

andycat
andycat аватар
Онлайн
Зарегистрирован: 07.09.2017

b707 пишет:

andycat пишет:

Итак все у меня заработало без кварца на 8МГц, сам дурак, дело было в питании, достаточно было просто снять CKDIV8.

 

скорее всего не в питании. а в БодЛевеле, а так то атмега328 должна заводится на 8МГц при трех вольтах

не....там даже меньше падало, скачки сильные были, BOD я отключал. Щас запитал от аккум 18650 + стабилизатор - все гуд.

Cadil
Offline
Зарегистрирован: 27.06.2018

b707 пишет:
соединяете платы так же, как при записи загрузчика, в Уно заливаете скетч "Ардуино как ИСП", в меню программатора - тоже выбираете "Ардуино как ИСП"

После чего нажимаете не кнопку "Загрузить" , а в меню Скетч - "Загрузить через программатор"

Спасибо! Буду пользоваться этой схемой. Успехов!

Предполагал, что можно подкорректировать блок Cadil UNO 8MHz в board.txt и заблокировать стирание записанного ранее загрузчика. Ошибался ...

b707
Offline
Зарегистрирован: 26.05.2017

Cadil пишет:

Спасибо! Буду пользоваться этой схемой. Успехов!

следующим этапом по пути сбережения - выкиньте кварц(на 8 и менее МГц он не нужен) и понизьте частоту до 1 МГц.

bwn
Offline
Зарегистрирован: 25.08.2014

b707 пишет:

выкиньте кварц(на 8 и менее МГц он не нужен) и понизьте частоту до 1 МГц.

Ну, хотя бы, первую часть совета. Могу понять 8 мегагерц, на внутреннем генераторе (есть проблемы с заливкой через бут), для кварца смысл теряется полностью. ИМХО.
Сбережение, слава аллаху, меня пока не задевало.)))

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Cadil пишет:

Предполагал, что можно подкорректировать блок Cadil UNO 8MHz в board.txt и заблокировать стирание записанного ранее загрузчика. Ошибался ...

Загрузчик портится из-за того, что вы где-то сделали ошибку. Есть три вещи, которые должны соответствовать друг другу. -бутлоадер и фьюзы в мк , и выбранная плата в ide . У вас что-то не соответствует.

b707
Offline
Зарегистрирован: 26.05.2017

dimax пишет:

Загрузчик портится из-за того, что вы где-то сделали ошибку.

с учетом того, что он соединяет платы через ноги 2 и 3 на Уно - черт его разберет, что он там еще наворотил.

Секешфехервар
Секешфехервар аватар
Offline
Зарегистрирован: 06.09.2018

Тож вопрос по фьюзам,
дано: ардуино иде 1.8.5 без модификаций и каких либо вмешательств с моей стороны скачанная с офф сайта.
Камень атмега 328p au, кварц 16 мГц
Программатор usbisp
После загрузки бутлоадера, фьюзы считываются как под кварц 8мГц.
Бутлоадер пробовал шить выбирая платы уно, нано, промини, там где была возможность вручную выбирал частоту камня, тем не менее после прошивки бутлоадера фьюзы считываются как: LOW - FF; HIGH - DA; EXTENTED - FD.
Тем не менее счетчики времени отрабатывают корректно.
Вопрос 1) в чём подвох ?
2) если подключить сторонние платы "minicore" и выбрать 328 мегу 16 мГц фьюзы прошиваются нормально ( F7, D6, FD), но не установлена галка ватчдог всегда включен, будет ли он (ватчдог) работать корректно если его подрубить программно ?

rkit
Онлайн
Зарегистрирован: 23.11.2016

Секешфехервар пишет:
Тож вопрос по фьюзам, дано: ардуино иде 1.8.5 без модификаций и каких либо вмешательств с моей стороны скачанная с офф сайта. Камень атмега 328p au, кварц 16 мГц Программатор usbisp После загрузки бутлоадера, фьюзы считываются как под кварц 8мГц. Бутлоадер пробовал шить выбирая платы уно, нано, промини, там где была возможность вручную выбирал частоту камня, тем не менее после прошивки бутлоадера фьюзы считываются как: LOW - FF; HIGH - DA; EXTENTED - FD. Тем не менее счетчики времени отрабатывают корректно. Вопрос 1) в чём подвох ? 2) если подключить сторонние платы "minicore" и выбрать 328 мегу 16 мГц фьюзы прошиваются нормально ( F7, D6, FD), но не установлена галка ватчдог всегда включен, будет ли он (ватчдог) работать корректно если его подрубить программно ?

Во фьюзах частота кварца не указывается. Во фьюзах указывается что подключен кварц и всё. И счетчики времени на фьюзы не смотрят.

Секешфехервар
Секешфехервар аватар
Offline
Зарегистрирован: 06.09.2018

Во фьюзах частота кварца не указывается. Во фьюзах указывается что подключен кварц и всё. И счетчики времени на фьюзы не смотрят.

[/quote]
Интересно, в калькуляторе фьюзов когда меняешь кварцы и фьюзы меняются.. То есть связи нет ? У меня сейчас башка лопнет...
Хотелось бы услышать другие мнение.

rkit
Онлайн
Зарегистрирован: 23.11.2016

Секешфехервар пишет:

Хотелось бы услышать другие мнение.

Хотелось бы услышать то, что хотелось бы услышать, вместо правды? Нда.

bwn
Offline
Зарегистрирован: 25.08.2014

Секешфехервар пишет:

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

В вашем случае, внешние кварцы записаны как >=8МГц. 
Для LOW - FF: внешний кварц >=8МГц, делитель на 8 отключен, вывод частоты в порт отключен, задержка старта 65mS.

Секешфехервар
Секешфехервар аватар
Offline
Зарегистрирован: 06.09.2018

Ок вкурил, спасибо.