Wie ichs mir dachte. Als erstes stell mal auf -Os um
Code:
temp = GICR;78c0: 8b e5 ldi r24, 0x5B ; 91
78c2: 90 e0 ldi r25, 0x00 ; 0
78c4: fc 01 movw r30, r24
78c6: 80 81 ld r24, Z
78c8: 88 87 std Y+8, r24 ; 0x08
GICR = temp | (1<<IVCE);
78ca: 8b e5 ldi r24, 0x5B ; 91
78cc: 90 e0 ldi r25, 0x00 ; 0
78ce: 28 85 ldd r18, Y+8 ; 0x08
78d0: 21 60 ori r18, 0x01 ; 1
78d2: fc 01 movw r30, r24
78d4: 20 83 st Z, r18
GICR = temp | (1<<IVSEL);
78d6: 8b e5 ldi r24, 0x5B ; 91
78d8: 90 e0 ldi r25, 0x00 ; 0
78da: 28 85 ldd r18, Y+8 ; 0x08
78dc: 22 60 ori r18, 0x02 ; 2
78de: fc 01 movw r30, r24
78e0: 20 83 st Z, r18
Benötigt viel zu viele Taktzyklen. Muss kürzer sein (<4)
Als Optimierungsstufen empfehlen sich eig nur -Os oder -O1. Der Rest ist, naja... einfach nicht passend.
Lesezeichen