Проблема загрузчика ATmega328P : [avrdude: stk500_recv(): programmer is not responding]
Я использую плату arduino uno и поместил новый чип ATmega328 в гнездо в качестве простой настройки, как указано в инструкции по установке Minicore. Однако я не могу записать загрузчик. Я использую ваш миникор и выбрал чип ATmega328. Я попытался использовать внутренний кристалл 8 МГц, а также внешний кристалл 16 МГц, но получил ту же ошибку. Я даже попытался использовать другой ATmega328P, но результат был тот же. Вот результат:
avrdude: Version 6.3-20201216
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Administrator\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.2/avrdude.conf"
Using Port : COM4
Using Programmer : stk500v1
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
avrdude done. Thank you.
Error while burning bootloader.
Прежде чем попробовать этот вариант Minicore, я также попробовал различные учебные пособия, которые требуют внешнего кристалла и дополнительных конденсаторов. Вот уже два дня я пытаюсь заставить его работать, но, к сожалению, мне это еще не удалось. Сначала я заподозрил неисправность ATmega, но даже три других чипа приводят к той же ошибке или ошибке сигнатуры устройства.
Вот другие соединения, которые я использовал:
Не могли бы вы помочь мне это исправить? Спасибо
@Zaffresky, 👍-1
Обсуждение1 ответ
Лучший ответ:
Вы должны установить загрузчик, используя либо работающий Arduino, либо аппаратный программатор.
Есть один шаг, который пропускают многие учебные пособия по этому вопросу (и обе схемы, которые вы показываете, пропустили его), и это отключить автоматический сброс программирования Arduino. Это можно сделать несколькими способами:
- Добавьте малозначимый подтягивающий резистор для СБРОСА
- Добавьте высокоточный конденсатор между СБРОСОМ и GND
- Вырежьте след "RESET-EN" на нижней стороне платы
После того, как загрузчик установлен таким образом, вы можете поместить чип в Arduino и запрограммировать его через USB, или подключить его к адаптеру USB-UART и запрограммировать его через это.
Я воспользовался первым методом. Однако даже с резистором 10K он работал, @Zaffresky
- Не удается снова загрузиться после смены платы
- Путаница с ATmega328P и 3,3 В/8 МГц
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Не могу записать загрузчик на Atmega328P с помощью Arduino Uno
- Можем ли мы записать загрузчик Arduino в любой чип микроконтроллера?
- Atmega328p — переход на низкое энергопотребление 1,8 В с использованием генератора 4 МГц — прошивка загрузчика
- Переход к загрузчику из кода приложения в atmega328p
- Как правильно активировать контакт сброса ATMega328 с помощью ПО, чтобы загрузчик работал, а прошивка могла обновляться через контакты RX/TX?
Есть ли у вас программатор STK500 версии 1, который вы используете для записи загрузчика? Или вы просто подключаете Arduino к USB и молитесь, чтобы что-то чудесным образом произошло?, @Majenko
У меня нет такого программиста, но есть программист AVR asp. Для минимальной настройки я подумал, что мне просто нужно заменить новую ATmega в сокете, а затем записать загрузчик, подключив arduino к usb. Но я даже не молился :) Может быть, я неправильно понял минимальную настройку., @Zaffresky
Я также попытался с помощью соединения FTDI/UART и интернет-провайдера записать загрузчик, но получил ошибку подписи., @Zaffresky
Я отредактировал оригинальный пост с скетчами подключения, @Zaffresky
Чтобы запрограммировать загрузчик, вам нужен либо аппаратный программатор, либо работающий Arduino для использования в качестве программатора. Но я в замешательстве (и, вероятно, вы тоже). Вы говорите, что вставили микросхему в розетку, а затем показываете нам схему с макетом..., @Majenko
Вот последовательность того, что я пробовал до сих пор. Сначала я попытался записать загрузчик с ATmega328P и другими компонентами на макете, следуя двум различным схемам подключения, показанным выше. Я получил ошибку "avrdude: Yikes! Неверная сигнатура устройства. Дважды проверьте соединения и повторите попытку или используйте -F, чтобы переопределить эту проверку". Наконец я просто заменил ATmega на моей рабочей плате uno, чтобы сжечь загрузчик., @Zaffresky
Первое-это то, что вам нужно сделать, а не второе. Установите его снова на макете и снова попробуйте различные учебные пособия. Многие упускают из виду отключение автоматического последовательного сброса Arduino, который вы должны сделать, чтобы он работал., @Majenko
Я начал новый с чистой проводки и попробовал учебник на сайте arduino, и он использует подтягивающий резистор на выводе сброса. Это сработало :) Спасибо за указатель, @Zaffresky
вы не можете записать загрузчик в ATmega, поставив его на Uno. даже если ATmega находится на Uno, вы должны использовать программатор (или другой Arduino в качестве программиста с Arduino в качестве скетча ISP)., @Juraj
@Juraj да, я неправильно понял один из учебников. Я думал, что, просто поместив его в гнездо платы uno, мне не понадобятся никакие внешние схемы, такие как колпачки, резисторы и кристалл. Кроме того, я мог бы использовать последовательное USB-соединение на плате для записи загрузчика. Но теперь все ясно, @Zaffresky