Чтение фьюзов - проблемка

com
Offline
Зарегистрирован: 06.09.2013

привел arduino pro mini в нерабочее состояние, пытаюсь разобраться, в чем дело.

скетчи не заливаются. то есть заливка идет, диоды rx/tx на переходнике моргают, но когда после записи идет верификация, то при контрольном чтении идет мусор

avrdude: 1084 bytes of flash written
avrdude: verifying flash memory against C:\Temp\build3100342530403798270.tmp\Blink.cpp.hex:
avrdude: load data flash data from input file C:\Temp\build3100342530403798270.tmp\Blink.cpp.hex:
avrdude: input file C:\Temp\build3100342530403798270.tmp\Blink.cpp.hex contains 1084 bytes
avrdude: reading on-chip flash data:

Reading | avrdude: Send: U [55] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: t [74] . [00] . [80] F [46]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . 
...
avrdude: Recv: . [10] 
#####avrdude: Send: U [55] @ [40] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: t [74] . [00] . [80] F [46]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . [ff] . 

и, как следствие, в конце

avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0xff

 

хочу прочитать фьюзы и сравнить с такой же, но рабочей.

пытаюсь

avrdude -c arduino -b57600 -P COM3 -p m328p -U lfuse:r:lfuse.txt:h -U hfuse:r:hfuse.txt:h -U efuse:r:efuse.txt:h -U lock:r:lock.txt:h

получаю 4 файлика, в которых ноли, причем на обеих платах: и рабочей, и нерабочей.

 

что я делаю не так?

 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

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

avrdude -c usbasp -p m328p -U hfuse:r:-:b

com
Offline
Зарегистрирован: 06.09.2013

не прошло

C:\Program Files\Arduino\hardware\tools\avr\bin>avrdude -c arduino -b57600 -P COM3 -p m328p -U lfuse:r:-:h

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f
avrdude: reading lfuse memory:

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

avrdude: writing output file "<stdout>"
0x0

avrdude done.  Thank you.

 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

com пишет:

не прошло

Почему "не прошло"? Мне кажется, считало без ошибок, а то, что содержимое 0x0 - так это не вина avrdude... Попробуйте туда записать что надо (по калькулятору) и прочитать после этого...

com
Offline
Зарегистрирован: 06.09.2013

так я и хотел изначально прочитать данные с рабочей платы и записать в нерабочую, чтобы уж точно не ошибиться!

com
Offline
Зарегистрирован: 06.09.2013

а фьюзы доступны для чтения без программатора, только через переходник usb-uart?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

com пишет:

а фьюзы доступны для чтения без программатора, только через переходник usb-uart?

Похоже, что нет. У меня тоже нули читаются через USB-serial переходник... Хотя плата - живая... Ключик -c arduino подразумевает включение arduino as isp.

com
Offline
Зарегистрирован: 06.09.2013

Andrey_Y_Ostanovsky пишет:

Похоже, что нет. У меня тоже нули читаются через USB-serial переходник... Хотя плата - живая... Ключик -c arduino подразумевает включение arduino as isp.

arduino ide загружает скетч в плату без программатора, тоже используя ключ -c arduino

ну что ж, не прошло. придется делать из уно, валяющейся без дела, программатор