Правильно ли шью чистые МК?

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

1. Шью через USBasp по spi, arduino IDE 1.8.5 (пока так удобнее), чип в заведомо рабочей плате

2. Проверил в eXtreme Burner - чип читается

3. Добовляю поддержку в IDE, репозиторий

4. Пробую на 48й меге: выбираю пример блинк, выбираю плату из только что добавленых, жму загрузить через програматор. Всё ок, только проблема с тактированием, на плате есть кварц на 16МГц, с фьюзами пока не заморачивался.

5. Пробую на 328p: из тогоже репозитория выбираю свой МК, 16Мгц:

http://ibb.co/eiuLqn][img]http://thumb.ibb.co/eiuLqn/image.jpg

или пробовал через стандартную плату pro/pro mini:

http://ibb.co/mQ6pi7][img]http://thumb.ibb.co/mQ6pi7/image.jpg

6. С n-го раза блинк заливается, диод маргает, косяк с кварцем и фьюзами. Пробую ещё раз залить прошивку - всё, IDE сыпит ошибки: не получается с sck, 0x00 != 0x00что-то там, не тот чип или сигнатура....под конец eXtreme Burner перестёт читать чип...

Что делаю не так? Спасибо

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Битые ссылки на изображения, вот рабочие

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

.c8r пишет:

Битые ссылки на изображения, вот рабочие

сюда картинко воткнуть - западло? О_О

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

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

Порядок я вам описывал тут

 

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Да, искал решение что у меня не так - прочитал про конструктор Bootloader`а. Ошибка у меня была в этом.

Правильно ли я понял (если я хочу работать в arduino IDE):

1. Создаю загрузчик тут

2. Кладу загрузчик в hex-формате в папку bootloaders и добовляю свой МК в board.txt

3. Через USBasp прошиваю загрузчик

4. Заливаю через USBasp из IDE скетчи в МК

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

.c8r пишет:

Да, искал решение что у меня не так - прочитал про конструктор Bootloader`а. Ошибка у меня была в этом.

Правильно ли я понял (если я хочу работать в arduino IDE):

1. Создаю загрузчик тут

2. Кладу загрузчик в hex-формате в папку bootloaders и добовляю свой МК в board.txt

3. Через USBasp прошиваю загрузчик

4. Заливаю через USBasp из IDE скетчи в МК

зачем ты заливаешь загрузчик? - чисто напоржать интересно. О_О

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

У вас уже установлен  пакет MiniCore. Там все уже есть- загрузчики ко всем  МК ядра.

Просто при первом подключении  МК - выбирите в списке свой МК и ниже(в той же вкладке  "инструменты") -нажмите на надпись"Записать Загрузчик". И все!

Тип програматора выбираете тот , который у вас-  USBasp.

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

Но если есть желание - можете создавать загрузчик через конструктор.

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Попробовал 2 варианта:

1. Записать загрузчик, miniCore, atmega328,16MHz - залил загрузчик - получил кирпич.... eXtreme Burner перестал читать чип

2. Создал загрузчик в конструкторе, кинул в папку ide, добавил строчки в boards , залил скетч с помощью програматора - всё ОК, только не та частота работы.

Уловил закономерность: до этого и сейчас чипы переставали реагировать после прошивок загрузчика...

Через раз вылетает это:

https://hostingkartinok.com/show-image.php?id=6fd73904fa85356d54597883543a48fd  (не вкурил как прикрепить по человечьи)

но стоит прочитать в eXtreme Burner - начинает заливать скетчи

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

.c8r пишет:

Уловил закономерность: до этого и сейчас чипы переставали реагировать после прошивок загрузчика...

алё! гараж, зачем ты шьёшь загрузчик, ели скетчи заливаешь программатором - ты здоров?

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

.....на один чип заливал загрузчик - сразу камень 

другой шил програматором, без загрузчика - всё ок не считая работы с кварцем

В рот тебе ноги

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

.c8r пишет:

.....на один чип заливал загрузчик - сразу камень 

другой шил програматором, без загрузчика - всё ок не считая работы с кварцем

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

.c8r пишет:

6. С n-го раза блинк заливается, диод маргает, косяк с кварцем и фьюзами. Пробую ещё раз залить прошивку - всё, IDE сыпит ошибки: не получается с sck, 0x00 != 0x00что-то там, не тот чип или сигнатура....под конец eXtreme Burner перестёт читать чип...

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Жду авторитетного мнения как решить мою проблему, с этим чудом (см. выше) общаться желания больше нет.

Напомню: записать загрузчик не получается - чип перестаёт отвечать, заливаю код через програматор - косяк с тактированием от внешнего кварца.

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

.c8r пишет:

Жду авторитетного мнения как решить мою проблему, с этим чудом (см. выше) общаться желания больше нет.

ты можешь ждать до смерти - твоя проблема уникальна.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

.c8r пишет:

Жду авторитетного мнения как решить мою проблему, с этим чудом (см. выше) общаться желания больше нет.

Напомню: записать загрузчик не получается - чип перестаёт отвечать, заливаю код через програматор - косяк с тактированием от внешнего кварца.

Ну так фьюзы надо правильные выставлять. По умолчанию он ставит тактирование от внутреннего RC на 8 МГц с делением на 8.  Если мы за Atmega8 говорим.

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

DetSimen пишет:

Ну так фьюзы надо правильные выставлять. По умолчанию он ставит тактирование от внутреннего RC на 8 МГц с делением на 8.  Если мы за Atmega8 говорим.

сказано же было: "авторитетного мнения", а не мнения упоротого кота.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ок. Молчу. 

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

DetSimen пишет:

.c8r пишет:

Жду авторитетного мнения как решить мою проблему, с этим чудом (см. выше) общаться желания больше нет.

Напомню: записать загрузчик не получается - чип перестаёт отвечать, заливаю код через програматор - косяк с тактированием от внешнего кварца.

Ну так фьюзы надо правильные выставлять. По умолчанию он ставит тактирование от внутреннего RC на 8 МГц с делением на 8.  Если мы за Atmega8 говорим.

 

Смотрите начало темы, всё выставленно и перепроверенно

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

.c8r пишет:

Смотрите начало темы, всё выставленно и перепроверенно

да. все, смотрите в начало темы и не пишите глупости.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

.c8r пишет:
.....на один чип заливал загрузчик - сразу камень

другой шил програматором, без загрузчика- всё ок не считая работы с кварцем

1. Выкиньте USBAsp, ибо это говнонедопрограмматор. ArduinoISP из Uno/Duemilanove, как вариант - из Leonardo.

2. Порядок действий таков:

- собираю плату со всей мишурой и питанием, с кварцем, либо на плате развести пады XTAL1, XTAL2.

- выставляю всё как надо (на кварц), жгу загрузчик.

- если надо на 8 Мгц, меняю на 8 МГц без кварца, жгу загрузчик

- - снимаю кварц

- - можно работать

- если не надо, то можно работать.

Под работой понимается либо через usb сериал переходник с загрузчиком, либо overwrite загрузчика скетчем по ISP. То есть, я жму команду "Burn bootloader" только ради того чтобы встали правильные фьюзы.

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

Upd. Версия среды 1.0.5

Upd2. Существует доработанный скетч ArduinoISP, выдающий на D3 тактовый сигнал 1 МГц, его подавать в XTAL1. Мне в моей практике ни разу не понадобилось. Так - чисто для информации, что такое есть.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Поставил минус за наезд на USBASP.
Не верьте ему, он всё врёт!

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Резюме моего скромного, трёх-дневного опыта по прожигу чистых МК (шил через USBasp, через ArduinoISP тоже пробовал):

при попытке залить бутлоадер МК сразу превращался в кирпич, выпаивал из схемы с кварцем - пробовал читать - кирпич =(

заливал прошивку без заливки бутлоадера - всё удачно, кроме частоты работы, т.е. она не соответствовала желаемой. Шил в схеме с кварцем, без кварца пока не пробовал - тупо убил 3 МК, которые были в наличии.

Сейчас планирую приобрести ещё МК для опытов. Т.е. пока вообще не нашел для себя 100% рабочего алгоритма...

Информации полно, у всех получается, но пока не могу преодолеть тот самый нубский барьер.

Уточню для след.попыток:

1. Схема планируется с кварцем, соотв-но шить МК надо с обвязкой в виде кварца и кондёров?

2. Бутлоадер конструирую так: картинка

3. Шью через Arduino IDE, соотв-но закидываю hex в нужную папку и редактирую boards.txt

4. Выбираю программатор USBasp или ArduinoISP

5. Вот тут вопрос: шью сначала загрузчик, потом заливаю скетчи через TTL или сразу лью скетчи через ISP? 

6. Вроде всё, что-то упустил?

Запись загрузчика вроде как ведёт к ваставлению фьюзов? Может выставить старший и младший биты сторонним софтом и достаточно...или нет?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Начните с чтения и дешифрации фьюзов.
Сравните то что считали и то что программируется при записи бутлодэра./
(Это в boards.txt)

Например про любимый Нано сказано вот это:
 

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

nano.name=Arduino Nano

nano.upload.tool=avrdude
nano.upload.protocol=arduino

nano.bootloader.tool=avrdude
nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F

nano.build.f_cpu=16000000L
nano.build.board=AVR_NANO
nano.build.core=arduino
nano.build.variant=eightanaloginputs

## Arduino Nano w/ ATmega328P
## --------------------------
nano.menu.cpu.atmega328=ATmega328P

nano.menu.cpu.atmega328.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.speed=57600

nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

nano.menu.cpu.atmega328.build.mcu=atmega328p

 

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Делаю бутлоадер, получаю такие фьюзы:

a328p_16MHz.bootloader.low_fuses=0xff 
a328p_16MHz.bootloader.high_fuses=0xde 
a328p_16MHz.bootloader.extended_fuses=0x5

ссылка

Почему-то расхождения с вашими, стандартыми для нано...?

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

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

Набираете "калькулятор фьюзов", открываете ссылку , выбираете свой МК и смотрите - ваши фьюзы отличаются от "стандартных" размером бутлоадера и уровнем brown-out. Если ваш собраный бутлоадер помещается в 256 слов - эта разница в значения фьюзов несущественна для загрузки.

 

Скажите - что за МК у вас? атмега328 в ДИП корпусе?

 

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

b707,

По Вашей ссылке разобрался: вбиваю фьюзы, смотрю в табличке-расшифровке. Теперь яснее.

>Скажите - что за МК у вас? атмега328 в ДИП корпусе?

48-е, 162-е и 32-е, корпус TQFP. Пока не преобрёл еще партию для экспериментов, т.е. второй попытки не предпринимал.

p.s.

>вы столько мучаетесь с этим вопросом

не так уж и много =) , часов 6-7 потрачено, правда запорол 3 МК, зато хоть в голове яснее.