Hallo NomiS,
ich glaube, dass du aktuell den Wald vor lauter Bäumen nicht siehst. (Ist nicht böse gemeint, sondern liegt in der Natur/Verständnis der Dinge wenn es um eine Lib geht.)
Dein geposteter Screenshot sagt mir folgendes:
- Du rufst im Verzeichnis D:\ASURO\ASURO_src\FirstTry\ die BAT-Datei Test-all.bat auf.
- Dein Makefile übersetzt schön brav alle angegeben Dateien:
--- globals.c
--- adc.c
--- encoder.c
--- encoder_low.c
--- i2c.c
--- leds.c
--- lcd.c
--- motor.c
--- motor_low.c
--- print.c --- mit den 2 warnings zur Funktion SerPrint() wegen signedness
--- rc5.c
--- sound.c
--- switches.c
--- time.c
--- uart.c
--- version.c
Diese Dateien stammen alle aus der Asuro-Lib. Sie haben eigendlich nichts im Verzeichnis D:\...\FirstTry\ verloren. In diesem Verzeichnis wird ja von der ASURO-CD nur das Originalprogramm zum 'ersten Versuch' abgespeichert. Und die Entwickler vom ASURO wusten ja noch nichts davon, dass wir im Forum eine Lib basteln.
Jetzt kommt aber noch aus deinem geposteter Screenshot folgende Zeile:
"avr-ar cru libasuro.a globals.o adc.o encoder.o encoder_low.o i2c.o leds.o lcd.o motor.o motor_low.o print.o rc5.o sound.o switches.o time.o uart.o version.o"
Auch dieses Kommando wird fehlerfrei ausgeführt.
Aber was wird damit gemacht?
--- Das Programm avr-ar wird aufgerufen.
--- Steuernde Parameter dafür sind "cru"
Als Ergebnis wird dir die dann angegeben Datei libasuro.a gebaut. Die muss nun im Verzeichnis D:\ASURO\ASURO_src\FirstTry\ 'rumliegen'.
Alle weiteren Angaben mit dem .o am Ende sind die Übersetzten C-Dateien.
Was macht cru? Es sammelt Object-Dateien (*.o) zu/in einer Lib-Datei (*.a)
- c: create (ohne warung, wenn *.a angelegt werden muss)
- r: replace (ersetzen oder neu hinzufügen von *.o Dateien)
- u: update (nur ersetzen, wenn die *.o-Datei neuer ist als der Inhalt in *.a)
(Ruf mal zum Spaß avr-ar in einem DOS-Fenster auf. Nicht erschrecken, es kommen nur die 'paar' Parameter, die man da mitgeben kann.)
Du hast nicht eine HEX-Datei, sondern eine LIB-Datei fehlerfrei erzeugt.
Ich bin mir relativ sicher, das dies aber nicht dein Wunsch ist.
Gibt es in deinem Verzeichnis D:\ASURO\ASURO_src\FirstTry\ noch irgendeine C-Datei, in der du eigenen Programmcode reingeschrieben hast? Meistens wird hier im Forum die Datei test.c benutzt. (Mann/Frau ist ja so faul das Makefile anzupassen.)
Du solltest mal kurz sagen ob du nur die LIB erstellen willst, oder ob du ein eigenes Programm in D:\...\FirstTry\ übersetzen möchtest.
Gruß Sternthaler
Lesezeichen