Hallo, ich hab in meiner Schaltung eine Ethernet-Schnittstelle integriert. der MAC-Layer befindet sich direkt im µC (über DMA können sozusagen die Daten sofort an den Speicher transferiert werden, ohne das die CPU was merkt) Jedoch bin ich mir nicht ganz sicher, was sinnvoller ist: die Daten die über die Ethernet-Schnittstelle kommen zuerst in den externen Speicher zu laden und dann mit TCP/IP Stack die notwendigen daten rauslesen, oder lieber gleich die Daten die ankommen mit dem TCP IP Stack auslesen und nur die wichtigen Daten im externen RAM speichern (ohne Header)...? Welche Möglichkeit macht mehr Sinn, ist schneller etc.? Udo
Dein Anwendungsprogramm sollte über dem TCP/IP-Stack liegen, und nur den Payload bekommen. Alles andere wäre doof. Da machst du dir die Vorteile vom TCP Protokoll kaputt. Der Stack kümmert sich doch um die Segmentierung usw. Warum also da eingreifen? Lass das ruhig den Stack machen. Du holst dir nur über eine receive Funktion die Daten und gut ist.
d.h. Ethernet-Daten kommen an --> Payload wird herausgefischt --> Daten in externen SRAM --> wenn Zeit ist, Daten weiter verarbeiten etc. Udo
Nein. Ich glaube der Poster vor dir hat deine Frage nicht verstanden. Du musst schon das komplette Ethernetframe im Speicher ablegen, dann dem TCP/IP Stack zuführen. Der Stack wird dir dann vermutlich einen Pointer auf die Payload-Daten geben.
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.