Beim avr-gcc musst du auch bloß die Fuses setzen, die du haben willst (also alle die auf 0 gesetzt werden sollen. Wenn man Makros verwendet werden diese intern invertiert. Steht alles in den .h Dateien.
Meine Headerdatei für den VS Test ist zum Beispiel
Die defines sind aus der iom8.h. Muss man sich eben für jeden Typ extra raussuchen.Code:#ifndef _AST_FUSE_SET_ATMEGA8_H_ #define _AST_FUSE_SET_ATMEGA8_H_ #include <avr/io.h> FUSES = { .low = (FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL1 & FUSE_CKSEL0),// & FUSE_BODLEVEL & FUSE_BODEN), .high = HFUSE_DEFAULT, //(FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0) }; // high=0xD9 low=0x24 //zum Fusebits ermitteln //http://palmavr.sourceforge.net/cgi-bin/fc.cgi /* Fuses #define FUSE_MEMORY_SIZE 2 Low Fuse Byte #define FUSE_CKSEL0 ~_BV(0) #define FUSE_CKSEL1 ~_BV(1) #define FUSE_CKSEL2 ~_BV(2) #define FUSE_CKSEL3 ~_BV(3) #define FUSE_SUT0 ~_BV(4) #define FUSE_SUT1 ~_BV(5) #define FUSE_BODEN ~_BV(6) #define FUSE_BODLEVEL ~_BV(7) #define LFUSE_DEFAULT (FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1) High Fuse Byte #define FUSE_BOOTRST ~_BV(0) #define FUSE_BOOTSZ0 ~_BV(1) #define FUSE_BOOTSZ1 ~_BV(2) #define FUSE_EESAVE ~_BV(3) #define FUSE_CKOPT ~_BV(4) #define FUSE_SPIEN ~_BV(5) #define FUSE_WDTON ~_BV(6) #define FUSE_RSTDISBL ~_BV(7) #define HFUSE_DEFAULT (FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0) Lock Bits #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST */ #endif // _AST_FUSE_SET_ATMEGA8_H_
sast







Zitieren

Lesezeichen