Atmega128 vs Atmega128a

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

Доброе время суток.

Нужен совет, может быть кто-то сталкивался с этой проблемой.

Есть устройство, на нем стоит Atmega128 и все прекрасно работает. Прошиваю её через Arduino as ISP (MegaCore). Работает с разными кварцами и проблем не возникает (8 и 16 МГц).

На тоже самое место ставлю Atmega128A и кварц перестает генерить. Пробовал и 16 МГц и 8 МГц. Пробовал даже внутренний генератор. Питание идеальное и т.д. и т.п. Шьется МК без проблем, тем же самым методом. Только вот запускаться никак не хочет.

Хотелось что бы устройство было более универсальным к контроллерам. Что-бы запаять можно было то, что более доступное, в том числе и Atmega64, Atmega64a. Что я делаю не так? Подскажите пожалуйста.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

А 128а у тебя в одном экземпляре? Другие не пробовал? И какой chip revision?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DiegoUnderDark пишет:
Что я делаю не так?
Схему, фото и скетч не выкладываете.

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

asam пишет:

А 128а у тебя в одном экземпляре? Другие не пробовал? И какой chip revision?

128а две, обе одинаково не заводятся. Другие это просто 128, кстати их тоже 2 и обе работают. Про Ревизию смогу сказать только завтра.

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

ЕвгенийП пишет:

DiegoUnderDark пишет:
Что я делаю не так?
Схему, фото и скетч не выкладываете.

Все что вы увидите на схеме это стандартную обвязку по питанию, конденсаторы на 22 Пика, Кварц и подтяжку по резету. Скетч в этом плане не важен. Даже "Блинк" не работает. Фото к сожалению скинуть сейчас не могу, смогу завтра.

maks321
Offline
Зарегистрирован: 28.10.2020

конфигурацию фьюзов можно узреть?

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

Уточню вопрос. Правильно ли MegaCore работает с 128А. Ибо в списке есть только простая 128. Собственно так её и шью. Вот и интересно был ли опыт у кого либо?

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

maks321 пишет:

конфигурацию фьюзов можно узреть?

К сожалению нет, я не понимаю о чем речь ) Я беру блинк... Там он работает, а там нет.) Как я понимаю все фьюзы конфигурирует Arduino IDE. Я радиотехник, но в программировании я деревянный. Посему и взялся за Arduino IDE, что бы создать свой "мега коммутатор". Ибо кодить просто.

 

maks321
Offline
Зарегистрирован: 28.10.2020

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

maks321
Offline
Зарегистрирован: 28.10.2020

DiegoUnderDark пишет:

maks321 пишет:

конфигурацию фьюзов можно узреть?

К сожалению нет, я не понимаю о чем речь ) Я беру блинк... Там он работает, а там нет.) Как я понимаю все фьюзы конфигурирует Arduino IDE. Я радиотехник, но в программировании я деревянный. Посему и взялся за Arduino IDE, что бы создать свой "мега коммутатор". Ибо кодить просто.

нкодииь просто на оборудовании ардуино, вы у них купили и у китайцев?

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

maks321 пишет:

DiegoUnderDark пишет:

maks321 пишет:

конфигурацию фьюзов можно узреть?

К сожалению нет, я не понимаю о чем речь ) Я беру блинк... Там он работает, а там нет.) Как я понимаю все фьюзы конфигурирует Arduino IDE. Я радиотехник, но в программировании я деревянный. Посему и взялся за Arduino IDE, что бы создать свой "мега коммутатор". Ибо кодить просто.

нкодииь просто на оборудовании ардуино, вы у них купили и у китайцев?

Я всего лишь задал вопрос о том, имел кто-ли бо такую проблему. И хотел услышать ответ о разнице этих МК, так как сам в них разницы не вижу по датащитам. А у кого я их купил, дело пятое. Хотя мне кажется, что купил эти два МК у одного и того же производителя. И платформу Arduino ISP изобрел не Син Дзинь Пин на платформе XZ SHO.

 

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

DiegoUnderDark пишет:

maks321 пишет:

конфигурацию фьюзов можно узреть?

К сожалению нет, я не понимаю о чем речь ) Я беру блинк... Там он работает, а там нет.) Как я понимаю все фьюзы конфигурирует Arduino IDE. Я радиотехник, но в программировании я деревянный. Посему и взялся за Arduino IDE, что бы создать свой "мега коммутатор". Ибо кодить просто.

То, что вы не программист -не оправдание. Я узнал что такое fuse у м.к. задолго до того, как понял что писать программы для МК могут не только небожители, но и обычные люди. Первое что надо смотреть в вашем случае -это как раз какие текущие Fuse, без этого разговаривать вообще не о чем . Затем попробовать переключить их на тактирование от внутреннего RC генератора, только после этого можно делать первые выводы.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Можно попробовать Crumbuino прошить, она на 128a была
 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DiegoUnderDark пишет:

Все что вы увидите ...

Видимо, не увижу.

DiegoUnderDark пишет:

Скетч в этом плане не важен. 

А, так Вы знаете что важно, а что - нет. Ну, тогда разбирайтесь. Удачи!

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

Все прекрасно работает на Atmega 128A -64A .Брал у разных продавцов в разное время . Проблем не было. Ядро MegaCore  и последнее , и более ранние версии.Все прошивается и блимкает как надо .

DiegoUnderDark
Offline
Зарегистрирован: 30.09.2020

ЕвгенийП пишет:

DiegoUnderDark пишет:

Все что вы увидите ...

Видимо, не увижу.

DiegoUnderDark пишет:

Скетч в этом плане не важен. 

А, так Вы знаете что важно, а что - нет. Ну, тогда разбирайтесь. Удачи!

Скинуть скетч Блинка?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DiegoUnderDark пишет:

Скинуть скетч Блинка?

Нет, спасибо. Мне не нужно, у меня всё нормально работает.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Так, сначала прошили bootloader, потом подключили через UART-USB прошили блинк из примеров и не работает?

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

DiegoUnderDark пишет:

maks321 пишет:

конфигурацию фьюзов можно узреть?

К сожалению нет, я не понимаю о чем речь )

ну так разберитесь.  Судя по симптомам - 90% дело именно во фьюзах. Вам нужно их прочитать и написать сюда. Сделать это можете только вы.

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

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

DiegoUnderDark, вопрос так и не решили с 128А? Такая же ерунда с ним в ARDUINO IDE - не шьет фьюзы при выборе разного источника тактирования (хотя и использую только 16Мгц кварц). Фьюзы прошиваю через AVRDUDEPROG. IDE не хочет менять. Также не шьет через загрузчик. Прошил через USBASP загрузчик, но через СН341 контроллер тоже не шьется. Хотя дело может в не правильном подключении.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

Использую Atmega 128 несколько лет и многО( платы развел под них и несколько раз по десять штук заказал на JLCPBC) . Кроме этого сам делал платы под них.

Работаю с MegaCore c  самых первых версий. Про фюьзы знаю , но как-то ни разу не заморачивался с ними- не было потребности.

Как вы умудряетесь все так усложнять?

Начинайте с простого. Залейте загрузчик через usbasp ,arduino или что у вас там есть  из среды АРДУИНО.  Попробуйте залить БЛИНК  через УАРТ , поиграйтесь , а потом усложняйте себе задачу.

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

Как-то за несколько лет сложностей (непреодолимых )не возникало. МК закупаю малыми партиями у разных продавцов.

Зачем прошивать фюьзы в одной программе , а потом загрузчик или ХЕКс в другой? В чем необходимость?Кто мне объяснит?

 

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Я же уже об этом говорил в другой теме, были 2 проблемы: 1 из-за моей невнимательности, 2ю так и не решил. Как раз с фьюзами - не шьются они чере Ардуино IDE. Поэтому и перепрошивал их через AVRDUDEPROG. Хотя, когда только начинал проект, все работало нормально. Проверял блинком, меняю тактовую частоту проца и светодиод с ума сходит. Также залил загрузчик через USBASP, думал через него фьюзы нормально будут прошиваться, но камень через него не шьется. Подключал по схеме с гитхаба. Загрузчик и прошивка через usbuart не принципиальна, но все же хочется разобраться в чем проблема.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

 

P.S. Всем спасибо! Сам затупил - установил 10 выход и подключил к 10 выводу, а он по факту в IDE 8.

Осталась проблема с фьюзами, при выборе из меню источника тактирования - он не меняется (проверяю чтением фьюзов в avrdudeprog). Как зашил 16Мгц от внешнего кварца так и есть.
 

У Вас была проблема с работой  матриц. Так заработали матрицы или нет? И какое тактирование вы пытаетесь  запустить на Атмеге 128?

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Матрицы заработали, CS пин не верный указал. Подключил к 10 и указал в скетче 10, хотя нужно было 8. А вот фьюзы так и не поборол. Не хотят они через ide заливаться.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:
А вот фьюзы так и не поборол. Не хотят они через ide заливаться.

Что вы от фьюзов КОНКРЕТНО желаете получить?

mir0tv0rec пишет:
.... CS пин не верный указал. Подключил к 10 и указал в скетче 10, хотя нужно было 8...?????

И расшифруйте  вот эту часть вашего комментария.

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Plasteroid пишет:

Что вы от фьюзов КОНКРЕТНО желаете получить?

И расшифруйте  вот эту часть вашего комментария.

1. Чтобы они шились в соответствии с выбранным источником  тактирования.

2. В скетче сначала указал 10 порт #define CS_PIN 10, подключил к 10 выводу МК (у меня не отладочная плата а переходник на гребенку с указанными номерами ножек).

Проще наверное так, должно быть:

CS - 10 нога - 8 порт PB0, а я сначала указал 10 порт

CLK - 11 нога - 9 порт PB1

DIO - 12 нога - 10 порт PB2

 

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

1. Чтобы они шились в соответствии с выбранным источником  тактирования.

Когда вы выбираете , к примеру ,8МГц  external , у вас загрузчик заливается ? А потом через УАРТ скетчи заливаются?

mir0tv0rec пишет:

CS - 10 нога - 8 порт PB0, а я сначала указал 10 порт

CLK - 11 нога - 9 порт PB1

DIO - 12 нога - 10 порт PB2

Если вы подключали CS к 10  пину , то куда вы подключали MOSI?

Вы эту картинку на гитхабе видели ? Наименования пинов в среде ардуино выделено четвертым сверху  цветом. Что там непонятного?

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

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

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:
Ну, я что-то не так написал? С этим я уже разобрался, осталось понять, почему фьюзы не прошиваются. Видимо из-за них и через загрузчик не шьется, т.к. после сброса запускается программа, а не загрузчик.

Лог ошибки при попытке прошивки из ИДЕ  можем посмотреть?

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018
avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
 
         System wide configuration file is "C:\Users\Roman\AppData\Local\Arduino15\packages\MegaCore\hardware\avr\2.0.4/avrdude.conf"
 
         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe0
 
Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
 
         System wide configuration file is "C:\Users\Roman\AppData\Local\Arduino15\packages\MegaCore\hardware\avr\2.0.4/avrdude.conf"
 
         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe0
 

Это у вас выдает при попытке прошивки скетча через УАРТ.

Уточню -лог ошибки при попытке прошивки загрузчика через программатор USBASP  из ИДЕ  можем посмотреть?

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Да, это через UART.

Сейчас вроде нашел причину, почему не загружается: по логам прошивался файл empty.hex с нулевым размером из папки с загрузчиком. Видимо нужно сразу выбрать порт через который потом прошивать...

Через USBASP фьюзы так и не изменяются при изменении источника тактирования.

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

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

Да, это через UART.

Сейчас вроде нашел причину, почему не загружается: по логам прошивался файл empty.hex с нулевым размером из папки с загрузчиком. Видимо нужно сразу выбрать порт через который потом прошивать...

Через USBASP фьюзы так и не изменяются при изменении источника тактирования.

"..прошивался файл empty.hex..." -как он прошивался ? Подробности мы увидим? Логи увидим? Порт выбираете при прошивке через УАРТ.

Но загрузчик шьется через ваш USBASP!!!

Я в последний раз  прошу у вас лог попытки загрузки загрузчика из среды Ардуино программатором USBASP!!!!!

Лог приведенный выше НЕ О ЧЕМ!!!!

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018
avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
 
         System wide configuration file is "C:\Users\Roman\AppData\Local\Arduino15\packages\MegaCore\hardware\avr\2.0.4/avrdude.conf"
 
         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega128
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :
 
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom         4    12    64    0 no       4096    8      0  9000  9000 0xff 0xff
           flash         33     6   128    0 yes    131072  256    512  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
 
         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/
 
avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e9702 (probably m128)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: reading input file "C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex"
avrdude: writing flash (65536 bytes):
 
Writing | ################################################## | 100% 15.89s
 
avrdude: 65536 bytes of flash written
avrdude: verifying flash memory against C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex:
avrdude: load data flash data from input file C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex:
avrdude: input file C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex contains 65536 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 11.83s
 
avrdude: verifying ...
avrdude: 65536 bytes of flash verified
 
avrdude done.  Thank you.
 
Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
 
         System wide configuration file is "C:\Users\Roman\AppData\Local\Arduino15\packages\MegaCore\hardware\avr\2.0.4/avrdude.conf"
 
         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega128
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :
 
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom         4    12    64    0 no       4096    8      0  9000  9000 0xff 0xff
           flash         33     6   128    0 yes    131072  256    512  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
 
         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/
 
avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e9702 (probably m128)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: reading input file "C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex"
avrdude: writing flash (65536 bytes):
 
Writing | ################################################## | 100% 15.89s
 
avrdude: 65536 bytes of flash written
avrdude: verifying flash memory against C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex:
avrdude: load data flash data from input file C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex:
avrdude: input file C:\Users\Roman\AppData\Local\Temp\arduino_build_618227/MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex contains 65536 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 11.83s
 
avrdude: verifying ...
avrdude: 65536 bytes of flash verified
 
avrdude done.  Thank you.
 

Все прекрасно у вас шьется .То что вы скармливаете-"MeteoStation_Clock_2xLED40x8_DS3231_BME280_RF430.ino.with_bootloader.hex"- то и шьется.

И потом работает.

А загрузчик вы пытались залить?

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Да, уже залил загрузчик и уже через него все заливаю. Осталась только 1 проблема - фьюзы через USBASP не меняются при прошивке, но это уже не важно и сильно не напрягает - использую только с 16Мгц кварцем.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

Да, уже залил загрузчик и уже через него все заливаю. Осталась только 1 проблема - фьюзы через USBASP не меняются при прошивке, но это уже не важно и сильно не напрягает - использую только с 16Мгц кварцем.

Человек  !!! Как у вас с русским ? Или я с деревом переписываюсь?Какой нахрен "залил загрузчик"? Вы тупо грузите HEX файл  с именем , в котором упоминается загрузчик с метеостанцией!!!!Где вы видели загрузчик?

Какие фьюзы должны меняться при заливке хекса?

ДАЙТЕ ЛОГ ЗАГРУЗКИ ЗАГРУЗЧИКА ЧЕРЕЗ USBASP!И опишите тщательно , пошагово  процесс заливки загрузчика в среде "АРДУИНО"

 

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Давайте не будем оскорблять друг друга. Я конечно признателен, что вы пытаетесь помочь, но оскорблений не потерплю в свой адрес...
Сейчас во всем разобрался, загрузчик прошил и через USBUART преобразователь все шьется нормально.
Пошагово так: прошил загрузчик через программатор, прошился. Далее шью скетч через UART - не шьется. Проблема была отвалившиеся проводе DTR на плате, как оказалось в последствии. Стал заливать скетчи через программатор, тут всплыла проблема - не меняются фьюзы тактирования при заливке скетча. Выяснил я это с помощью заливки блинка при смене кварца 8 на 16 МГц. Это так есть и сейчас, при выборе любой частоты фьюзы остаются для 16МГц кварца, как зашил изначально через avrdudeprog. А сегодня загрузчик не прошивался, т.к. забыл выбрать порт при его заливке. Логи смогу выложить только завтра, если они ещё актуальны... Ну как то так. Сейчас только фьюзы не устанавливаются под выбранный источник тактирования при прошивке через программатор. Все остальное вроде работает.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:
Сейчас во всем разобрался, загрузчик прошил и через USBUART преобразователь все шьется нормально. Пошагово так: прошил загрузчик через программатор, прошился. Далее шью скетч через UART - не шьется.

Не в коем случае не хотел вас оскорбить. Но меня терзают смутные сомнения , что русский вам не родной язык и мы свами общаемся через Гугол транслейтор.

Вы так и не разобрались ни хрена  и на мои просьбы - кладете болт.

Ваше "пошаговое описание " -это пипец.

 Пошагово описание прошивки загрузчика через USBASP в ардуино ИДЕ 1.8.5 примерно выглядит так:

1 Запускаем ИДЕ

2 В панели ИДЕ находим и открываем пункт"Инструменты"

3 проверяем пункт "Плата"- Atmega128, пункт "Clock-External 8MHz" к примеру.

4 Ниже находим пукт"Программатор" и в выпадающем меню выбираем "usbasp"

5 Подсоединяем ЮСБАСП к контролеру,убеждаемся в правильности соединений 7 раз  и подключаем к ЮСБ порту компьютера(того же компьютера, на котором ИДЕ1.8.5 запущена)

6 там-же ,в "Инструменты", в самом низу есть пункт "Записать загрузчик".Жмем его  и радуемся. ВСЕ!!!!

Могу еще сделать с картинками.

А теперь ЕЩЕ РАЗ СПРАШИВАЮ - как ВЫ прошивали загрузчик ?Что у вас вывело в лог?

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:
Это так есть и сейчас, при выборе любой частоты фьюзы остаются для 16МГц кварца, как зашил изначально через avrdudeprog. А сегодня загрузчик не прошивался, т.к. забыл выбрать порт при его заливке. .......Все остальное вроде работает.

Вы выбираете порт для USBASP? Научите и меня.

Не обижайтесь , но вы все делаете через "третье село колено ".

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Уточняю: выбираю из 3х пунктов, порт UARTO, UART1 или no bootloader. Сегодня, когда пытался прошить загрузчик, забыл выбрать порт UART (на самом деле не знал, что это нужно для прошивки загрузчика), был выбран no bootloader.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:
Уточняю: выбираю из 3х пунктов, порт UARTO, UART1 или no bootloader. Сегодня, когда пытался прошить загрузчик, забыл выбрать порт UART (на самом деле не знал, что это нужно для прошивки загрузчика), был выбран no bootloader.

Вы можете объяснить что делают эти пункты?Своими словами и как можно ПОДРОБНЕЕ.Я понимаю , что "краткость - сестра таланта" . Но это -не тот случай.

 

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Как я понял, выбирается то, с какими опциями будет залит загрузчик, если "Yes(UART0)", то соответственно, прошить можно, подключив USBtoUART к TXD0 и RXD0; UART1, соответственно, TXD1 и RXD1. Если выбираешь "No Bootloader", IDE, сразу пытается шить через программатор.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:

Как я понял, выбирается то, с какими опциями будет залит загрузчик, если "Yes(UART0)", то соответственно, прошить можно, подключив USBtoUART к TXD0 и RXD0; UART1, соответственно, TXD1 и RXD1. Если выбираешь "No Bootloader", IDE, сразу пытается шить через программатор.

Ооо , еще не все потеряно...Вы из , тех кто все и сразу , и ничего в ответ.

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



Картинки , как и обещал  и ниже лог загрузки бутлоадера(только Атмега64 ,а не 128 .Что было под рукой).Тактирование выбирайте согласно , тому что вы желаете.

 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega64
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom         4    20    64    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   128    0 yes     65536  256    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9602 (probably m64)
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):

G:\YandexDisk\arduino-1.8.5\hardware\tools\avr/bin/avrdude -CG:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/avrdude.conf -v -patmega64 -cusbasp -Pusb -Uflash:w:G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/bootloaders/optiboot_flash/bootloaders/atmega64/16000000L/optiboot_flash_atmega64_UART0_115200_16000000L_BIGBOOT.hex:i -Ulock:w:0x0f:m
Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xff"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xff:
avrdude: load data efuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0b11000110"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0b11000110:
avrdude: load data hfuse data from input file 0b11000110:
avrdude: input file 0b11000110 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0b10111111"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0b10111111:
avrdude: load data lfuse data from input file 0b10111111:
avrdude: input file 0b10111111 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega64
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom         4    20    64    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   128    0 yes     65536  256    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9602 (probably m64)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/bootloaders/optiboot_flash/bootloaders/atmega64/16000000L/optiboot_flash_atmega64_UART0_115200_16000000L_BIGBOOT.hex"
avrdude: writing flash (65536 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 65536 bytes of flash written
avrdude: verifying flash memory against G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/bootloaders/optiboot_flash/bootloaders/atmega64/16000000L/optiboot_flash_atmega64_UART0_115200_16000000L_BIGBOOT.hex:
avrdude: load data flash data from input file G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/bootloaders/optiboot_flash/bootloaders/atmega64/16000000L/optiboot_flash_atmega64_UART0_115200_16000000L_BIGBOOT.hex:
avrdude: input file G:\YandexDisk\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/bootloaders/optiboot_flash/bootloaders/atmega64/16000000L/optiboot_flash_atmega64_UART0_115200_16000000L_BIGBOOT.hex contains 65536 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% -0.00s

avrdude: verifying ...
avrdude: 65536 bytes of flash verified
avrdude: reading input file "0x0f"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0f:
avrdude: load data lock data from input file 0x0f:
avrdude: input file 0x0f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.

Посмотрите что заливается (выше по логу ,выделено). После этого  через УАРТ0 заливаете скетч. 

 

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Мы сейчас разговариваем об одном и том же. Загрузчик я прошил, именно так, как на ваших картинках. Логи у меня похожие были. Загрузчик есть, через UART прошивается. Здесь проблемы и вопросы исчерпаны.
Один вопрос остался не ясный, почему при заливке скетча через usbasp, не выставляются фьюзы в соответствии с выбранной частотой. Вопрос не особо важный, но хотелось бы именно с этим разобраться, чтобы не наступить на эти же грабли. Т.к. из-за этого достаточно времени потерял. До этого шил через программатор и при смене источника с внутреннего генератора на кварц 8мгц, а в последствии на кварц 16 мгц такого не было. Т.е проблем с неправильными таймингами не было. Сейчас прошив фьюзы под кварц 16 МГц они так и остаются, не зависимо от того, какую частоту в IDE выбираю и прошиваю скетч.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

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

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

ua6em пишет:

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

Спасибо ,мил человек . Думаю что mir0tv0rec,наконец,  поймет ЭТО.

mir0tv0rec пишет:
. Логи у меня похожие были.

Ваши тайные логи мы не видели  и не можем знать что вы там шили .

У вас в логах должен быть путь к хексу загрузчика что-то типа такого(Atmega128 8MHz External)

\arduino-1.8.5\portable\packages\MegaCore\hardware\avr\2.0.2/bootloaders/optiboot_flash/bootloaders/atmega128/8000000L

mir0tv0rec
Offline
Зарегистрирован: 19.09.2018

Причем здесь загрузчик? Я понимаю, что он прошивается под конкретное железо... Вопрос именно по прошивке через usbasp. Фьюзы должны прошиваться в соответствии с источником тактирования, выбранным при заливке скетча или нет? Если нет, то вопрос тоже исчерпан.

Plasteroid
Plasteroid аватар
Offline
Зарегистрирован: 15.07.2020

mir0tv0rec пишет:
Причем здесь загрузчик? Я понимаю, что он прошивается под конкретное железо... Вопрос именно по прошивке через usbasp. Фьюзы должны прошиваться в соответствии с источником тактирования, выбранным при заливке скетча или нет? Если нет, то вопрос тоже исчерпан.

Как раз при ВСЕМ!!!

Вы глубоко ошибаетесь и продалжаете гнуть свою неправильную линию.

Фьюзы должны прошиваться во время прошивки загрузчика. В папке bootloaders есть версии загрузчиков под разные кварцы и под разные внутренние частоты тактирования. При прошивке скетча фьюзы не меняются и остаются от последнего прошитого загрузчика, не зависимо от того используете вы его (загрузчик )или нет(заливаете скетч USBASP или другим программатором)

 

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

mir0tv0rec пишет:
Причем здесь загрузчик? Я понимаю, что он прошивается под конкретное железо... Вопрос именно по прошивке через usbasp. Фьюзы должны прошиваться в соответствии с источником тактирования, выбранным при заливке скетча или нет? Если нет, то вопрос тоже исчерпан.

при заливке скетча - фьюзы? - нет, не должны

sadman41
Offline
Зарегистрирован: 19.10.2016

Проще говоря - опции дудки для установки фьюзов используются только в том случае, если в Arduino IDE выбрана команда "Burn buttloader". Во всех других случаях данные опции в командную строку не подставляются.

Так говорит энторнет.