ATMega 32u4 не видит компьютер по USB

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Никак не могу подключить мегу 32u4 по USB. Чип новый из упаковки. Прошу помочь. Специально для проб собрал примитивную схемку. На картинке в приложении её вид. Вместо SMD перемычки стоит светодиод.
Цель прошиться и помигать диодом.
Но компьютер не реагирует вообще никак. Питание приходит везде. Коротышей нет. Масса везде присутствует.
Что я делаю не так?

Изображение

Заранее благодарен.
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Андрей СШ »

Проверьте напряжение на ноге HWB. 10 кОм может быть недостаточно для подтяжки к нулю, если включен внутренний подтягивающий резистор на 20 кОм.

Если верить даташиту, то бывает модификация ATMega32U4RC у которой бутлоадер по умолчанию выключен.
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Проблема решилась.
Всё было работоспособно, просто USB порт компа ушел в защиту после одного КЗ и остался в защите до полной перезагрузки ноута.
Аватара пользователя
Gaff
Потрогал лапой паяльник
Сообщения: 382
Зарегистрирован: Ср янв 27, 2016 10:19:41
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Gaff »

Кондёры по питанию? Не ,неслышал . :facepalm: :)))
Не стесняйтесь благодарить тех кто вам помогает.
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Gaff писал(а):Кондёры по питанию? Не ,неслышал . :facepalm: :)))

на второй версии платы всё доделано.

Определяется как как ATMega 32u4.

Весь день пытаюсь найти bootloader от Leonardo для заливки через Flip или Arduino ISP.

Flip зашивает какие-то буты, но потом чип не видится компьютером.
ArduinoISP пытается сбросить контроллер, потом пишет что на порту нет ничего.
При заливке через Arduino IDE тоже ошибка.

Отдельно вывел ICSP разъем и ArduinoISP подключал через него.

В общем, прощу помощи...
Со сборкой собственного bootloader так и не разобрался...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Мурик »

Neuss писал(а):Весь день пытаюсь найти bootloader от Leonardo для заливки через Flip или Arduino ISP.
Загрузчик от Leonardo не совместим в Flip и наоборот. Если нужно прошить через загрузчик Leonardo, а не через Arduino IDE, то можно воспользоваться этой программой (Boot32u4.exe).

По моему проще купить такую плату, чем самому ее изготавливать. Цена вопроса около 250 рублей или 3 доллара.

Изображение
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Этот чип будет использоваться в плате как контроллер в дальнейшем. И плата вверху лишь как учебное пособие для прошивки МК.

Проблема в том, что с завода 32u4 не определяется как COM порт. Новый чип видится как ATMega32u4 и доступен лишь для Flip. А вот как довести его до COM порта? Надо прошить бут и тут никак не разберусь с последовательностью и нюансами...

При прошивке bootloader через Arduino IDE через Arduino UNO и ICSP порт выпадает ошибка, т.к. IDE пытается сбросить 32u4, но ответа, естественно, нет.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Мурик »

Neuss писал(а):Надо прошить бут и тут никак не разберусь с последовательностью и нюансами
Берете любой пример подходящий для Leonardo, скажем, Blink. В Arduino IDE экспортируйте в HEX. В папке с примером появятся два hex файла, с загрузчиком и без него. Прошиваете программатором тот что с загрузчиком.
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Мурик писал(а):
Neuss писал(а):Надо прошить бут и тут никак не разберусь с последовательностью и нюансами
Берете любой пример подходящий для Leonardo, скажем, Blink. В Arduino IDE экспортируйте в HEX. В папке с примером появятся два hex файла, с загрузчиком и без него. Прошиваете программатором тот что с загрузчиком.


Спасибо! Так и сделал. Файл был только один. Но теперь arduinoIDE не принимает его. Видит как Leonardo, выбираю COM порт, но во время прошивки контроллер сбрасывается, но на связь для прошивки не выходит.

При подключении к ПК с зажатым RESET определяется как AtMega32u4. Видимо загрузчик не прошился...

При прошивке через ICSP с помощью ArduinoISP есть ли разница чей загрузчик заводской или caterina?
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Код: Выделить всё

Size after:
AVR Memory Usage
----------
Device: atmega32u4

Program:    3980 bytes (12.1% Full)
(.text + .data + .bootloader)

Data:        190 bytes (7.4% Full)
(.data + .bss + .noinit)

-------- end --------
C:\Arduino101\hardware\arduino\bootloaders\caterina>


разобрался. Собрал бутлоадер под леонардо. НО. Caterina.hex имеет размер 11kb и Flip выдает ошибку "Out of range".

Blink.hex имеет размер 4kb и Flip его шьет легко.
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Код: Выделить всё

C:\WinAVR\bin\avrdude.exe -C C:\WinAVR\bin\avrdude.conf -p m32 -P com7 -c arduino -b 19200 -q -e -U flash:w:C:\ISP\Caterina.hex:a 

avrdude.exe: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.

avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude.exe done.  Thank you.


вот что получаю при прошивке через ArduinoISP
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

дальше...

Arduino 1.0.1 выдает один hex

Arduino 1.6.7 выдает 2 файла. обычный весит 13кб, второй, помеченный "with_Bootloader" - 88кб. Куда столько?
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Код: Выделить всё

avrdude: Device signature = 0xffffff
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


и запись загрузчика вот что выдает из ардуино ide.

Нога hwb на земле, включал с зажатым reset и без
Аватара пользователя
diafour
Встал на лапы
Сообщения: 109
Зарегистрирован: Пн янв 26, 2015 07:48:56
Откуда: Москва, Троицк

Re: ATMega 32u4 не видит компьютер по USB

Сообщение diafour »

Neuss писал(а):

Код: Выделить всё

C:\WinAVR\bin\avrdude.exe -C C:\WinAVR\bin\avrdude.conf -p m32 -P com7 -c arduino -b 19200 -q -e -U flash:w:C:\ISP\Caterina.hex:a 

avrdude.exe: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.

avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude.exe done.  Thank you.


вот что получаю при прошивке через ArduinoISP


Просто размышления, вдруг помогут. У avrdude есть особенность при работе с прошивальщиками на основе битбанга (-с arduino,arduino-isp,ft232r, и др.). Erase чипа флагом -e выдаёт ошибку про protocol_error, и avrdude дальше не делает ничего, т.е. если кроме -e указано прошить флэш или фьюзы, то они не выполнятся. Самое весёлое, что чип успешно стирается. Чтобы шить через arduino-isp я запускаю avrdude два раза: один раз с -e, второй раз с нужными флагами -U.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Мурик »

Neuss писал(а):Собрал бутлоадер под леонардо. НО. Caterina.hex имеет размер 11kb и Flip выдает ошибку "Out of range".
Вы хотите прошить загрузчик из под загрузчика? :shock: Ничего что программа выполняется непосредственно из Flash? Если во время исполнения загрузчика его область памяти перепрошивать если и можно, то смысла нет, то очень большой с вероятностью это приведет к сбою работы загрузчика.

Нужно прошивать через SPI интерфейс программатором. :)
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Мурик писал(а):Вы хотите прошить загрузчик из под загрузчика? :shock: Ничего что программа выполняется непосредственно из Flash? Если во время исполнения загрузчика его область памяти перепрошивать если и можно, то смысла нет, то очень большой с вероятностью это приведет к сбою работы загрузчика.

Нужно прошивать через SPI интерфейс программатором. :)


Это я уже выяснил. Но как его прошить через SPI? если он не определяется им.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Мурик »

В монтаже цепей программирования, ошибок нет?
Какой программатор используется?
В программе выбран тот программатор что используется?
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Мурик писал(а):В монтаже цепей программирования, ошибок нет?
Какой программатор используется?
В программе выбран тот программатор что используется?


еще раз только что все прозвонил. ни коротышей и чего. от ног МК до разъема icsp.
плата отмыта до блеска от флюса.

Программатор ArduinoISP. В avrdude пишу arduino.

Код: Выделить всё

C:\>C:\WinAVR\bin\avrdude.exe -C C:\WinAVR\bin\avrdude.conf -p atmega32u4 -P com
7 -c arduino -b 19200 -q -F -U lfuse:r:-:b

avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATmega32U4 is 1E 95 87
avrdude.exe: reading lfuse memory:
avrdude.exe: writing output file "<stdout>"
0b11111111

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.


вот попытка считать фюзы.

Код: Выделить всё

C:\>C:\WinAVR\bin\avrdude.exe -C C:\WinAVR\bin\avrdude.conf -p m32 -P com7 -c ar
duino -b 19200 -q -F -U flash:w:C:\ISP\Caterina.hex:a

avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATMEGA32 is 1E 95 02
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be perfo
rmed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "C:\ISP\Caterina.hex"
avrdude.exe: input file C:\ISP\Caterina.hex auto detected as Intel Hex
avrdude.exe: writing flash (32722 bytes):
avrdude.exe: 32722 bytes of flash written
avrdude.exe: verifying flash memory against C:\ISP\Caterina.hex:
avrdude.exe: load data flash data from input file C:\ISP\Caterina.hex:
avrdude.exe: input file C:\ISP\Caterina.hex auto detected as Intel Hex
avrdude.exe: input file C:\ISP\Caterina.hex contains 32722 bytes
avrdude.exe: reading on-chip flash data:
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x7000
             0x55 != 0xff
avrdude.exe: verification error; content mismatch

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.


вот попытка прошить бутлоадер. но то же самое выдает при прошивке blink.hex, шьющегося идеально из Flip.

Вычитал ещё что Flip при прошивке ставит защиту. Даже сам Flip после прошивки не может считать flash из МК в буффер. При стирании flash защита уходит. Чтение не вызывает ошибок.

Так что все манипуляции выполняю на стертом МК
Аватара пользователя
Neuss
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Вс июн 21, 2009 10:55:16
Откуда: Москва
Контактная информация:

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Neuss »

Код: Выделить всё

C:\>C:\WinAVR\bin\avrdude.exe -C C:\WinAVR\bin\avrdude.conf -p atmega32u4 -P com
7 -c arduino -b 19200 -e -D -F -U flash:w:C:\ISP\blink.hex:a

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATmega32U4 is 1E 95 87
avrdude.exe: erasing chip
avrdude.exe: reading input file "C:\ISP\blink.hex"
avrdude.exe: input file C:\ISP\blink.hex auto detected as Intel Hex
avrdude.exe: writing flash (4454 bytes):

Writing | ################################################## | 100% 5.68s

avrdude.exe: 4454 bytes of flash written
avrdude.exe: verifying flash memory against C:\ISP\blink.hex:
avrdude.exe: load data flash data from input file C:\ISP\blink.hex:
avrdude.exe: input file C:\ISP\blink.hex auto detected as Intel Hex
avrdude.exe: input file C:\ISP\blink.hex contains 4454 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 3.42s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x0c != 0xff
avrdude.exe: verification error; content mismatch

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.


Вот полностью процесс попытки прошить. Т.е. программатор работает, а чип не принимает данных.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ATMega 32u4 не видит компьютер по USB

Сообщение Мурик »

Neuss писал(а):avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes!  Invalid device signature.
avrdude не опознает МК.

Надеюсь в ардуину-программатор залита соответствующая прошивка?
Последний раз редактировалось Мурик Вт фев 23, 2016 23:21:59, всего редактировалось 2 раза.
Ответить

Вернуться в «AVR»