Co prawda nie uruchamiałem LwIP na STM'ach ale rozbierałem na części pierwsze przykład dostarczony ze środowiskiem, do innego, nieco mocniejszego ARMa więc wtrącę swoje 3 grosze
@masterix, przede wszystkim poczytaj o podstawach sieci: budowie ramki Ethernet i kilku konkretnych protokołach: ARP, ICMP, TCP, UDP. Chociażby na wikipedii bo odnoszę wrażenie, że coś robisz ale nie do końca wiesz po co
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
Książka z polskim opisem LwIP to też dobry pomysł bo sporo wyjaśnia jeśli chodzi o zasadę działania LwIP ale tego już chyba sam doświadczyłeś.
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
Kolejna sprawa to narzędzie do podglądania pakietów latających w sieci; np. Wireshark - niezbędne jeśli chcesz robić jakąś poważniejszą komunikację.
Masz działającego pinga - podejrzyj co się dzieje na sieci, co wysyła pecet, co odsyła stm, czym to się różni, sprawdź z uzyskanymi teoretycznymi informacjami, itp.
masterix napisał(a):
Mam funkcje odbierania z Echoservera. Zastanawiam się jak mogę zrobić by zamiast odsyłać to co dostał, zapisywać to w jakimś buforze.
O ile ta wersja LWIP jest przeportowana pod STMy tak jak myślę, tzn. z wykorzystaniem DMA, deskryptorów i buforów przypisanych do deskryptorów, to w momencie kiedy gdzieś widzisz, że otrzymałeś dane (wyświetlasz je, program wszedł w jakąś pętlę / pułapkę, itp.) - masz już je zapisane w jakimś buforze.
Kwestia dobrania się do tego bufora za pomocą wskaźnika ale tu uwaga: LwIP ma zaimplementowaną funkcję dynamicznej alokacji pamięci na bufory ramek. Oznacza to, że nadlatujące ramki nie będą trafiać do jednego i tego samego bufora bo z każdą kolejną ramką, w jakimś miejscu określonego obszaru pamięci, będzie tworzony nowy bufor o nowym adresie.