Первое программирование самодельной платы ATMega32U4

Я вступаю в мир Arduino и решил собрать небольшую плату для реализации геймпада. Перед разработкой платы я протестировал свою прошивку на Arduino Pro Micro USB, поэтому решил сделать что-то подобное. На моей плате используется ATMEGA32U4-AU вместо ATMEGA32U4-MU, поскольку ее проще паять. Подключив плату к компьютеру, я заметил, что между устройствами Windows появилось новое устройство с именем ATmega32U4, похоже, что плата работает. Теперь проблема в том, как запрограммировать его с правильным загрузчиком (?) и сделать из него настоящую Arduino плату. Я нашел несколько поддельных статей о том, как это сделать, но у меня нет четкой идеи. Кто-нибудь может мне помочь? Я могу поделиться всем, что вам нужно, чтобы сосредоточиться на плате.

ОБНОВЛЕНИЕ -------------------------------------------------------------- -----------------------

Перед установкой загрузчика Arduino я попытался запрограммировать образец прошивки на плате через Atmel FLIP (успешно). После этого я больше никогда не мог программировать плату (ни через FLIP, ни другими способами)

Я подключил свою плату к Arduino ISP, и, поскольку Windows, похоже, не может найти правильный драйвер, мне пришлось установить его вручную, после чего я попытался установить загрузчик с помощью опции Установить загрузчик в Arduino IDE ( выбрав Arduino ISP в качестве программатора), но у меня ничего не получилось: Это журнал:

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\tux\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : arduinoisp
avrdude: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x2341-0x0049
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : USBtiny
         Description     : Arduino ISP Programmer
avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Error during bootloader writing.

Я ясно вижу, что моя прошивка не работает, когда я запускаю процесс загрузчика (вероятно, потому что он перезагружает плату). Из лога кажется, что все идет правильно, пока: оператор программатора не поддерживается

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

С уважением, Майк

, 👍0

Обсуждение

Похоже, вы находитесь в режиме программирования DFU. Для этого есть приложение., @Majenko

Вы имеете в виду это: https://www.microchip.com/developmenttools/ProductDetails/flip#additional-summary?, @weirdgyn

Похоже на то. Я никогда не использую его, так что не знаю наверняка, но это определенно звонит в колокольчик., @Majenko

Я не думаю, что его можно использовать для замены загрузчика, возможно, я могу использовать его для программирования флэш-памяти с шестнадцатеричным кодом Arduino., @weirdgyn

Вы можете использовать другой Arduino со скетчем ArduinoAsISP и записать загрузчик (и предохранители), используя контакты ISP на ATMega32u4., @Gerben

Ясно... должен ли я использовать функцию установки загрузчика в ArduinoIDE?, @weirdgyn


1 ответ


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

0

Проблема заключалась в неправильном подключении MISO из-за прослушиваемого посадочного места ATMega32U4.

,