Я хотел бы отметить, что устройство, о котором я говорю в этом вопросе, отлично работает с использованием avrdude на машине с Linux, проблема, похоже, связана с драйвером OSX для CH340g.
Я установил последнюю версию драйвера CH34xx с сайта www.wch.cn.
Устройство распознается как /dev/tty.wchusbserial1420.
Я могу подключиться к устройству с помощью avrdude и войти в режим терминала или попытаться выполнить загрузку, однако работа с устройством кажется очень неустойчивой.
Когда я вхожу в режим терминала (используя avrdude -t), индикаторы tx и rx мигают, указывая на то, что устройство подключено и работает, я получаю обратную связь от пользовательского интерфейса.
Reading | ################################################## | 100% 0.02s
и если я наберу «dump flash» или какую-нибудь команду на этапе подключения (пока tx и rx мигают) и нажму Enter, как только появится приглашение, команда будет выполнена, выдавая следующий вывод:
avrdude> dump flash
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
однако вскоре после появления подсказки индикатор «L» снова загорается. С этого момента никакая команда не дает никакого вывода, кроме
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
У меня создается впечатление, что после подключения avrdude что-то происходит, что приводит к сбросу соединения и выводу устройства из состояния avrdude: AVR device initialized and ready to accept instructions
.
Я не могу загрузить на устройство по похожей причине, результат попытки загрузки:
avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/Ollie/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/tty.wchusbserial1420
Using Programmer : arduino
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 : 2000
StabDelay : 10
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 1 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 10 25 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: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (H:00, E:00, L:00)
avrdude done. Thank you.
Как видите, проблема не в том, что драйвер не установлен или avrdude не видит устройство, а просто в том, что соединение обрывается, как только оно устанавливается.
Мне не удалось найти ссылку на аналогичную ошибку с помощью Google, и я пробовал все очевидные вещи (переустановка драйверов, другая версия драйвера и т. д.)
dump flash
действительным? Я бы ожидалjmps
вместоnops
в начале вспышки. 2. Что не так со вторым выводом? Я не вижу никакого сообщения о записи во флэш-память, выполнении цикла стирания (его можно отключить) и не вижу никаких сообщений об ошибках. Извините за воскрешение старого вопроса, но странно, что никто не заметил это "странности". - person Aleksander Z.   schedule 20.08.2016