ATmega 328 загружается, но не может загрузить

Я работаю над проектом, который я программирую, используя ATMEGA 328p, вставленный в Arduino Uno, а затем удаляю его, чтобы поместить на макетную плату. Теперь я понял, насколько это нецелесообразно, так как у меня сломался штифт. У меня есть запасные микросхемы ATMEGA 328 и позаимствованная функциональная Arduino Uno. Начиная с инструкций с официального сайта Arduino, а затем переходя к набору инструкций здесь для использования другой подписи устройства, в конце концов я отказался от использования IDE и запустил avrdude из командная строка. Вот моя команда:

C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\bin>avrdude -v -v -c arduino -p m328p -P com9 -b19200 -F

И следующие результаты:

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch`

         System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"

         Using Port                    : com9
         Using Programmer              : arduino
         Overriding Baud Rate          : 19200
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         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     5     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 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 : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us
    
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9514
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as 7

avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as 7
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Из этих результатов я хочу сделать вывод, что загрузчик теперь установлен на моем ATMEGA 328. Однако, когда я пытаюсь загрузить его с помощью «оболочки» Arduino Uno; с удаленным 328p я получаю следующую ошибку:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x80

(и следующие 10 попыток) Есть ли что-то, что мне не хватает? Я подключаю контакт сброса к контакту 1 моей ATMEGA 328, а RX/TX к контактам 2 и 3 соответственно.

Мы будем очень признательны за любую помощь в этом вопросе.

, 👍1

Обсуждение

Почему вы думаете, что у вас сгорел загрузчик? Ни в командной строке avrdude, ни в ее выводе не упоминается шестнадцатеричный файл загрузчика или запись в Atmega. Я не такой уж твердый с вариантами avrdude, но кажется, что вы просто читали фьюзы. Вы ничего не написали (он сказал бы вам, если бы что-то написал)., @chrisl

У большинства людей *никогда* не будет законной причины использовать опции avrdude -F. Сообщение, которое вы получаете от avrdude о -F, является *не* рецептом. Я вижу, вы упоминаете 328P и 328, но мне непонятно, понимаете ли вы, что это разные устройства, поэтому у них разные подписи. Так что же у вас есть на самом деле? Есть ли буква «P» в номере вашего фактического чипа или нет?, @timemage

Крисл прав, ты ничего не загружаешь. Строка для загрузки в один из моих make-файлов для ATmega328 выглядит так: avrdude -p m328 -c avrispv2 -P COM4 -U flash:w:hexfile.hex -U lfuse:w:0xe2:m -U hfuse :w:0xdf:m -U efuse:w:0xf9:m -v -B 10 -i 10... если вы хотите загрузить, вам нужно указать как цель записи, так и шестнадцатеричный файл (-U flash :w:hexfile.hex), @Sim Son

... вам, вероятно, придется немного изменить команду, если вы хотите загрузить загрузчик, я не совсем помню atm ... но вам определенно нужно использовать опцию -U для загрузки, @Sim Son