ARDUINO Проблема с прошивкой МК ATmega8-16au с Arduino ISP

SergeyMakarOFF

✩✩✩✩✩✩✩
15 Авг 2024
11
1
Всем доброго времени суток. Заказал микроконтроллер с алика ATmega 8-16au, подключил MISO к 12 пину ардуино leonardo, MOSI к 11 пину, SCK к 13 пину.
Залил скетч ArduinoISP в ардуино. Потом выбираю ATmega8 в Minicore с Internal 8MHz, после нажимаю записать загрузчик и ничего не происходит, точнее выдает ошибки, что не может открыть порт и найти микроконтроллер. Что делать?
 

SergeyMakarOFF

✩✩✩✩✩✩✩
15 Авг 2024
11
1
@Bruzzer, Нет Arduino as ISP (ATmega32U4), только просто Arduino as ISP
Вот такой лог ошибок:
avrdude error: programmer is not responding
avrdude warning: attempt 1 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 2 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 3 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 4 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 5 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 6 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 7 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 8 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 9 of 10: not in sync: resp=0x00
avrdude error: programmer is not responding
avrdude warning: attempt 10 of 10: not in sync: resp=0x00
avrdude error: unable to open programmer stk500v1 on port COM20
Не удалось стереть чип: ошибка при загрузке: exit status 1


1752684414578.png
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
638
190
@SergeyMakarOFF,
Повторяю. "Должен быть "Arduino as ISP (ATmega32U4)" "

П.С. Приведенные вами скриншоты нечитаемы. Это тоже к вопросу, "что делать". Надо делать скриншоты только при необходимости, и на которых видно, что вы хотели показать. Не всего экрана а значимой части. И писать словами, для чего вы приложили этот скриншот. Если там нет пункта "Arduino as ISP (ATmega32U4)" ", то так и написать. Версия IDE на скриншоте тоже не видна.
 

asaitov

★✩✩✩✩✩✩
16 Янв 2024
34
13
Я не специалист в этом, но в официальной документации написано, что на Leonardo подключать надо не к пинам 11-13, а к отдельному коннектору ICSP (там гребенка два на три пина), распиновка по ссылке выше.

Либо есть второй вариант. В скетче ArduinoISP.ino есть такой фрагмент:
ArduinoISP.ino:
// Uncomment following line to use the old Uno style wiring
// (using pin 11, 12 and 13 instead of the SPI header) on Leonardo, Due...

// #define USE_OLD_STYLE_WIRING

#ifdef USE_OLD_STYLE_WIRING

#define ARDUINOISP_PIN_MOSI 11
#define ARDUINOISP_PIN_MISO 12
#define ARDUINOISP_PIN_SCK 13
То есть если хочется использовать пины 11-13, то нужно раскомментировать строчку #define USE_OLD_STYLE_WIRING и еще раз перепрошить Leonardo.
 

SergeyMakarOFF

✩✩✩✩✩✩✩
15 Авг 2024
11
1
@asaitov, хм, попробую раскомментировать, я подключал к отдельному ICSP - тоже самое было, те же ошибки
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
638
190
При использовании Внешнего программатора (в данном случае "Arduino as ISP (ATmega32U4)" )
процесс можно условно разбить на два этапа
  • Связь IDE с программатором (Leonardo)
  • Связь программатора с программируемой платой (ATmega8).
На данном этапе нет связи с программатором, поэтому пока не важно к каким контактам подключается ATmega8.
На этом этапе лучше вообще ATmega8 не подключать.

Я не знаю, как ПРАВИЛЬНО решить данный вопрос.
Я бы попробовал добавить в файл programmers.txt ядра MiniCore, строчки для "Arduino as ISP (ATmega32U4)" из стандартного programmers.txt
После этого надо перезапустить IDE и выбрать "Arduino as ISP (ATmega32U4)"

Вот эти строчки
arduinoasispatmega32u4.name=Arduino as ISP (ATmega32U4)
arduinoasispatmega32u4.communication=serial
arduinoasispatmega32u4.protocol=arduino
arduinoasispatmega32u4.speed=19200
arduinoasispatmega32u4.program.protocol=arduino
arduinoasispatmega32u4.program.speed=19200
arduinoasispatmega32u4.program.tool=avrdude
arduinoasispatmega32u4.program.extra_params=-P{serial.port} -b{program.speed}
 
  • Лойс +1
Реакции: asaitov

asaitov

★✩✩✩✩✩✩
16 Янв 2024
34
13
Arduino as ISP (ATmega32U4) нет в списке, наверное, потому что выбрана плата не из Arduino AVR Boards.
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
638
190
@SergeyMakarOFF,
Да, действительно. Проверил на IDE 2.0.3 и MiniCore 3.0.1. Для Atmega8 не появилось. Но появилось если выбрать Atmega88 или Atmega48.
Т.е. список различный для различных МК входящих в MiniCore.
Получается, я не понимаю, откуда берутся настройки в IDE 2 и MiniCore 3

Когда я советовал отредактировать programmers.txt, то я проверил на portable версии IDE 1.8.19 с ядром MiniCore 2.2.2
В этом случае работало.
Попробуйте. Portable версия удобна для попробовать. Т.к. их может быть много, не влияющих на работу друг друга.
 

SergeyMakarOFF

✩✩✩✩✩✩✩
15 Авг 2024
11
1
@Bruzzer, теперь вот это появляется:

avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0xffffff (probably .xmega) (retrying)
avrdude: device signature = 0xffffff (probably .xmega) (retrying)
avrdude: device signature = 0xffffff (probably .xmega)
avrdude main() error: Yikes! Invalid device signature.
avrdude main() error: expected signature for ATmega8 is 1E 93 07
Double check connections and try again, or use -F to override
this check.


avrdude done. Thank you.

Ошибка при записи загрузчика.
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
638
190
Теперь, это на какой версии IDE и ядра?

Сообщения говорят о том, что программатор виден, но подключенный к нему МК (ATmega8) не виден.
Теперь надо смотреть, правильно ли подключен ATmega8 и на тех ли ногах идет сигнал. Если есть цифровой осциллограф, то проверить наличие сигналов должно быть несложно. Если все подключено правильно и сигналы на подключениях есть, то предложенный мной "метод тыка" не сработал, и надо или ждать других советов, или разбираться самому, или купить NANO и прошить им, или купить программатор, или другие варианты.
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
638
190
подключил все правильно.
Я отключаюсь от дальнейшего обсуждения в этой теме. Мне надоело почти каждый раз спрашивать, что именно вы сделали, как именно подключили, какие сообщения и т.д.
 

viktor1703

★★★✩✩✩✩
9 Дек 2021
718
173
@SergeyMakarOFF, судя по этому сообщению об ошибке, связь leonardo с прошиваемым микроконтроллером есть, только он либо не atmega8, либо он уже немного не живой. Считывается сигнатура 0xffffff, а должно быть 0x1e9307. А конденсатор на ноге RESET у Леонардо присутствует?