MicroBlaze Ethernet Kommunikation Polling

Gast #1162184
Hi,

habe ein Problem bei meiner Ethernetkommunikation mit 2 Spartan-3A 
Boards von Xilinx. Habe den EthernetLite Core verwendert und als 
Prozessor den MicroBlaze Softcore.

Mein Problem ist angelehnt an das xemaclite_polling example, welches von 
Xilinx (EDK) mitgeliefert wurde (siehe Anhang).

Ich versuche einen einzelnen Frame zu verschicken (46 entspricht dem 
Payload):
do
{
Status = XEmacLite_Send(EmacLiteInstancePtr, (u8 *)TxFrame, 46 + 
XEL_HEADER_SIZE) ;
} while (Status != XST_SUCCESS);

Das 2. Board pollt auf ankommende Daten:
while (RecvFrameLength == 0)  {
RecvFrameLength = XEmacLite_Recv(EmacLiteInstancePtr, (u8 *)RxFrame);
}

Habe beide Boards über einen funktionierenden Switch verbunden.

Ich starte zuerst das 2. Board (Empfänger) dann den Sender, damit das 
Senden nicht im Nirvana verschwindet.

Komischerweise erkennt der Empfänger keine Daten, hängt also in der 
while-Schleife fest.

Habe zum Testen um das do-while des Senders eine Endlosschleife gemacht, 
dann werden Daten vom Empfänger erkannt.

Kann es sein das es daran liegt, dass sowohl Send wie auch Recv 
non_blocking sind? Wie kann ich das Problem lösen?

Gruss Robbi
Gast
Hallo,

das Problem ist gelöst.
Falls nochmal jemand dieses Problem hat:
Bei mir es lag es daran, dass der Switch noch nicht bereit war, das 
Board aber schon gesendet hat.

Klingt im Nachhinein ziemlich einfach und dumm, hat mich aber 3 Tage 
gekostet.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.