Hallo zusammen... Zunächst einmal möchte ich sagen, dass ich mit ATMEL Prozessoren noch nie etwas zu tun hatte. Habnun als "Startprojekt" den Webserver von Holger Buss erfolgreich ans laufen gebracht. Allerdings nur mit den zur Verfügung gestellten Hex-Files. Nun möchte ich gern selber mal so ein Hex-File erstellen. Dazu hab ich mir WinAVR heruntergeladen und installiert. Dann habe ich z.B. die IP-Adresse in einem File geändert. Wie erstelle ich nun ein Hex-File ? Hab mir schon mal den Artikel zum Thema "AVR-GCC-Tutorial" durchgelesen, komme damit aber nicht klar. Gibt es eine "Schritt für Schritt" Anleitung ? (Sozusagen WinAVR für Dummies) Makefile etc. ist alles vorhanden, möchte nur ein brennfertiges Hex-File erstellen. Danke Dirk
Steht im AVR-GCC-Tutorial unter Exkurs Makefile. Wenn du das Makefile schon fertig hast musst du nur im Editor unter Tools -> Make All anklicken.
Das hab ich auch gemacht... Hab das Makefile im Programer Notepad geöffnet und dann im Menü Tool Make All angeklickt. zuerst kamen ganz viele Meldungen, dann ganz viele Warnings und zum Schluss stand da .... D:/Elektronik/WinAVR/avr/include/avr/interrupt.h:97:1: warning: this is the location of the previous definition In file included from main.h:100, from uart.c:8: D:/Elektronik/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>." uart.c: In function `UART_Init': uart.c:35: warning: passing arg 1 of `fdevopen' from incompatible pointer type uart.c:35: error: too many arguments to function `fdevopen' make.exe: *** [uart.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:03 Wo ist nun mein Makefile ? Dirk
Die Frage nach dem Makefile hat sich erübrigt, hab erfahren, das wird bei Errors nicht gechrieben. Nun stellt sich die Frage, warum bekomm ich ne Fehlermeldung ??? Kann mit der Meldung nicht viel anfangen, hab (wie oben bereits geschrieben) noch überhaupt keine Erfahrung mit C und WinAVR... Dirk
Ich will ja nicht nörgeln und auch nicht demotivieren... Aber wäre es nicht sinnvoller, zunächst mal mit etwas ganz einfachem zu beginnen, z.B. eine LED blinken zu lassen, bevor man sich an einen Webserver wagt? Der Klavieranfänger spielt üblicherweise auch zunächst eine C-Dur Tonleiter, bevor er sich an Toccata und Fuge in d-Moll wagt, weil er sonst nämlich sehr schnell demotiviert aufgibt. Die 'blinkende LED' ist das 'hello world' der Mikrocontroller. Wenn das geht, dann weiss man, wie die Werkzeuge funktionieren und kann sich daran machen, etwas zu bauen. Nur meine 2 Pesos... Baku
Hallo Baku... Grundsätzlich gebe ich Dir ja recht. Habe den Webserver auch nur aus Interesse nachgebaut. Hat ja auch auf Anhieb funktioniert und läuft eigentlich zu meiner vollsten Zufriedenheit. Wollte das ganze ja auch zunächst nur "nachbauen" und nicht selbst entwickeln. Hex-Files und alles stehen dafür ja auch zur Verfügung, also eigentlich nichts "grossartiges". Naja, nun musste ich halt in einem File die IP-Adresse ändern, und ein neues Hex-File erstellen lassen. Und dabei taucht nun das oben geschilderte Problem auf. Mit C werde ich mich nach und nach mal auseinandersetzen. (wenn man mit Arbeit, Frau und 2 Kindern sowie einigen Hobbies überhaupt mal Zeit dazu findet ggg) Dirk
Nach der Fehlermeldung würde ich sagen das Programm benutzt noch die avrlibc 1.2 in dem WinAvr Package ist aber die avrlibc 1.4 drin. Da hat sich einiges geaendert, besonders bei fdevopen (steht ja auch in der Fehlermeldung) Entweder nimmst du eine aeltere Version von Winavr oder du fuchst dich in C ein, z.B. wie oben schon angemerkt mit LED blinken lassen.
Lass Dich nitcht verwirren. > D:/Elektronik/WinAVR/avr/include/avr/interrupt.h:97:1: warning: this is > the location of the previous definition > In file included from main.h:100, > from uart.c:8: > D:/Elektronik/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning > "This file has been moved to <util/delay.h>." Öffne main.h mit dem editor und ändere #include <delay.h> in #include <util/delay.h> > uart.c: In function `UART_Init': > uart.c:35: warning: passing arg 1 of `fdevopen' from incompatible > pointer type > uart.c:35: error: too many arguments to function `fdevopen' Öffnet uart.c und füge als erste zeile ein #define __STDIO_FDEVOPEN_COMPAT_12 Dann versuche es noch einmal.
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.