Hallo, ich habe ein Nucleo-F767ZI Board und möchte mit diesem die Ethernet-Funktion OHNE Betriebssystem nutzen. Die gewünschte Funktion ist wie folgt: 1) mit IP-Adresse verbinden 2) Get-Anfrage senden 3) Antwort empfangen Ich habe bereits Chat GPT bemüht und habe alle Pfade angepasst und die erforderlichen C-Dateien ins Projekt eingebunden, die vom ST kommen. Soweit compiliert es noch. Aber sobald ich Funktionen hinzufüge, die LWIP_NETCONN oder LWIP_SOCKET nutzen, bekomme ich Compilerfehler, die ich irgendwie nicht wegbekomme. Irgendwie drehe ich mich im Kreis. Und LWIP_NETCONN und LWIP_SOCKET muss ich immer im Quellcode neu auf 1 setzen, wenn ich mit CubeMX neue Daten generiere. Ich habe nicht herausgefunden, wo man das im Cube einstellt. Scheint es bei meinem CubeMX 6.9.1 nicht mehr zu geben und steht standardmäßig auf 0. Ich benutze CubeMx und Segger Embedded Studio. Gibt es ein Beispielprogramm von ST, wo so was in der Art realisiert wurde? Grüße Micha
Micha schrieb: > Aber sobald ich Funktionen hinzufüge, die LWIP_NETCONN oder LWIP_SOCKET > nutzen, bekomme ich Compilerfehler Oft beinhalten die Fehlermeldungen zu den Compilerfehlern einen Hinweis auf die Fehlerursache. Hast du die einmal gelesen?
Micha schrieb: > Aber sobald ich Funktionen hinzufüge, die LWIP_NETCONN oder LWIP_SOCKET > nutzen, bekomme ich Compilerfehler, die ich irgendwie nicht wegbekomme. Zeige diese Fehlermeldungen.
Der Linker findet irgendwelche Namen beim Compilieren nicht (Strukturen, Funktionen). Durch Verändern von Compileswitches kam ich der Sache nach und nach näher z.B.: #define LWIP_SOCKET 1 #define LWIP_MPU_COMPATIBLE 1 #define NO_SYS 0 Aber dann habe ich abgebrochen, denn NO_SYS = 0 bedeutet ja, dass ich ein RTOS haben muss. Und das will ich ja eben nicht haben. ich habe den Sourcecode angehängt. In der Datei test.c steht Quellcode für die Funktion, den ich über Chat GPT bekommen habe. Ist aber aktuell auskommentiert, da ich zu dem Zeitpunkt eine andere Variante aus Youtube probiert habe.
Wenn es wirklich mühelos und einfach sein soll, schau dir mal den Mongoose IP Stack an. Die Implementierung von LWIP seitens STM zusammen mit der HAL ist echt ein gefrickel. Beim F7 etwas besser als beim H7 aber kein Vergleich zum Mongoose Stack. ControllersTech auf Youtube hat eine gute Erklärung dazu gebracht, kann ich jedem empfehlen der Ethernet mit einem STM Cortex M7 umsetzen will
Micha schrieb: > Hallo, > Ich habe bereits Chat GPT bemüht und habe alle Pfade angepasst und die > erforderlichen C-Dateien ins Projekt eingebunden, die vom ST kommen. > Soweit compiliert es noch. Wie wäre es mit selbst lernen, RTFM und co.? Einen Chatbot zu fragen hilft nur wenig. Für Grundlagen gehts vlt. Aber bei falschen Antworten stehst Du auch wieder aufm Schlauch.
Micha schrieb: > ich habe den Sourcecode angehängt. Das hilft nichts, nicht jeder kann dein Projekt compilieren, eher eine grössere Minderheit. Wastl schrieb: > Zeige diese Fehlermeldungen.
Johannes schrieb: > Wenn es wirklich mühelos und einfach sein soll, schau dir mal den > Mongoose IP Stack an. Die Implementierung von LWIP seitens STM zusammen > mit der HAL ist echt ein gefrickel. Beim F7 etwas besser als beim H7 > aber kein Vergleich zum Mongoose Stack. ControllersTech auf Youtube hat > eine gute Erklärung dazu gebracht, kann ich jedem empfehlen der Ethernet > mit einem STM Cortex M7 umsetzen will Danke für den Tipp. Der "2-minute integration guide" https://mongoose.ws/documentation/#user-guide hört sich gut an, aber beim Compilieren gibt es etliche Fehler. Mann muss noch einige includes angeben, das war noch recht einfach. Man muss auch noch eine Datei "mongoose_config.h" anlegen und hoffen, dass die Einträge dann korrekt sind. Es gibt nun "nur" noch 145 Fehler... In 2 Minuten ist das definitiv nicht lauffähig. Ich denke eher 2 Stunden oder gar 2 Tage.
:
Bearbeitet durch User
Also bei mir war das in der STMCubeIDE innerhalb von ein paar Minuten am laufen. C und h file hinzugefügt, diese in dem Compilerpfad angegeben, ein paar Configs gesetzt und lauffähig war es. Gibt auch bei ControllersTech direkt Beispielprogramme dafür. Hat mir nicht so viel geholfen, da ich was anderes damit gemacht habe, aber für die Basics wars gut
OK, ich schaue mir mal https://controllerstech.com/stm32-ethernet-using-mongoose-part-1/ an. Habe nur heute keine Zeit mehr.
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.