Gast
#788474
Hallo, ich habe gerade festgestellt, daß mein Binärcode um 554 Byte größer(!) wird, wenn ich einen Befehl weglasse(!) bzw. einen anderen konstanten Wert zuweise. Ich vermute mal, daß da die Optimierung des GCC nicht mehr kann, wenn der eine Befehl fehlt. Zusammengefaßt sieht es so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
So sieht das im groben aus. Wenn ich flag_jbusmsg_ok (Typ uchar8) auf FALSE (=0) setzte oder den Befehl DebugLed2Off (= PORTA &= ~0x04) weglasse (fünft- und sechstletzte Zeile) oder auch beide Befehle weglasse, wird das Binärfile im Flash über ca. 550 Byte größer. Der Befehl "flag_jbusmsg_ok = TRUE" soll nämlich raus und das Proggi natürlich klein bleiben. Es würde übrigens von derzeit 4626 Byte auf 5180 Byte anwachsen. Wie kann ich sowas umgehen, wenn ich den Code klein halten will?