Forum: Mikrocontroller und Digitale Elektronik I/O Interface Module mit Embedded AVR Webserver lässt sich nicht kompelieren


von Vogel (Gast)


Lesenswert?

Hallo Zusammen,

ich habe folgendes Board:

https://www.chip45.com/products/crumb644-net_avr_atmega_modul_board_atmega644p_embedded_internet_ethernet_webserver_usb.php

und möchte folgenden Webserver darauf laufen lassen:
http://www.stefanfrings.de/avr_io/index.html

Leider bekomme ich die zur Verfügung stehen Software nicht kompeliert. 
Hat das von euch schno mal wer gemacht und kann mir helfen? Sind 
irgendwelche Bugs bekannt?

Ich weiß das ich per #defines mir meine Konfiguration zurecht bauen muss 
leider nicht sorichtig wie.

Ich habe in AtmelStudio6.1 ein Projekt für den ATmega644 angelegt und 
dann die Daten alle hinzugefügt. Leider fehlen dann diverse obwohl ich 
sie an vorgegebener Stelle gesetzt habe z.B: F_CPU. Googlen führt auch 
zu keinem nennenswerten Erfolg.

Ich bin gerade über jede Hilfe dankbar

Gruß

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Vogel schrieb:
> Leider bekomme ich die zur Verfügung stehen Software nicht kompeliert.

Und das äußert sich wie?

Gibt es Fehlermeldungen?

von hp-freund (Gast)


Lesenswert?

Wenn ich in den src/ Ordner wechsel und make ausführe ist alles ok.

Liegt also nicht am Projekt.

von Vogel (Gast)


Lesenswert?

hp-freund schrieb:
> Wenn ich in den src/ Ordner wechsel und make ausführe ist alles ok.
>
> Liegt also nicht am Projekt.

Wenn ich die Dateien alle in ein Projekt ziehe und defines für F_CPU und 
BAUD setze, bekomme ich folgende Fehler:


Fehler  1  #error "setbaud.h requires F_CPU to be defined" 
...\avr\include\util\setbaud.h  113  4  chip45_LAN
Fehler  2  #error "F_CPU must be a constant value" 
...\avr8-gnu-toolchain\avr\include\util\setbaud.h  121  4  chip45_LAN
Fehler  3  #error "BAUD must be a constant value" 
...\avr\include\util\setbaud.h  125  4  chip45_LAN
Fehler  4  division by zero in #if  ...\avr\include\util\setbaud.h  201 
11  chip45_LAN
Fehler  5  division by zero in #if  ...\avr\include\util\setbaud.h  204 
11  chip45_LAN
Fehler  6  division by zero in #if  ...\avr\include\util\setbaud.h  234 
7  chip45_LAN
Warnung  7  #warning "UBRR value overflow" [-Wcpp] 
...\avr\include\util\setbaud.h  235  6  chip45_LAN
Warnung  8  implicit declaration of function 'sei' 
[-Wimplicit-function-declaration] 
...\chip45_LAN\driver\serialconsole_atmega.c  112  5  chip45_LAN
Fehler  9  'stdout' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  114  5  chip45_LAN
Meldung  10  each undeclared identifier is reported only once for each 
function it appears in  ...\chip45_LAN\driver\serialconsole_atmega.c 
114  5  chip45_LAN
Fehler  11  'serialPort' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  114  15  chip45_LAN
Fehler  12  'stdin' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  115  5  chip45_LAN
Fehler  13  'inputStart' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  116  5  chip45_LAN
Fehler  14  'inputEnd' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  117  5  chip45_LAN
Fehler  15  unknown type name 'FILE' 
...\chip45_LAN\driver\serialconsole_atmega.c  121  33  chip45_LAN
Fehler  16  'inputBuffer' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  190  5  chip45_LAN
Fehler  17  'inputEnd' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  190  17  chip45_LAN
Fehler  18  'SERIAL_INPUT_BUFFER_SIZE' undeclared (first use in this 
function)  C...\chip45_LAN\driver\serialconsole_atmega.c  191  21 
chip45_LAN
Fehler  19  'inputStart' undeclared (first use in this function) 
...\chip45_LAN\driver\serialconsole_atmega.c  195  19  chip45_LAN
Warnung  20  'gotchar' defined but not used 
[-Wunused-function]...\chip45_LAN\driver\serialconsole_atmega.c  163  13 
chip45_LAN

von Stefan F. (Gast)


Lesenswert?

Vergiss das AVR Studio und bleibe auf der Kommandozeile.

Das Projekt ist ausgelegt, mit make gebaut zu werden. Und wie das geht, 
steht in der Readme Datei.

von Vogel (Gast)


Lesenswert?

Stefan Us schrieb:
> Vergiss das AVR Studio und bleibe auf der Kommandozeile.

Ok ich habe es jetzt mit winavr versucht. Bei make all erhalte ich 
folgende Fehlermeldung:

> "make.exe" all
avr-gcc -D Crumb644_NET_v1 -fno-strict-aliasing -Wall -O1 
-mmcu=atmega644 -DF_CPU=20000000 -DSERIAL_BITRATE=115200  -std=gnu99 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums 
-Wno-unused-but-set-variable -ffunction-sections -fdata-sections   -c -o 
driver/CP2200.o driver/CP2200.c
cc1.exe: error: unrecognized command line option 
"-Wno-unused-but-set-variable"
make.exe: *** [driver/CP2200.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00


Was mach ich falsch?

von Oliver S. (oliverso)


Lesenswert?

Vogel schrieb:
> Was mach ich falsch?

Eventuell hast du mehrere Versionen von make auf deinem Rechner, und es 
wird die falsche aufgerufen. Oder eine falsche Shell.

Oliver

von hp-freund (Gast)


Lesenswert?

Oder dein compiler unterstützt -Wno-unused-but-set-variable nicht.
Nimm es einfach aus den CFLAGS im Makefile.

von Vogel (Gast)


Lesenswert?

Ich habe jetzt die Zeile im Makefile auskommentiert:

#CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -Wno-unused-but-set-variable

Das ist das Resultat:

> "make.exe" all
avr-gcc -D Crumb644_NET_v1 -fno-strict-aliasing -Wall -O1 
-mmcu=atmega644 -DF_CPU=20000000 -DSERIAL_BITRATE=115200  -std=gnu99 
-ffunction-sections -fdata-sections   -c -o httpd/httpd.o httpd/httpd.c
httpd/httpd.c: In function 'not_authenticated':
httpd/httpd.c:614: error: 'status_401' undeclared (first use in this 
function)
httpd/httpd.c:614: error: (Each undeclared identifier is reported only 
once
httpd/httpd.c:614: error: for each function it appears in.)
make.exe: *** [httpd/httpd.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00


Was kann ich mit Winavr noch falsch gemacht haben. Ich arbeite sonst mit 
AVRStudio.

Ich danke euch schon mal für euere Hilfe

von hp-freund (Gast)


Lesenswert?

Nicht die ganze Zeile, nur die eine Option bitte.

von Vogel (Gast)


Lesenswert?

hp-freund schrieb:
> Nicht die ganze Zeile, nur die eine Option bitte.

Ok hab ich geändert. Das Ergebniss ist unverändert.

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Das wundert mich jetzt aber. Habs gerade mal mit winavr probiert.
Siehe Bild.

von hp-freund (Gast)


Lesenswert?

Sorry, ausschneiden vergessen :-(

von Vogel (Gast)


Lesenswert?

hp-freund schrieb:
> Habs gerade mal mit winavr probiert.

Ok kann du mir vielleicht noch mal kurz die Steps zum Ausführen sagen.

Ich habe das ganze in ein WINAVRprojekt gepackt und und unter tools 
²[WINAVR] Make all" geklickt

von hp-freund (Gast)


Lesenswert?

Ich habe das in der Eingabeauforderung gemacht.
Bei XP:

Start -> Ausführen

cmd eintragen
ok
Eingabeauforderung öffnet sich
dann in das src Verzeichnis wechseln.
cd .......\src

make -> Enter

von Stefan F. (Gast)


Lesenswert?

Du sollst einfach nur WinAVR installieren und dann "make clean" und 
"make code" eingeben.

Wer ein Projekt für seine geliebte GUI erstellen will, kann das gerne 
tun. Aber dann muss man auch wissen, wie es geht.

Ansonsten: Einfach mal das tun, was in der README Datei steht. Könnte 
helfen.

Und die Option "-Wno-unused-but-set-variable" entfernen (nur diese, 
nicht die anderen!). Offensichtlich unterstützt der alte Compiler von 
WinAVR diese Option nicht. Das macht nichts, sie ist auch nicht wichtig.

von Vogel (Gast)


Lesenswert?

So ich habe es jetzt hin bekommen. Das Problem war das wenn das 
Authentication modul abwähle das Fehler entstehen.

von Stefan F. (Gast)


Lesenswert?

> Das Problem war das wenn das Authentication modul abwähle das Fehler entstehen.

Dem gehe ich am Wochenende mal nach.

von Stefan F. (Gast)


Lesenswert?

Ich habe beide Issues behoben (Compileroption, die WinAVR nicht versteht 
und Compilierfehler wenn das AUTH Modul deaktiviert ist).

von Stefan F. (Gast)


Lesenswert?

> Sind irgendwelche Bugs bekannt?

Jetzt nicht mehr :-)

Aber im README File stehen ein par "known issues".

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.