Hallo, ich würde gerne ein einzelnes C-Programm für avr32 übersetzen. Leider finde ich in den man-pages von gcc nicht die Option, um für diese Platform zu kompilieren. Auf dem PC rufe ich den gcc so auf: gcc -o flc-avr32-server-v0.1.0-full flc-avr32-server-v0.1.0-full.c Kann ich ein Programm ohne makefile so für avr32 cross-kompilieren oder muss ich den Quellcode irgendwo in die Toolchain-Kompilierung einmogeln? Danke im voraus
http://www.atmel.com/dyn/resources/prod_documents/doc32074.pdf http://www.mikrocontroller.net/articles/AVR32 http://www.mikrocontroller.net/articles/AVR32_Studio Und du brauchst den richtigen gcc. Der nennt sich (wenig überraschend) avr32-gcc. Oliver
> Leider finde ich in den man-pages von gcc nicht die Option, um für diese > Platform zu kompilieren. gcc -b avr32 Allerdings versucht das auch nur, intern avr32-gcc der selben Version aufzufurfen. Den mußt du also auch installiert haben, und dann kannst du den auch direkt verwenden. > Kann ich ein Programm ohne makefile so für avr32 cross-kompilieren oder > muss ich den Quellcode irgendwo in die Toolchain-Kompilierung einmogeln? Das geht auch ohne Makefile. Aber ein solches wäre für die Anforderung nur drei Zeilen lang.
1 | CC = avr32-gcc |
2 | .PHONY: all |
3 | all: flc-avr32-server-v0.1.0-full |
Hallo, Jetzt habe ich über eine Woche diesen Thread anzeigen lassen, zusammen mit dem Rechner gestartet, und erst jetzt sehe ich, dass noch Antworten kamen :/. Ich habe mal in der Toolchain des avr32 gewühlt, wie das Makefile bei anderen Programmen so aussieht und mittels Versuch dieses minimale Makefile für mich erstellt.
1 | CC = /home/username/ICnova/build_avr32/staging_dir/usr/bin/avr32-linux-uclibc-gcc -Os -pipe -Os -I/home/schnath/ICnova/build_avr32/staging_dir/usr/include -I/home/username/ICnova/build_avr32/staging_dir/include --sysroot=/home/username/ICnova/build_avr32/staging_dir/ -isysroot /home/username/ICnova/build_avr32/staging_dir -msoft-float -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 |
2 | CCDEPMODE = depmode=none |
3 | CFLAGS = -Os -pipe -Os -I/home/username/ICnova/build_avr32/staging_dir/usr/include -I/home/username/ICnova/build_avr32/staging_dir/include --sysroot=/home/username/ICnova/build_avr32/staging_dir/ -isysroot /home/username/ICnova/build_avr32/staging_dir -msoft-float -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall |
4 | |
5 | target = avr32-unknown-linux-gnu |
6 | target_alias = avr32-linux |
7 | target_cpu = avr32 |
8 | target_os = linux-gnu |
9 | target_vendor = unknown |
10 | |
11 | flc-master: flc-master.o |
12 | flc-master.o: flc-master.c |
13 | #-rm flc-master.o |
14 | |
15 | flc-ramp: flc-ramp.o |
16 | flc-ramp.o: flc-ramp.c |
17 | #-rm flc-ramp.o |
18 | |
19 | flc-para: flc-para.o |
20 | flc-para.o: flc-para.c |
21 | #-rm flc-para.o |
22 | |
23 | flc-power: flc-power.o |
24 | flc-power.o: flc-power.c |
25 | #-rm flc-para.o |
Derzeit muss ich immer make 'programmname' angeben, es sei denn ich will das erste übersetzen. Wie das mit dem anschliessenden Löschen der Objektdateien geht habe ich noch nicht raus, und das 'make all' muss ich auch noch erkunden. Vielleicht hilft das ja einem anderen Benutzer - hier vom ICnova(base). PS: Versionsnummern habe ich aus den Dateinamen rausgelassen, das wurde zuviel Nacharbeit bei den ganzen Dateien.
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.