uIP FreeRtos, Problem mit uip.h

Gast #2180670
Lesenswert?
• ▲
▼
Werte Freunde,

Nachdem ich nun mein erstes Free-Rtos-Projekt abgeschlossen habe 
(LPC1768), wollte ich mich mal an Ethernet wagen. Ich benutze den 
ARM-GCC von Codesourcery mit einem Makefile aus dem Internet.

Habe mir also, da ich mich ja mit FreeRtos bereits vertraut gemacht 
habe, die enthaltenen Demos angeschaut und das Makefile soweit 
angepasst, dass es größtenteils auch schon alles kompiliert wird.

Nun stehe ich jedoch vor einem Problem:
in der uip.h sind mehrere Strukturen unterschiedlichen Typs vorhanden, 
die alle gleich heißen.
Verständlicherweise gibt das einen Fehler beim kompilieren.

in den Zeilen:
-1395
-1440
-1485
-1575
sind strukturen die alle PACK_STRUCT_END heißen....
Als Outpu kommt das hier:

In file included from 
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.c:82 
:0:
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.h:14 
73:3:  error: conflicting types for 'PACK_STRUCT_END'
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.h:14 
29:3:  note: previous declaration of 'PACK_STRUCT_END' was here
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.h:15 
13:3:  error: conflicting types for 'PACK_STRUCT_END'
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.h:14 
29:3:  note: previous declaration of 'PACK_STRUCT_END' was here
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.h:15 
77:3:  error: conflicting types for 'PACK_STRUCT_END'
../../../Ethernet_FreeRtos/Demo/Common/ethernet/uIP/uip-1.0/uip/uip.h:14 
29:3:  note: previous declaration of 'PACK_STRUCT_END' was here


Wenn ihr mir da einen Tip geben könntet, wo der Fehler liegt oder was 
das Problem ist, bin ich euch sehr dankbar.

Grüße,
Tüftler
Angehängte Dateien:
#2180821
Lesenswert?
• ▲
▼
Hi,
Das "PACK_STRUCT_END" ist ein Define und ist vom Compiler abhängig.
Schau mal in deinen anderen Files nach, in einem sollte das definiert 
sein.

Hier mal ein Beispiel von lwIp:
1
/// Compiler hints for packing lwip's structures
2
#define PACK_STRUCT_FIELD(x)    x __attribute__((packed))
3
#define PACK_STRUCT_STRUCT      __attribute__((packed))
4
#define PACK_STRUCT_BEGIN
5
#define PACK_STRUCT_END

mfg
Stephan
Gast #2292377
Lesenswert?
• ▲
▼
Der Kuchen ist vermutlich schon gegessen...
Im Beispiel von FreeRTOS wird das mit diesem Compilerschalter geregelt:
-DPACK_STRUCT_END=__attribute\(\(packed\)\)

Ich hangele mich auch gerade durch den RTOS/uip Code und die mässige UDP 
Unterstützung und bin daher auf diesen älteren Beitrag gestossen.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.