Hi,
ich experimentiere gerade ein bisschen mit einem RNControl V1.4 Board herum und mir ist gerade folgendes Problem in die Quere gekommen.
Ich hab ganz normal mittels folgendes Befehls mein Programm über einen mySmartUSB Programmer via avrdude auf meinen Atmega32 übertragen:
Code:
avrdude -p atmega32 -c AVR910 -U flash:w:programm.hex -v -F -P /dev/ttyUSB0
Beim übertragen habe ich folgende Frage gestellt bekommen, die ich bis jetzt noch nie gestellt bekommen hab:
"Would you like this fuse to be changed back? [y/n]"
Code:
Device code: 0x29 = (unknown)
Device code: 0x2a = (unknown)
Device code: 0x2b = (unknown)
Device code: 0x2c = (unknown)
Device code: 0x2d = (unknown)
Device code: 0x2e = (unknown)
Device code: 0x2f = (unknown)
Device code: 0x30 = AT90S4433
Device code: 0x31 = (unknown)
Device code: 0x32 = (unknown)
Device code: 0x33 = (unknown)
Device code: 0x34 = AT90S2333
Device code: 0x35 = (unknown)
Device code: 0x36 = (unknown)
Device code: 0x37 = (unknown)
Device code: 0x38 = AT90S8515
Device code: 0x39 = (unknown)
Device code: 0x3a = ATMEGA8515
Device code: 0x3b = (unknown)
Device code: 0x3c = (unknown)
Device code: 0x3d = (unknown)
Device code: 0x3e = (unknown)
Device code: 0x3f = (unknown)
Device code: 0x40 = (unknown)
Device code: 0x41 = ATMEGA103
Device code: 0x42 = (unknown)
Device code: 0x43 = ATMEGA128
Device code: 0x44 = (unknown)
Device code: 0x45 = ATMEGA64
Device code: 0x46 = (unknown)
Device code: 0x47 = (unknown)
Device code: 0x48 = (unknown)
Device code: 0x49 = (unknown)
Device code: 0x4a = (unknown)
Device code: 0x4b = (unknown)
Device code: 0x4c = AT90S2343
Device code: 0x4d = (unknown)
Device code: 0x4e = (unknown)
Device code: 0x4f = (unknown)
Device code: 0x50 = (unknown)
Device code: 0x51 = (unknown)
Device code: 0x52 = (unknown)
Device code: 0x53 = (unknown)
Device code: 0x54 = (unknown)
Device code: 0x55 = ATtiny12
Device code: 0x56 = ATtiny15
Device code: 0x57 = (unknown)
Device code: 0x58 = (unknown)
Device code: 0x59 = (unknown)
Device code: 0x5a = (unknown)
Device code: 0x5b = (unknown)
Device code: 0x5c = (unknown)
Device code: 0x5d = (unknown)
Device code: 0x5e = ATtiny2313
Device code: 0x5f = (unknown)
Device code: 0x60 = ATMEGA161
Device code: 0x61 = (unknown)
Device code: 0x62 = (unknown)
Device code: 0x63 = ATMEGA162
Device code: 0x64 = ATMEGA163
Device code: 0x65 = (unknown)
Device code: 0x66 = (unknown)
Device code: 0x67 = (unknown)
Device code: 0x68 = AT90S8535
Device code: 0x69 = ATMEGA8535
Device code: 0x6a = (unknown)
Device code: 0x6b = (unknown)
Device code: 0x6c = AT90S4434
Device code: 0x6d = (unknown)
Device code: 0x6e = (unknown)
Device code: 0x6f = (unknown)
Device code: 0x70 = (unknown)
Device code: 0x71 = (unknown)
Device code: 0x72 = ATMEGA32
Device code: 0x73 = (unknown)
Device code: 0x74 = ATMEGA6450
Device code: 0x75 = ATMEGA6490
Device code: 0x76 = ATMEGA8
Device code: 0x77 = (unknown)
Device code: 0x78 = ATMEGA169
Device code: 0x79 = (unknown)
Device code: 0x7a = (unknown)
Device code: 0x7b = (unknown)
Device code: 0x7c = (unknown)
Device code: 0x7d = (unknown)
Device code: 0x7e = (unknown)
Device code: 0x7f = (unknown)
avrdude: AVR910_devcode selected: 0x01
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.06s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA32 is 1E 95 02
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "can_testprogram.hex"
avrdude: input file can_testprogram.hex auto detected as Intel Hex
avrdude: writing flash (1102 bytes):
Writing | ################################################## | 100% 7.19s
avrdude: 1102 bytes of flash written
avrdude: verifying flash memory against can_testprogram.hex:
avrdude: load data flash data from input file can_testprogram.hex:
avrdude: input file can_testprogram.hex auto detected as Intel Hex
avrdude: input file can_testprogram.hex contains 1102 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 3.87s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x0c != 0xff
avrdude: verification error; content mismatch
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as FF
avrdude: safemode: lfuse changed! Was 0, and is now ff
Would you like this fuse to be changed back? [y/n] y
^C
Da ich die Fuse bits nicht wissentliche geändert habe, dachte ich mal, ich beantworte das ganze mit "Yes", da ich mir dachte, dass es sich vielleicht um einen Fehler gehandelt hat, der somit wieder behoben wird.
Leider hat avrdude dann gar nicht mehr reagiert, weswegen ich das ganze nach ein paar Minuten abgebrochen habe.
Ich hab speziell von Fuse bits gar keine Ahnung. Mir ist nur bekannt, dass man damit bei falschem Umgang den Controller unbrauchbar machen kann.
Da mein Controller jetzt leider nichts mehr macht hab ich ein bischen Angst, dass das nun jetzt auch bei mir der Fall ist...
Programmieren lässt er sich noch ohne Probleme, das Programm macht nur leider nichts.
Beim Googlen hab ich zwar Fälle gefunden bei denen auch diese Frage gestellt wurde, aber ohne einfrieren des Programm im Anschluss.
Gibt es eine Möglichkeit das wieder hin zu kriegen? Ich weiß leider auch nicht welche Informationen dafür relevant sind, werde aber gerne alles geforderte posten.
Gruß,
toti
Lesezeichen