mikrocontroller.net

Forum: Compiler & IDEs kompilieren eines c-programms ohne make für avr32


Autor: qwertz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.
CC = avr32-gcc
.PHONY: all
all: flc-avr32-server-v0.1.0-full

Autor: qwertz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
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
CCDEPMODE = depmode=none
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

target = avr32-unknown-linux-gnu
target_alias = avr32-linux
target_cpu = avr32
target_os = linux-gnu
target_vendor = unknown

flc-master: flc-master.o
flc-master.o: flc-master.c
#-rm flc-master.o

flc-ramp: flc-ramp.o
flc-ramp.o: flc-ramp.c
#-rm flc-ramp.o

flc-para: flc-para.o
flc-para.o: flc-para.c
#-rm flc-para.o

flc-power: flc-power.o
flc-power.o: flc-power.c
#-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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.