Hallo, ich beschäftige mich zurzeit mit dem Mikrocontroller STM32f407VG. Bei STM http://www.st.com/web/en/catalog/tools/PF257906# lässt sich das Beispielprojekt "LwIP TCP/IP stack demonstration for STM32F4x7 microcontrollers" downloaden. In dem Ordner befindet sich ein Projekt für ein tcp_echo_server. Dieses lässt sich auch fehlerfrei erzeugen und auf den Chip Flashen. Jedoch tauchte das Problem auf, dass ich zwar Daten per Crossover Kabel an den STM schicken konnte, dieser aber nicht darauf reagierte. Der Fehler liegt wahrscheinlich bei ETH_SoftwareReset(); Zeile:95(stm32f4x7_eth_bsp.c) Damit das Programm weiter ausgeführt wird, wird ein Reset erwartet /* Wait for software reset */ while (ETH_GetSoftwareResetStatus() == SET); Zeile:97(stm32f4x7_eth_bsp.c) in der stm32f4x7_eth.c: void ETH_SoftwareReset(void) { /* Set the SWR bit: resets all MAC subsystem internal registers and logic */ /* After reset all the registers holds their respective reset values */ ETH->DMABMR |= ETH_DMABMR_SR; } /** * @brief Checks whether the ETHERNET software reset bit is set or not. * @param None * @retval The new state of DMA Bus Mode register SR bit (SET or RESET). */ FlagStatus ETH_GetSoftwareResetStatus(void) { FlagStatus bitstatus = RESET; if((ETH->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET) { bitstatus = SET; } else { bitstatus = RESET; } return bitstatus; } Da kein reset stattfindet, hängt sich das Programm hier aus. Würde mich freuen wenn jemand eine Lösung hätte, wie ich das Projekt an meinen STM32f407VG Anpassen könnte MFG Jonas
Hallo Jonas, hast du denn bereits eine Antwort auf dein Problem ? Stehe nun wohl mit dem STM3210C-Board vor einem ähnlichen Problem. Die RX- und TX-Clocks am PHY habe ich bereits überprüft. Bei beiden liegt ein Frequenz von 25Mhz an (MII). Grüße Mathias
HF Pfuscher schrieb: > Maze Z. schrieb: >> Hallo Jonas, > > Kaum vier Jahre später? Das spielt für mich keine Rolle, ob 4 Jahre vergangen sind oder nicht. Die Lösungsfindung steht im Vordergrund.
Hallo, was sendest du denn für Daten, das hat auch der ursprüngliche TO nicht geschrieben!? Unter einem TCP Echo Server verstehe ich einen Server mit dem man zuerst mal eine TCP-Verbindung aufbauen muss (Port ? Sollte im Programm irgendwo festgelegt sein). Dann wenn die Verbindung seht werden alle eingehenden Daten wieder zurückgesendet. Mit irgendwas an die IP des Servers senden wird man da keine Antwort erhalten. Sascha
Mathias _. schrieb: > Das spielt für mich keine Rolle, ob 4 Jahre vergangen sind oder nicht. Nur dass sich die Welt seitdem massiv verändert hat, inklusive die Welt des TO der sich möglicherweise jetzt in ganz anderen Sphären bewegt ....
Hier ist es üblich, dass man für neue Fragen einen neuen Beitrag öffnet und sich nicht an einen alten Beitrag dranhängt der nur "ähnlich" ist.
Bisher möchte ich die Verbindung nur per einfachen "Ping" Befehl aus der CMD-line testen. Inzwischen bekomme ich auch ein Echo zurück. Der Fehler lag an einem Bug der von mir verwendeten STM32CubeMx Software. Der Bug führte dazu, dass die Phy-Adresse nicht korrekt konfiguriert war. Mit der aktuellen Version 4.21.0 der CubeMx Software ist der Bug gefixt. @Brummbär das nächste mal öffne ich einen neuen Beitrag ;-)
Mathias _. schrieb: > Der Bug > führte dazu, dass die Phy-Adresse nicht korrekt konfiguriert war. Schon klar. Ist eine neue Kreation wa? Seit wann hat ein PHY eine Adresse? Wenn ich einen beliebigen PHY betrachte sehe ich keine Möglichkeit eine Adresse einzustellen. Gibt es da ein geheimes Protokoll?
Stichwort: SMII Stichwort2: Datasheet (z.b. KSZ8081 - Pin 13-15 PHYADR0-2 )
Ahnungsloser schrieb: > Mathias _. schrieb: >> Der Bug >> führte dazu, dass die Phy-Adresse nicht korrekt konfiguriert war. > > Schon klar. > > Ist eine neue Kreation wa? > Seit wann hat ein PHY eine Adresse? > > Wenn ich einen beliebigen PHY betrachte sehe ich keine > Möglichkeit eine Adresse einzustellen. Gibt es da ein > geheimes Protokoll? http://www.ti.com/lit/ds/symlink/dp83848-ep.pdf (Seite 40) Die Adressierung ist abhängig von der externen Beschaltung.
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.