Forum: Mikrocontroller und Digitale Elektronik Stabilität von Lwip und stm32


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bu B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi
weiss jnd wie stabil Lwip ist? Ich habe eine sehr einfache IPV4 UDP 
basierte Anwendung auf ein selbstgebautes STM32F4 board. Genaugenommen 
habe ich 60 boards. Im schnitt hängt eins der der 60 boards alle 12 
Stunden. Da die Boards wo eingbaut sind, komme ich nicht an den jtag 
adapter -> kein debug posiibilty.
Wenn hängt laesst sich das board noch nicht mal pingen. Ein watchdog ist 
keine option.
Erwarte ich zu viel von LWIP? Oder habe ich ein dummes fehler? UDP 
packet länge ist 512 byte. und davon 40 mal die Sekunde.
Danke

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
LWIP läuft auf dem ESP8266 mit dem SDK 1.5.4 absolut stabil.

Wenn es bei Dir nicht läuft, wird es wohl eher daran liegen, wie es 
konkret eingebaut wurde oder was drumhum noch läuft.

von Anal Ysator (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Stefan U. schrieb:
> wird es wohl eher daran liegen, wie es
> konkret eingebaut wurde

Nein. Es wird wohl dann an der Entwicklung selbst liegen,
nicht daran wie es eingebaut wird.

Bu B. schrieb:
> auf ein selbstgebautes STM32F4 board.

Der Rest bleibt Rätselraten.

An der eigenen Kreation kann es ja nie liegen.
Nur immer an den anderen ....

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Ich merke gerade, daß ich ein lustiges neues Wort erfunden habe: drumhum

von Anal Ysator (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> LWIP läuft auf dem ESP8266 mit dem SDK 1.5.4 absolut stabil.

Welche Version? Es kursiert ja eine 1.4x und eine 2.0x ....

Dieselbe Frage an den TO.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
>> LWIP läuft auf dem ESP8266 mit dem SDK 1.5.4 absolut stabil.
> Welche Version? Es kursiert ja eine 1.4x und eine 2.0x ....

Das weiß ich nicht. Wenn es Dich interessiert, dann lade Dir das SDK 
runter und schau selber nach. Ab behalte im Kopf, daß dieses SDK nicht 
für STM32 geeignet ist.

von Bu B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ich lwip v20

von Anal Ysator (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bu B. schrieb:
> ich lwip v20

... und an deiner Schaltung kann's ja nicht gelegen haben.

Gell?

Nur mal so zum Eingewöhnen:

Beitrag ""Kettenreaktion" von Relais zu Atmega644 löst Reset aus"

von Anal Ysator (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Wenn es Dich interessiert, dann lade Dir das SDK
> runter und schau selber nach.

Nö. Ich brauch kein SDK. Und will auch gar nicht drin
herumwühlen.

Wenn man solche Infos in den Raum stellt sollte man doch
wissen wovon man redet ....

von Frank K. (fchk)


Bewertung
0 lesenswert
nicht lesenswert
Bu B. schrieb:
> Hi
> weiss jnd wie stabil Lwip ist? Ich habe eine sehr einfache IPV4 UDP
> basierte Anwendung auf ein selbstgebautes STM32F4 board. Genaugenommen
> habe ich 60 boards. Im schnitt hängt eins der der 60 boards alle 12
> Stunden. Da die Boards wo eingbaut sind, komme ich nicht an den jtag
> adapter -> kein debug posiibilty.
> Wenn hängt laesst sich das board noch nicht mal pingen. Ein watchdog ist
> keine option.
> Erwarte ich zu viel von LWIP? Oder habe ich ein dummes fehler? UDP
> packet länge ist 512 byte. und davon 40 mal die Sekunde.

Ist das Hardwaredesign garantiert ok? (von Fachleuten durchgecheckt?)

Funktioniert der Ethernet-Treiber einwandfrei? Hast Du das selber im 
Dauertest überprüft?

Wird während des Betriebs Speicher angefordert, der nicht wieder 
freigegeben wird? Fragmentiert der Speicher?

Sind alle Routinen, die in einem Interrupt aufgerufen werden, auch 
garantiert interrupt-fest? Werden kritische Objekte durch Semaphoren 
oder Mutexe geschützt?

Bei so etwas kann man viel falsch machen.

Zudem sind IP, ICMP und UDP so primitiv, dass Du dafür eigentlich kein 
lwip brauchst, sondern das nach kurzer Lektüre der Standards selber 
machen können solltest. Das wäre auch ein Test.

fchk

von Dieter Graef (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bei mbed gibt es einen Fix für den STM32 emac Treiber für den Fehler:
STM32 - fix bug were sockets stop receiving data

https://github.com/ARMmbed/mbed-os/commit/9620b0fc7fcb63d792e5b68e8c55e3c31b273811

m.f.G.
Dieter Gräf

von Michi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
http://mikrocontroller.bplaced.net/wordpress/?page_id=1756

Läuft bei mir seit 2 Jahren mit dem STM32F4 Discovery und dem DP83848 
von waveshare durch. Noch hat der Ping-Monitor kein einziges mal 
gemeckert, dass er nicht im 1 Sekundentakt eine Antwort bekommen hätte.

von Anal Ysator (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Michi schrieb:
> und dem DP83848 von waveshare

Nein. Der DP83848 ist von National Semiconductor.
Soviel Wahrheit muss sein.

Michi schrieb:
> Läuft bei mir seit 2 Jahren

Um eine Bestätigung der "Fehlerfreiheit" zu bringen müsstest
du zumindest in die Nähe dieser Performance gelangen:

Bu B. schrieb:
> UDP packet länge ist 512 byte. und davon 40 mal die Sekunde.

Gilt auch für

Stefan U. schrieb:
> LWIP läuft auf dem ESP8266 mit dem SDK 1.5.4 absolut stabil.

Ich bezweifle mal dass Stefan 40 mal in der Sekunde 512 Bytes
USP Pakete über den ESP8266 jagt.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Ich bezweifle mal dass Stefan 40 mal in der Sekunde 512 Bytes
> USP Pakete über den ESP8266 jagt.

Habe ich auch nicht. Der Datendurchsatz sollte keine Rolle spielen. Wenn 
doch (und das will ich hier nicht abstreiten) dann ist die Software oder 
Hardware antürlich fehlerhaft.

> Wenn man solche Infos in den Raum stellt sollte man doch
> wissen wovon man redet ....

Für den STM32 und konkret diese Anwendung kann ich keine direkte Hilfe 
bieten. Allgmein traue ich dem LWIP aufgrund positiver Erfahrung jedoch 
sehr gute Stabilität zu, was mich zu dem Rat bringt, den Fehler erstmal 
woanders zu suchen.

: Bearbeitet durch User
von erwtzutrsd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
dazu wäre die konfig der lwipopts.h nötig
ebenso wichtig wäre die frage RTOS? oder polling ?

wichtig sind anzahl der buffer ...
gerade ei 40x pro sek kommen da einige daten zusammen



Ich betreie den STM mit RTOS und lwip
alles parallel :
RTP stream in/out  Audio stream
RTP stream in  Video stream MJPEG
Websocket Secure verindung mit max 8kb Block
HTTP server
usw ...

es geht ..
muss nur konfiguriert werden

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
lwIP ist auch in vielen kommerziellen Produkten drin. Z.B. in GigE 
Kameras von Basler und da läuft das sauber im 24*7 Betrieb.
Kritischer ist der Teil wie das Senden/Empfangen der Pakete an die 
Hardware angebunden ist, da unterscheiden sich die Implementierungen ja.
Und ich kenne eine Bude die fast Jahr nach einem Fehler in UDP 
Datenverkehr mit STM32F4 gesucht hat. Das Senden hörte zuverlässig nach 
einigen Wochen oder Monaten auf. Ursache waren Zähler im STM die bei 
Überlauf einen Interrupt generieren. Nach 2^31 gesendeten Paketen wollte 
die HW nix mehr senden.

von manuel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich würde, wenn es um so kleine HW-Stückzahlen geht, immer dazu 
tendieren etwas fertiges für den Netzwerk-Verkehr zu nehmen. Das läuft 
einfach im Regelfall stabiler.

z.B. gibt es inzwischen viele kleine Linux-Boards mit OpenWRT drauf. Da 
läuft Netzwerk dann out-of-the box und kann seine Applikation im 
Linux-UserSpace laufen lassen. Kommunikation nach außen dann z.B. über 
USB oder so

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.