mikrocontroller.net

Forum: Compiler & IDEs Makefile?????


Autor: Josef Käufl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie funktioiert nur diese Makefile Wirrwar?
Ich sitzt jetzt schon ne ganze Zeit da und konfiguruer diese makefile,
gehe danach wieder in winavr zurück und gehe da auf Tools/Options/Tools
und editier dort dann die Make All Routine indem ich meine konfigurierte
makefile dort auswähle. Aber alles was mir das Programm dann noch zu
sagen hat ist:
 Failed to create process: %1 ist keine zulässige Win32-Anwendung.

ahhh. Bin ich wirklich der einzige, der das nicht kapiert. Da fang ich
doch gleich wieder zum rauchen an bei dem Streß mit dem Ding.

HILFE

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
beim winavr paket ist doch ein nettes kleines tool zum makefile
erstellen dabei..

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Tool heißt mfile und ist sehr zu empfehlen ... nur so der
Vollständigkeit halber :)

Autor: Andreas Hesse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich verstehe nicht ganz, was Du mit editere der Tools meinst.

Das kannst Du so lassen wie es ist. Alle angaben werden in dem Makefile
gemacht.

Gruss
Andreas

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Mfile Tool hab ich schon gefunden und auch benutzt, aber irgendwie
mach ich da anscheinend was falsch.
Aber wenns damit einwandfrei funktionieren soll, dann klemm ich mich
nochmal dahinter. Wenn ich schon daran scheitere, wie solls denn dann
weiter gehen =)

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm. Hab das ganze jetzt folgendermasen gemacht.
C-File geschreiben.
Als xyz.c gespeichert.
Mfile geöffnet. Die xyz.c als c Source angegeben. Meinen MC angegeben
und dann unter 'save as' das ganze als 'make.exe' in das
Verzechniss der xyz.c gepeichert.
Dann bei WinAVR MakeAll ausgeführt und dann bekomme ich folgende
Meldung:
> "make.exe" all

> Process Exit Code: 255

Was mach ich da noch falsch. Ich brauch doch nur eine *.hex Datei vom
dem C-File.

Autor: Andreas Hesse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Du kannst das kompilieren auch mit einer Batchdatei erledigen.
(siehe Anhang).

Gruss
A. Hesse

Autor: Andreas Hesse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

postings haben sich wohl überkreuzt.

Das File muss den Namen "makefile" erhalten. Die make.exe ist im
winavr paket enthalten.

Gruss
Andreas

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bekomm da folgende Meldungen:

C:\TEST>"C:\Programme\Atmel\WinAVR\bin\avr-gcc.exe" -g -I. -Os
-mmcu=atmega8535
-c  "C:\test\led01.c"
In file included from C:\test\led01.c:2:
./stdint.h:29: error: conflicting types for 'int16_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:90: error: previous declaration of 'int16_t' was here
./stdint.h:30: error: conflicting types for 'uint16_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:95: error: previous declaration of 'uint16_t' was here
./stdint.h:31: error: conflicting types for 'int32_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:106: error: previous declaration of 'int32_t' was here
./stdint.h:32: error: conflicting types for 'uint32_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:111: error: previous declaration of 'uint32_t' was here
In file included from C:\test\led01.c:3:
./io8535.h:36:4: #error "Include <avr/io.h> instead of this file."


Damit bin ich nun etwas überfordert. Gibts keine win32-anwendung, bei
der ich nur auf ein knöpfchen drücken muß wie beim AVRStudio =)

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha. Welche File meinst du? Deine avr_make.bat?

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aso hab das falshc verstanden. Hab das ganze jetzt nicht als make.exe
sondern als makefile gespeichert.
Jetzt kommt schon mal ein anderer Fehler:
Vom 16-Bit-MS-DOS-Teilsystem
'mein Pfad'
...NTVDM-CPU...ungültiger Befhel enmtdeckt....
CS:0f7d IP:0109 ....
Schließen

Autor: Andreas Hesse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal ein kleines Projekt von mir beigelegt.

Vielleicht versuchst Du das mal zu kompileieren.
Einfach mal in ein Verzeichnis entpacken und dann auf der DOS-Ebene
"make" eingeben.

Gruss
Andreas

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ich einwadnfrei compilieren.
Hab jetzt auch meinen Fehler entdeckt. Ich hab das Target zweimal
angegeben gehabt =)
Das dann so ne enorme Fehlermeldung rauskommt ist schon sonderlich. An
Sowas hab ich ja auch wirklich als letztes gedacht =)

Trotzdem vielen vielen Dank für deine Hilfe!!!

Autor: peter dannegger (Gast)
Datum:
Angehängte Dateien:
  • Ac.bat (522 Bytes, 196 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Ich mache schon lange WINAVR und hab noch nie ein make gebraucht.

Anbei meine Batch.
Da der AVR-Typ eingetragen werden muß, die Batch mit ins
Projektverzeichnis kopieren.

Compiliert alles *.C zusammen, was im aktuellen Verzeichnis steht.

Also DOS-Fenster öffen, ins Projektverzeichnis gehen und "ac"
eintippen.


Peter

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.:

Die Batch-Methode hat noch einen Vorteil:

Bei der modularen Programmierung entstehen ja immer neue Module.
Kein Problem, jedes neue *.C-File wird automatisch mit dazu gelinkt.

Umgekehrt, um ein Modul wieder zu entfernen, muß man es in ein anderes
Verzeichnis verschieben oder einfach umbenennen z.B. in *.C1.

Man muß also die Batch nur einmal editieren, um den AVR-Typ
festzulegen.
Das ist notwendig, weil es im Gegensatz zu anderen Compilern keine
Möglichkeit gibt, diesen im Sourcefile mit anzugeben.


Peter

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.