c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] make-Target für Bibliothek

Absender: Timo Sandmann
Datum: Do, 19.05.2011 14:35:08
In-reply-to: <1305799602.1799.11.camel@wbam-laptop>
References: <1305221409.10999.72.camel@wbam-laptop> <1305652707.2322.17.camel@wbam-laptop> <22D4A102-B690-4C77-B713-3023EEF6B013@xxxxxxxxxxxxxxx> <1305799602.1799.11.camel@wbam-laptop>


Hi Simon,

Am 19.05.2011 um 12:06 schrieb Simon Siemens:
> Hi Timo,
> 
> entschuldige bitte den Fehler. (Auf meinem System waren die beiden
> binutils-Versionen wohl zu ähnlich, als dass der Fehler aufgefallen
> wäre.)

kein Problem.

> libctbot.a wird aber schon immer bei make clean gelöscht. Im Makefile
> steht
> 
> 	$(REMOVE) $(LIBRARY)

Stimmt, bei mir war nach make clean libctbot.a noch vorhanden, deshalb dachte ich, es fehlt. Lag vielleicht an was anderem.

Ich habe den neuen Patch gerade mal ausprobiert und das Makefile auch noch ein bisschen aufgeräumt und einen anderen Bug gefixt. Dabei ist mir jetzt noch ein Problem mit der Library aufgefallen:
Ohne Library (Eclipse-Build oder altes Makefile) erhalte ich: 
EEPROM:      174 bytes (4.2% Full)
Mit Library hingegen:
EEPROM:      134 bytes (3.3% Full)

Das Problem dabei ist, dass immer alle EEPROM-Variablen auch vorhanden sein müssen, sonst ändern sich je nach Konfig-Option eventuell die Adressen und man müsste den Bot u.U. jedes Mal neu kalibrieren, wenn man eine andere Option oder ein anderes Verhalten aktiviert hat. 
Scheinbar wirft der Library-Build-Prozess nicht benutzte Objekte aber hinaus. Zumindest habe ich keine andere Erklärung für den Unterschied. Auf jeden Fall darf das nicht passieren, ob mit oder ohne Library gebaut, die EEPROM-Section muss immer gleich groß sein, sonst kann es beim Bot zu Problemen kommen.
Daher erstmal kein commit des neuen Makefiles. Ich habe Dir die Änderungen am Makefile mal als Patch mitgeschickt.

Hast Du eine Idee, woran das liegt bzw. wie sich das abstellen lässt?

Grüße,
Timo