Ошибка программирования ATtiny1616: Для загрузки требуется программатор
У меня есть эта плата ATtiny1616, и я пытаюсь загрузить на нее скетч Arduino, следуя этой документации, но при загрузке простого скетча мигания возникает ошибка «Требуется программист для загрузки». В IDE установлены следующие параметры:
- Доска: ATtiny
- Чип: Attiny1616
- Программист: последовательный UPDI: медленная 57 600 бод.
Я использую этот адаптер USB-Serial и подключаю его к ATtiny следующим образом:
USB Vcc -> Vin
USB GND -> GND
USB RX -> 1 кОм
USB TX -> 1k OHM
1k OHM -> UPDI
А у меня есть светодиод, подключенный к контакту 5 ATtiny:
- КОНТАКТ 5 -> СВЕТОДИОД -> 220 ОМ -> ЗАЗЕМЛЕНИЕ
Ниже представлена схема. Я также подумал, что, возможно, я перепутал RX и TX, поэтому я попробовал поменять эти соединения, но это тоже не сработало.
Используя Arduino IDE 1.8.19 я получаю эту ошибку:
pymcuprog.pymcuprog_errors.PymcuprogError: UPDI initialisation failed
@mfusco, 👍2
Обсуждение2 ответа
Чтобы использовать адаптер USB-Serial в качестве программатора SerialUPDI, его необходимо подключить, как показано на схеме ниже
Vcc Vcc
+-+ +-+
| |
+---------------------+ | | +--------------------+
| +-+ +-+ |
| | +----------+ | |
| TX +------+ 1k +---------+ UPDI |
| | +----------+ | | |
| USB-Serial Adaptor | | | Target AVR Board |
| | | | |
| RX +----------------------+ | |
| | | |
| +--+ +--+ |
+---------------------+ | | +--------------------+
+-+ +-+
GND GND
Спасибо за ваш ответ, однако при подключении ATtiny, как описано в вашем посте, я все еще получаю ту же ошибку. Я обновляю свой OP с изображением моих подключений., @mfusco
Какую IDE вы используете? Arduino IDE с MegaTinyCore? Или что-то другое?, @hcheung
Да, я использую Arduino IDE с MegaTinyCore. Я также хотел бы отметить, что в попытке заставить его работать я нажал кнопку "Burn bootloader", когда использовал Arduino для подключения к ATtiny. Это могло что-то испортить?, @mfusco
Понятия не имею. Я никогда не использую загрузчик. На самом деле, я сейчас даже не часто использую MegaTinyCore и Arduino IDE, у меня в основном VS Code, AVRDude и голое железо. Я думаю, вам стоит подумать о пайке разъема к плате, проблема, с которой вы столкнулись, может быть просто плохим соединением., @hcheung
"burn bootloader...". Это может вызвать проблему, если загрузчик успешно загрузится, поскольку он может преобразовать вывод updi в вывод сброса, что сделает невозможным дальнейшее программирование updi и потребует высоковольтного программатора для его отмены. Однако, если вы выбрали вариант платы, например, "attiny 1616 без optiboot", то "burn bootloader..." просто обновит предохранители. На этих Attiny с малым количеством выводов загрузчик не рекомендуется. Термин "burn bootloader" в IDE вызывает много путаницы, поскольку он может не означать burn bootloader., @6v6gt
Ошибка: при использовании MegaTinyCore загрузка загрузчика не преобразует автоматически вывод UPDI в вывод сброса на attiny 1616. См. https://forum.arduino.cc/t/programming-and-implementing-attiny1616-with-breakout-board-error-a-programmer-is-required-to-upload/1232433/14, @6v6gt
Убедитесь, что ваш USB-последовательный адаптер работает хорошо. Если сам адаптер неисправен, это может создать проблемы. Также проверьте, установлены ли у вас все необходимые драйверы.
Вот еще один урок по программированию платы ATTiny1616 Breakout с использованием библиотеки MegaTinycore. Вы можете найти его здесь:
https://www.pcbway.com/project/shareproject/ATTiny1616_Minimal_Breakout_board_QFN_bad990fc.html
- При использовании Arduino Uno в качестве ISP: "Yikes! Invalid device signature" - плохое соединение, неверную конфигурацию или неверную версию avrdude?
- Связь ATtiny85 с компьютером через USB
- Получить доступ к EEPROM ATtiny с помощью кода Arduino?
- avrdude: ошибка проверки, первое несоответствие в байте 0x0000 : 0x00 != 0x16 с использованием USBasp
- Радиочастотное дистанционное управление с использованием VirtualWire на ATtiny85, работающем на частоте 8 МГц на внутреннем генераторе
- I2C с ATtiny85 на частоте 8 МГц с использованием библиотеки TinyWireM
- Эмуляция 1-проводных устройств
- Как перевести ATtiny/ATmega в режим глубокого сна (чтобы годами работать от батарей), но при этом обнаруживать нажатие кнопки?
Сообщение об ошибке, похоже, подразумевает, что вы не выбрали подходящий программатор из списка, доступного в меню инструментов IDE (внизу страницы). Рекомендация Adafruit (ваша ссылка) — SerialUPDI - SLOW: 57600 бод., @6v6gt
Спасибо за ваш ответ, однако, согласно моему OP, у меня этот параметр установлен., @mfusco
Эти штыревые контакты припаяны к печатной плате или вы просто подключаете их к макетной плате?, @hcheung
У меня просто есть штыревые контакты, подключенные от соединительных кабелей к макетной плате., @mfusco
Полагаю, вы используете Arduino IDE 2.x. Существует известная разница в поведении между ней и 1.x, которая может вызвать путаницу, приводящую к вашему сообщению об ошибке. Смотрите https://forum.arduino.cc/t/a-programmer-is-required-to-upload/1101631 . Если это решит проблему, то напишите свой собственный ответ с немного большей детализацией., @6v6gt
Спасибо за это. При использовании IDE 1.8.19 больше нет ошибки программиста, но теперь в обновленном OP я получаю другую ошибку., @mfusco
Если вы погуглите это сообщение об ошибке, вы найдете несколько вариантов схемы, добавленной между адаптером usb/uart и attiny. Некоторые с диодом Шоттки, а некоторые с другими значениями резисторов. Значения также могут зависеть от того, есть ли у адаптера usb/uart резисторы последовательно с TX и RX. Если этот адаптер usb/uart имеет схему 3v3, как у версии Adafruit, вы также можете попробовать запитать attiny по схеме 3v3, @6v6gt