Здравствуйте!
Вопрос может не совсем в тему.
Имею обсуждаемый программатор, работает хорошо. За что большое спасибо автору

Прошить его удалось только на 3-ем компе, с чипсетом Intel.
Теперь собственно сам вопрос. Прошиваю ATxmega32A4 в режиме mkII (Ubuntu Linux 10.10 - avrdude - jtag2pdi). Проблема возникает при программировании фьюзов. Если я шью такой командой:
Код
avrdude -c jtag2pdi -P /dev/ttyACM0 -p x32a4 -U fuse0:w:0x00:m -U fuse1:w:0x00:m -U fuse2:w:0xFF:m -U fuse4:w:0xFE:m
то все в порядке:
Код
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e9541
avrdude: reading input file "0x00"
avrdude: writing fuse0 (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of fuse0 written
avrdude: verifying fuse0 memory against 0x00:
avrdude: load data fuse0 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse0 data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of fuse0 verified
avrdude: reading input file "0x00"
avrdude: writing fuse1 (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of fuse1 written
avrdude: verifying fuse1 memory against 0x00:
avrdude: load data fuse1 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse1 data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of fuse1 verified
avrdude: reading input file "0xFF"
avrdude: writing fuse2 (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of fuse2 written
avrdude: verifying fuse2 memory against 0xFF:
avrdude: load data fuse2 data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip fuse2 data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of fuse2 verified
avrdude: reading input file "0xFE"
avrdude: writing fuse4 (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of fuse4 written
avrdude: verifying fuse4 memory against 0xFE:
avrdude: load data fuse4 data from input file 0xFE:
avrdude: input file 0xFE contains 1 bytes
avrdude: reading on-chip fuse4 data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of fuse4 verified
avrdude done. Thank you.
Как только добавляю к команде 5-ый фьюз:
Код
avrdude -c jtag2pdi -P /dev/ttyACM0 -p x32a4 -U fuse0:w:0x00:m -U fuse1:w:0x00:m -U fuse2:w:0xFF:m -U fuse4:w:0xFE:m -U fuse5:w:0xF0:m
получаю вот такой вывод ошибки в конце:
Код
avrdude: reading input file "0xF0"
avrdude: writing fuse5 (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of fuse5 written
avrdude: verifying fuse5 memory against 0xF0:
avrdude: load data fuse5 data from input file 0xF0:
avrdude: input file 0xF0 contains 1 bytes
avrdude: reading on-chip fuse5 data:
Reading | | 0% 0.00savrdude: jtagmkII_read_byte(): bad response to read memory command: RSP_FAILED
avr_read(): error reading address 0x0000
read operation not supported for memory "fuse5"
avrdude: failed to read all of fuse5 memory, rc=-2
avrdude done. Thank you.
И после этого любая команда дает ошибку:
Код
avrdude: AVR device initialized and ready to accept instructions
Reading | | 0% 0.00savrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_FAILED
avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_FAILED
avrdude: jtagmkII_read_byte(): bad response to read memory command: RSP_ILLEGAL_MCU_STATE
avr_read(): error reading address 0x0000
read operation not supported for memory "signature"
avrdude: error reading signature data for part "ATXMEGA32A4", rc=-2
avrdude: error reading signature data, rc=-1
avrdude: jtagmkII_program_disable(): bad response to leave progmode command: RSP_ILLEGAL_MCU_STATE
avrdude done. Thank you.
В чем может быть дело? Микросхему можно заменить, но это не выход (уже менял, все шьется до 5-го фьюза, затем вышеописанный ступор).
Версия avrdude 5.10, в программаторе последняя прошивка (заливал в него 110427). Сам программатор исправен, другие МК прошивает, как xmega, так и mega.
Помогите советом, направьте мысль в нужное русло