Страница 1 из 3
ATMega 32u4 не видит компьютер по USB
Добавлено: Пн фев 22, 2016 02:02:34
Neuss
Никак не могу подключить мегу 32u4 по USB. Чип новый из упаковки. Прошу помочь. Специально для проб собрал примитивную схемку. На картинке в приложении её вид. Вместо SMD перемычки стоит светодиод.
Цель прошиться и помигать диодом.
Но компьютер не реагирует вообще никак. Питание приходит везде. Коротышей нет. Масса везде присутствует.
Что я делаю не так?
Заранее благодарен.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Пн фев 22, 2016 05:09:15
Андрей СШ
Проверьте напряжение на ноге HWB. 10 кОм может быть недостаточно для подтяжки к нулю, если включен внутренний подтягивающий резистор на 20 кОм.
Если верить даташиту, то бывает модификация ATMega32U4RC у которой бутлоадер по умолчанию выключен.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Пн фев 22, 2016 09:48:04
Neuss
Проблема решилась.
Всё было работоспособно, просто USB порт компа ушел в защиту после одного КЗ и остался в защите до полной перезагрузки ноута.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Пн фев 22, 2016 11:03:38
Gaff
Кондёры по питанию? Не ,неслышал .

Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 00:44:44
Neuss
Gaff писал(а):Кондёры по питанию? Не ,неслышал .

на второй версии платы всё доделано.
Определяется как как ATMega 32u4.
Весь день пытаюсь найти bootloader от Leonardo для заливки через Flip или Arduino ISP.
Flip зашивает какие-то буты, но потом чип не видится компьютером.
ArduinoISP пытается сбросить контроллер, потом пишет что на порту нет ничего.
При заливке через Arduino IDE тоже ошибка.
Отдельно вывел ICSP разъем и ArduinoISP подключал через него.
В общем, прощу помощи...
Со сборкой собственного bootloader так и не разобрался...
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 01:25:34
Мурик
Neuss писал(а):Весь день пытаюсь найти bootloader от Leonardo для заливки через Flip или Arduino ISP.
Загрузчик от Leonardo не совместим в Flip и наоборот. Если нужно прошить через загрузчик Leonardo, а не через Arduino IDE, то можно воспользоваться
этой программой (Boot32u4.exe).
По моему проще купить такую плату, чем самому ее изготавливать. Цена вопроса около 250 рублей или 3 доллара.

Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 08:37:41
Neuss
Этот чип будет использоваться в плате как контроллер в дальнейшем. И плата вверху лишь как учебное пособие для прошивки МК.
Проблема в том, что с завода 32u4 не определяется как COM порт. Новый чип видится как ATMega32u4 и доступен лишь для Flip. А вот как довести его до COM порта? Надо прошить бут и тут никак не разберусь с последовательностью и нюансами...
При прошивке bootloader через Arduino IDE через Arduino UNO и ICSP порт выпадает ошибка, т.к. IDE пытается сбросить 32u4, но ответа, естественно, нет.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 12:19:04
Мурик
Neuss писал(а):Надо прошить бут и тут никак не разберусь с последовательностью и нюансами
Берете любой пример подходящий для Leonardo, скажем, Blink. В Arduino IDE экспортируйте в HEX. В папке с примером появятся два hex файла, с загрузчиком и без него. Прошиваете программатором тот что с загрузчиком.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 19:12:27
Neuss
Мурик писал(а):Neuss писал(а):Надо прошить бут и тут никак не разберусь с последовательностью и нюансами
Берете любой пример подходящий для Leonardo, скажем, Blink. В Arduino IDE экспортируйте в HEX. В папке с примером появятся два hex файла, с загрузчиком и без него. Прошиваете программатором тот что с загрузчиком.
Спасибо! Так и сделал. Файл был только один. Но теперь arduinoIDE не принимает его. Видит как Leonardo, выбираю COM порт, но во время прошивки контроллер сбрасывается, но на связь для прошивки не выходит.
При подключении к ПК с зажатым RESET определяется как AtMega32u4. Видимо загрузчик не прошился...
При прошивке через ICSP с помощью ArduinoISP есть ли разница чей загрузчик заводской или caterina?
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 19:48:16
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 его шьет легко.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 20:27:41
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
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 21:04:34
Neuss
дальше...
Arduino 1.0.1 выдает один hex
Arduino 1.6.7 выдает 2 файла. обычный весит 13кб, второй, помеченный "with_Bootloader" - 88кб. Куда столько?
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 21:34:22
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 и без
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 21:48:13
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.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 21:57:53
Мурик
Neuss писал(а):Собрал бутлоадер под леонардо. НО. Caterina.hex имеет размер 11kb и Flip выдает ошибку "Out of range".
Вы хотите прошить загрузчик из под загрузчика?

Ничего что программа выполняется непосредственно из Flash? Если во время исполнения загрузчика его область памяти перепрошивать если и можно, то смысла нет, то очень большой с вероятностью это приведет к сбою работы загрузчика.
Нужно прошивать через SPI интерфейс программатором.

Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 22:15:29
Neuss
Мурик писал(а):Вы хотите прошить загрузчик из под загрузчика?

Ничего что программа выполняется непосредственно из Flash? Если во время исполнения загрузчика его область памяти перепрошивать если и можно, то смысла нет, то очень большой с вероятностью это приведет к сбою работы загрузчика.
Нужно прошивать через SPI интерфейс программатором.

Это я уже выяснил. Но как его прошить через SPI? если он не определяется им.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 22:32:28
Мурик
В монтаже цепей программирования, ошибок нет?
Какой программатор используется?
В программе выбран тот программатор что используется?
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 23:02:45
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 защита уходит. Чтение не вызывает ошибок.
Так что все манипуляции выполняю на стертом МК
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 23:11:59
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.
Вот полностью процесс попытки прошить. Т.е. программатор работает, а чип не принимает данных.
Re: ATMega 32u4 не видит компьютер по USB
Добавлено: Вт фев 23, 2016 23:20:39
Мурик
Neuss писал(а):avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes! Invalid device signature.
avrdude не опознает МК.
Надеюсь в ардуину-программатор залита соответствующая прошивка?