ich habe gerade ein Projekt mit dem Bootloader von P.Fleury wieder rausgekramt und nochmal die letzte Version von seiner Homepage geladen. Der Bootloader passt in 1 KB rein und ich habe im Makefile von MCU=mega8 auf meinen mega32 umgestellt. Und schon wurde der Code von 1016 auf 1030 Bytes vergrössert. Habe dann noch den gcc 4.1.1 aktiviert, gleicher Effekt. Ein diff der generierten .lss files zeigt schnell das beim mega32 die rcalls durch calls ersetzt wurden und dort die zusätzlichen Bytes anfallen. Da ist der gcc ein bischen 'dumm', der Befehl müsste doch von der Sprunglänge und nicht vom Device abhängen? Beim mega8 ist es natürlich einfach, da sind alle Ziele relativ zu erreichen, aber kann man den gcc auch dazu bewegen für den mega32 relative Sprünge zu nutzen?
oh, dank ans Roboternetz, da gibts eine nette gcc Beschreibung und das Zauberwort heisst '-mshort-calls'. War einfacher als ich dachte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.