Hi,
I have a small programming setup for a custom pcb. I use a
raspberry pi with avrdude (6.1) to program a atmega128rfa1.
I am currently using a AVRISP mkii but because it is
unavailable I am looking into using the Atmel-ICE
programmer.
I have some funny behavior with the Atmel-ICE programmer.
When I try to burn the fuses I get a verification error of
the efuse
Command:
avrdude -p m128rfa1 -c atmelice_isp -P usb -B 32 -U
lfuse:w:0xf7:m -U hfuse:w:0xd1:m -U efuse:w:0xfe:m
Output (only the error part):
avrdude: verification error, first mismatch at byte 0x0000
0xf6 != 0xfe
avrdude: verification error; content mismatch
When I use the old and trusted AVRISP mkii everything works
Command:
avrdude -p m128rfa1 -c stk500v2 -P usb -B 32 -U
lfuse:w:0xf7:m -U hfuse:w:0xd1:m -U efuse:w:0xfe:m
Output:
avrdude: 1 bytes of efuse verified
Does anybody have a idea why it get an error with the
atmel-ICE programmer?
Full command output:
sudo avrdude -p m128rfa1 -c atmelice_isp -P usb -B 16 -U
lfuse:w:0xf7:m -U hfuse:w:0xd1:m -U efuse:w:0xfe:m
avrdude: AVR device initialized and ready to accept
instructions
Reading | ##################################################
| 100% 0.01s
avrdude: Device signature = 0x1ea701
avrdude: reading input file "0xf7"
avrdude: writing lfuse (1 bytes):
Writing | ##################################################
| 100% 0.09s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xf7:
avrdude: load data lfuse data from input file 0xf7:
avrdude: input file 0xf7 contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ##################################################
| 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xd1"
avrdude: writing hfuse (1 bytes):
Writing | ##################################################
| 100% 0.09s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd1:
avrdude: load data hfuse data from input file 0xd1:
avrdude: input file 0xd1 contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading | ##################################################
| 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xfe"
avrdude: writing efuse (1 bytes):
Writing | ##################################################
| 100% 0.09s
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xfe:
avrdude: load data efuse data from input file 0xfe:
avrdude: input file 0xfe contains 1 bytes
avrdude: reading on-chip efuse data:
Reading | ##################################################
| 100% 0.00s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xf6 != 0xfe
avrdude: verification error; content mismatch
avrdude: safemode: efuse changed! Was fe, and is now f6
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK (E:FE, H:D1, L:F7)
avrdude done. Thank you.
--
Armin Oonk, MSc
Berkelaar Meet- en RegelTechniek
Mijnbouwstraat 120
2628 RX Delft
The Netherlands
T
+31(0)6 14 65 84 39
BTW
NL1677.88.395.B01 / KvK
27299619