Forum: Compiler & IDEs cfile per commandline kompilieren


von joe (Gast)


Lesenswert?

seas

ist es möglich ein erstelltes c file... z.b. mit dem editor einfach per 
commandline in ein intel hex file zu kompilieren?

den controller könnte man ja über die st500.exe programmieren, nun würd 
ich noch das compilieren per cmdline benötigen.


mfg

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist nicht nur möglich, das ist sogar der normale Weg, so etwas zu 
tun. Näheres ist der Dokumentation des hier praktischerweise nicht 
benannten Compilers für den hier praktischerweise nicht genannten 
Controller zu entnehmen.

von Oliver (Gast)


Lesenswert?

Probiers mal mit

make

Oliver
P.S. Anleitungen zum Erstellen des makefiles gibts im Netz.

von joe (Gast)


Lesenswert?

der controller ist der avr atmega32, und naja compiler ist der 
avr-gcc...

von Karl H. (kbuchegg)


Lesenswert?

mach eine Commandline auf.

dann rufst du mal den Compiler auf.
Da bei mir der WinAVR auf C:\WinAVR-20090313 installiert ist und ich die 
dortigen Pfade nicht in meiner Path-Variablen habe, muss ich auf das 
Verzeichnis hinnavigieren um den Compiler aufzurufen. Man kann natürlich 
auch den entsprechenden Eintrag in die PATH Variable machen oder beim 
Aufruf den Pfad direkt angeben.

Und dann machst du einfach mal in der Command Line

cd \
cd WinAVR-20090313
cd bin
avr-gcc --help
avr-gcc --help=target

die ersten 3 Commandline anweisungen navigieren auf das bin Verzeichnis 
der WinAvr Installation. Dort ist das Compiler EXE.
Die letzten beiden rufen den Compiler mit dem --help Switch (bzw. die 
targetspezifische Hilfe) auf, welcher dir alle möglichen Optionen für 
den Compiler ausgibt.

Und da suchst du dir jetzt zusammen, was du brauchst. Der Blick in ein 
vorhandenes Makefile kann hier Wunder wirken um einen Satz brauchbarer 
Compiler Optionen zustande zu bringen.

von Oliver (Gast)


Lesenswert?

Der Compiler alleine erzeugt aber keine hex-files.

Es nutzt nichts, der Weg geht über make. Passende makefiles lassen sich 
mit MFile erzeugen, und wie das sonst so geht, steht oben links im 
Tutorial.

Oliver

von Karl H. (kbuchegg)


Lesenswert?

Oliver schrieb:
> Der Compiler alleine erzeugt aber keine hex-files.
>
> Es nutzt nichts, der Weg geht über make.

make aber auch nicht :-)


Allerdings:
Das ist dir klar, das ist mir klar
nur Joe (Gast) ist das nicht klar.

Es spricht sich nun mal leicht 'Ich will'
Nur wenn man verstehen will, was da eigentlich passiert, dann muss man 
sich auch mal die Hände schmutzig machen und sich nicht alles auf einem 
Silbertablett präsentieren lassen.

von joe (Gast)


Lesenswert?

ja aber was für schritte wären notwendig um aus einem c file ein hex 
file zu bekommen.?

von Lukas K. (carrotindustries)


Lesenswert?

joe schrieb:
> ja aber was für schritte wären notwendig um aus einem c file ein hex
> file zu bekommen.?
Früher hieß das mal Datei...
Beispiel Makefile such dir eine aus und ändere die Parameter (MCU 
etc.) deiner Umgebung entsprechend.

von joe (Gast)


Lesenswert?

naja so kompliziert ist das ja doch nicht und man muss sich nicht 
wirklich "die hände schmutzig machen"....-.-

wie auch immer, ich hab einfach bei avr studio die buildmessages 
kopiert, da dort genau der kommandozeilen aufruf steht, und es 
funktioniert ohne probleme...

von Rolf Magnus (Gast)


Lesenswert?

Luk4s K. schrieb:
>> ja aber was für schritte wären notwendig um aus einem c file ein hex
>> file zu bekommen.?
> Früher hieß das mal Datei...

Und heute heißt es "Dokument", das man in einer Hierarchie aus "Ordnern" 
und "Unterordnern" findet. Da stelle ich mir immer einen riesigen 
Aktenordner vor, der ein ganzes Zimmer füllt, damit darin Platz ist für 
kleinere Ordner, in denen wieder kleinere Ordner sind, u.s.w

joe schrieb:
> ja aber was für schritte wären notwendig um aus einem c file ein hex
> file zu bekommen.?

Sorry, aber das ist etwas, das schon so oft im Detail erkärt wurde, daß 
es wirklich nicht sinnvoll ist, das hier nochmal zu tun. Es gibt da 
Massen von Tutorials, von denen man halt mal eins lesen müßte.

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
Noch kein Account? Hier anmelden.