-
31. Data: 2021-01-13 09:58:08
Temat: Re: Kilka pyta? o STM32F407VGT6
Od: Atlantis <m...@w...pl>
On 13.01.2021 01:03, a...@m...uni.wroc.pl wrote:
> Na MCU jest problem zeby soft zdarzyl zareagowac zanim bufory
> w interfejsie sie przepelnia. W komputerze ogolengo
> przeznacznie dostatecznie szybki procek i 50k na bufory
> powinno byc OK, ale sprzetowe bufory w STM sa znacznie
> mniejsze, wiec procek musi odpowiednio szybciej reagowac.
> Albo ograniczasz sie do malo wymagajacych zastosowan...
Co prawda na w tej konkretnej wersji płytki zastosowałem jeszcze
PIC32MX795F512L, ale to nie ma wielkiego znaczenia, bo te procki mają
zasoby i wydajność zbliżone do popularnych STM-ów. Płytkę z STM32F107
też niedługo wykonam.
W każdym razie wygląd na to, że faktycznie problemem było przepełnianie
się buforów pomiędzy kolejnymi wywołaniami funkcji odpowiedzialnej
pobieranie pakietów i obsługę stosu. Zakomentowałem fragment
odpowiedzialny za obsługę VS1003 i sytuacja się znacznie poprawiła. Czas
odpowiedzi na ping to teraz nieco ponad 0.1 ms, a na 40 tysięcy
wysłanych pakietów nie zgubił się ani jeden.
Będę musiał przepisać trochę kodu, żeby jego obsługa nie zajmowała tylko
czasu w pojedynczym przebiegu pętli.
BTW ktoś z was eksperymentował może z DP83848 na STM32 z bibliotekami
HAL? Próbuję to sobie wyklikać w STM32CubeMX, ale nigdzie nie widzę
opcji wyboru konkretnego PHY. Można włączyć RMII, można dodać do
projektu bibliotekę lwIP, ale nigdzie nie widzę możliwości zaznaczenia
konkretnego PHY. PIC32 wymagał dodania do projektu odpowiednich plików
.h oraz .c zakładam więc, że tutaj też będą potrzebne. Trzeba je wkleić
ręcznie, czy też wyboru odpowiedniego układu dokonuje się jakąś
makrodefinicją w kodzie?
-
32. Data: 2021-01-13 10:10:04
Temat: Re: Kilka pyta? o STM32F407VGT6
Od: "Grzegorz Niemirowski" <g...@g...net>
Atlantis <m...@w...pl> napisał(a):
> BTW ktoś z was eksperymentował może z DP83848 na STM32 z bibliotekami HAL?
> Próbuję to sobie wyklikać w STM32CubeMX, ale nigdzie nie widzę opcji
> wyboru konkretnego PHY. Można włączyć RMII, można dodać do projektu
> bibliotekę lwIP, ale nigdzie nie widzę możliwości zaznaczenia konkretnego
> PHY. PIC32 wymagał dodania do projektu odpowiednich plików .h oraz .c
> zakładam więc, że tutaj też będą potrzebne. Trzeba je wkleić ręcznie, czy
> też wyboru odpowiedniego układu dokonuje się jakąś makrodefinicją w
> kodzie?
Mam projekty na DM9161. Nie trzeba było dodawać żadnych plików. Podejrzewam,
że rejestry PHY (zdefiniowane w stm32f1xx_hal_conf.h) są w miarę
ustandaryzowane. Ja potrzebowałem jedynie dodać definicję rejestru MDINTR,
którego nie było w pliku od ST.
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
33. Data: 2021-01-13 14:13:55
Temat: Re: Kilka pyta? o STM32F407VGT6
Od: a...@m...uni.wroc.pl
Mateusz Viste <m...@x...invalid> wrote:
> 2021-01-13 o 00:03 +0000, a...@m...uni.wroc.pl napisa?:
> > Tak a propo: jak w sieci na koncentryku mialem straty rzedu
> > 1 na kilka tysiecy, to TCP chodzilo bez problemu. Ale,
> > np. nie dalo sie zbootowac komputera przez siec, bo nie
> > bylo retransmisji a jeden zgubiony pakiet blokowal tranfer
> > jadra i start.
>
> Czy aby na pewno to by?o przyczyn?? TFTP posiada mechanizm
> zatwierdzania i powinien wykona? retransmisj?. No chyba, ?e
> implementacja by?a skopana - ale w takim razie to nie protok?? (ani
> sie?) by?a problemem.
To bylo w 1993 roku, wtedy to dosc dokladnie badalem i raczej
nie zrobilem grubego bledu. Z tego co pamietam nie bylo
retransmisji na poziomie pakietow. Chyba byla retransmisja
calego pliku, ale to nic nie dawalo bo kolejny transfer
padal tak jak poprzedni. Wtedy zagladalem do dokumentow
i OIDP to moje obserwacje zgadzaly sie opisem TFTP.
ZTW to byla w miare stanartowa implementacja, innym
dzialala OK. W sieci byly (ogolnie o starcie przez siec)
komentarze "jak nie dziala to sprawdz czy siec nie gubi
pakietow".
Pozniej w lepszej sieci glupszy protokol (testowy transfer,
nie do normalnego uzycia) dzialal OK.
--
Waldek Hebisch
-
34. Data: 2021-01-13 14:37:18
Temat: Re: Kilka pyta? o STM32F407VGT6
Od: "Grzegorz Niemirowski" <g...@g...net>
a...@m...uni.wroc.pl <a...@m...uni.wroc.pl> napisał(a):
>> Czy aby na pewno to by?o przyczyn?? TFTP posiada mechanizm
>> zatwierdzania i powinien wykona? retransmisj?. No chyba, ?e
>> implementacja by?a skopana - ale w takim razie to nie protok?? (ani
>> sie?) by?a problemem.
Mógłbyś już ogarnąć to kodowanie...
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
35. Data: 2021-01-13 16:46:41
Temat: Re: Kilka pytań o STM32F407VGT6
Od: Mateusz Viste <m...@x...invalid>
2021-01-13 o 13:13 +0000, a...@m...uni.wroc.pl napisał:
> Mateusz Viste <m...@x...invalid> wrote:
> > Czy aby na pewno to by?o przyczyn?? TFTP posiada mechanizm
> > zatwierdzania i powinien wykona? retransmisj?. No chyba, ?e
> > implementacja by?a skopana - ale w takim razie to nie protok?? (ani
> > sie?) by?a problemem.
>
> To bylo w 1993 roku, wtedy to dosc dokladnie badalem i raczej
> nie zrobilem grubego bledu. Z tego co pamietam nie bylo
> retransmisji na poziomie pakietow.
Nawet najstarsza wersja TFTP (ta sprzed poprawek z 1992) przewidywała
mechanizm retransmisji zgubionych pakietów:
"If a packet gets lost in the network, the intended recipient
will timeout and may retransmit his last packet (which may be data or
an acknowledgment), thus causing the sender of the lost packet
to retransmit that lost packet."
źródło: https://tools.ietf.org/html/rfc783
Przy czym oczywiście implementacje niewątpliwie mogły być różne.
> ZTW to byla w miare stanartowa implementacja, innym
> dzialala OK.
Mi też działało OK, a testowałem m.in. na łączu na którym sam
symulowałem losowe straty pakietów. Przy kilku procentach strat
załadowanie kernela potrafiło trwać dobre kilka minut, za sprawą nieco
długich domyślnych timeoutów (rzędu sekundy albo może dwóch). Ale
działało - stąd moje zastanowienie.
Mateusz
-
36. Data: 2021-01-17 17:41:48
Temat: Re: Kilka pyta? o STM32F407VGT6
Od: Atlantis <m...@w...pl>
On 13.01.2021 10:10, Grzegorz Niemirowski wrote:
> Mam projekty na DM9161. Nie trzeba było dodawać żadnych plików.
> Podejrzewam, że rejestry PHY (zdefiniowane w stm32f1xx_hal_conf.h) są w
> miarę ustandaryzowane. Ja potrzebowałem jedynie dodać definicję rejestru
> MDINTR, którego nie było w pliku od ST.
Swoją drogą, lwIP dołączany przez biblioteki HAL posiada gotowe
rozwiązania do obsługi poszczególnych usług (serwer HTTP, telnet) czy
trzeba to sobie samodzielnie napisać albo ewentualnie zintegrować z
projektem jakąś zewnętrzną bibliotekę?
-
37. Data: 2021-01-17 19:03:44
Temat: Re: Kilka pytań o STM32F407VGT6
Od: "Grzegorz Niemirowski" <g...@g...net>
Atlantis <m...@w...pl> napisał(a):
> Swoją drogą, lwIP dołączany przez biblioteki HAL posiada gotowe
> rozwiązania do obsługi poszczególnych usług (serwer HTTP, telnet) czy
> trzeba to sobie samodzielnie napisać albo ewentualnie zintegrować z
> projektem jakąś zewnętrzną bibliotekę?
Kilka posiada, możesz sobie zajrzeć do źródeł. Telnetu nie ma bo nie ma
shella.
Directory:
C:\Users\Grzegorz\STM32Cube\Repository\STM32Cube_FW_
F4_V1.25.2Middlewares\Third_Party\LwIP\src\apps
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 19.12.2020 11:16 altcp_tls
d----- 19.12.2020 11:16 http
d----- 19.12.2020 11:16 lwiperf
d----- 19.12.2020 11:16 mdns
d----- 19.12.2020 11:16 mqtt
d----- 19.12.2020 11:16 netbiosns
d----- 19.12.2020 11:16 smtp
d----- 19.12.2020 11:16 snmp
d----- 19.12.2020 11:16 sntp
d----- 19.12.2020 11:16 tftp
--
Grzegorz Niemirowski
https://www.grzegorz.net/