ATtiny85 USB Устранение неполадок. Устройство не распознается, когда программатор просит подключить устройство

Я купил эту дешевую программную плату AVR и подумал, что я буду в порядке, просто подключив ее к своему USB-порту. Затем после того, как я сделал это, ничего не произошло, поэтому я провел последние 4 часа, пытаясь понять, что происходит не так. Я узнал, что микросхемы ATtiny85 часто поставляются без загрузчика. cheap AVR Programmer Board Поэтому сначала я протестировал его с Arduino в качестве ISP и простым blink-кодом. Это сработало. Затем я загрузил micronucleus и прошил его через Arduino как ISP. Я думаю, что этот процесс работал довольно хорошо, как выход шоу

> avrdude -C ../etc/avrdude.conf -c arduino -p t85 -P COM3 -b 19200 -U flash:w:/micronucleus/firmware/releases/t85_default.hex
 
 avrdude: AVR device initialized and ready to accept instructions
 
 Reading | ################################################## | 100%
 0.01s
 
 avrdude: Device signature = 0x1e930b (probably t85) 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: reading input file
 "/micronucleus/firmware/releases/t85_default.hex" avrdude: input file
 /micronucleus/firmware/releases/t85_default.hex auto detected as Intel
 Hex avrdude: writing flash (8166 bytes):
 
 Writing | ################################################## | 100%
 0.09s
 
 avrdude: 8166 bytes of flash written avrdude: verifying flash memory
 against /micronucleus/firmware/releases/t85_default.hex: avrdude: load
 data flash data from input file
 /micronucleus/firmware/releases/t85_default.hex: avrdude: input file
 /micronucleus/firmware/releases/t85_default.hex auto detected as Intel
 Hex avrdude: input file
 /micronucleus/firmware/releases/t85_default.hex contains 8166 bytes
 avrdude: reading on-chip flash data:
 
 Reading | ################################################## | 100%
 0.09s
 
 avrdude: verifying ... avrdude: 8166 bytes of flash verified
 
 avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
 
 avrdude done.  Thank you.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда я пытаюсь загрузить код с помощью ATtiny Development Board через arduino IDE (выбор Attiny85 digispark по умолчанию 16,5 МГц), и он просит меня подключить устройство, устройство не распознается.

Я уже установил драйверы , загруженные из раздела github release репозиторияDevicestumpArduino, попытался установить драйвер конфигурации micronucleus через zadiag, как я читал в этом вопросе, но ничего не сработало. Что я упускаю?

, 👍0


1 ответ


Лучший ответ:

3

Из вашего вывода AVRDude:

avrdude: safemode: Предохранители в порядке (E:FF, H:DF, L:62)

Не похоже, что вы запрограммировали предохранители конфигурации AVR.

Например , E:FF-это расширенное значение предохранителя 0xFF, в котором отсутствует самопрограммирующийся предохранитель, который позволил бы Микроядеру загрузить ваш код на AVR, то есть позволить AVR выполнять инструкции для самопрограммирования. Таким образом, предполагая, что он успел появиться на USB, вы на самом деле не сможете использовать его, чтобы поместить код на свой чип.

Вы можете видеть, что они должны быть там, где цель предохранителя makefile относится к вашей конфигурацииt85_default :

FUSEOPT = -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m

Предохранители, которые на самом деле предотвращают его появление на USB, скорее всего, связаны с битами предохранителей в байте низкого предохранителя. В частности, CKDIV8 (заводское значение по умолчанию) устанавливается в divide-by-8, где его нет в файле makefile. Биты CKSEL установлены на 0x2 (заводское значение по умолчанию) для внутреннего RC-генератора 8 МГц, в то время как файл makefile хочет, чтобы они были установлены на 0x1, для внутреннего PLL (фазовой автоподстройки частоты), который генерирует более высокие тактовые частоты от RC-генератора. Короче говоря, ваш чип работает на 1 МГц, а не на 16 МГц. Микроядерный код также может быть написан таким образом, что ему нужен PLL для битбэнгинга USB, хотя я не заглядывал в это, чтобы быть уверенным.

,