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 соответственно.
Мы будем очень признательны за любую помощь в этом вопросе.
@Jenna Hebert, 👍1
Обсуждение0
- Не удается снова загрузиться после смены платы
- Путаница с ATmega328P и 3,3 В/8 МГц
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Не могу записать загрузчик на Atmega328P с помощью Arduino Uno
- Можем ли мы записать загрузчик Arduino в любой чип микроконтроллера?
- Atmega328p — переход на низкое энергопотребление 1,8 В с использованием генератора 4 МГц — прошивка загрузчика
- Переход к загрузчику из кода приложения в atmega328p
- Как правильно активировать контакт сброса ATMega328 с помощью ПО, чтобы загрузчик работал, а прошивка могла обновляться через контакты RX/TX?
Почему вы думаете, что у вас сгорел загрузчик? Ни в командной строке 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