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
Das Tool heißt mfile und ist sehr zu empfehlen ... nur so der Vollständigkeit halber :)
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
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 =)
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.
Hi Du kannst das kompilieren auch mit einer Batchdatei erledigen. (siehe Anhang). Gruss A. Hesse
Hi, postings haben sich wohl überkreuzt. Das File muss den Namen "makefile" erhalten. Die make.exe ist im winavr paket enthalten. Gruss Andreas
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 =)
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
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
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!!!
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
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
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.