STM a LWIP sekani

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Březen 2 12:34:42 CET 2020


Zkousim predpokladat, ze CubeMX neni nejaky hobby projekt, ale ze na nem 
pracuje tym odborniku a i kdyz se chybam neda na 100% vyhnout, budou 
casem vychytany ;-)
Co se tyce kopirovani bufferu, tak se mu snazim vyhnout jak je to mozne 
- preci jen vykonu ani pameti neni nadbytek. S tim flagem COPY je to 
snad tak, ze na procesorech s jednou domenou RAM a bez datove cache 
(napr. M4) je DMA jedno, kde data pro vysilani lezi a nemusi se 
kopirovat, jen se na ne nastavi ukazatel v DMA deskriptoru - nebo si to 
spatne pamatuju? Uz dele pouzivam jen M7, za podobne penize hodne vic 
muziky nez M4.
No nejak se do toho vic zanorim, predpokladal jsem, ze problemy nebudou 
uz v zakladnim kodu...
Jine periferie ale jsou obslouzeny slusne, nepamatuju na nejaky zasadni 
problem, ze bych musel sahat do STM kodu. Az na RTC, ktere se vynucene 
inicializovalo vzdy a ujizdel cas.

Dne 02.03.2020 v 12:13 Jan Waclawek napsal(a):
>> - Pri odesilani je potreba pouzivat flag COPY, pokud se neresi umisteni
>> dat v prislusne casti pameti
> Toto je ale zakladna vlastnost lwip (t.j. nic CM7-specificke), ci nie?
>
>> - Tx buffery jsou v privatni HEAP RAM LWIP a pouzivaji se primo jako
>> zdroj pro DMA prenos - musi byt v D2 oblasti a musi byt vypnuta cache
>> pro zapis. Alespon ve verzi, kterou pouzivam.
>> - Rx buffery maji osetrenu invalidaci cache programove, chtelo by to
>> vyhodit a osetrit skrz MMU, musi to znatelne zatezovat procesor (pro
>> kazdych 32B dat se vola funkce SCB_InvalidateDCache_by_Addr po naplneni
>> a jeste pri uvolneni) ale zase neni potreba resit cache, musi byt ale
>> take v D2
> Je otazne, ci sa potom neoplati mat radsej lwip buffery (pbuf pool) radsej
> v "normalnej" cachovanej pamati a separatne DMA buffery tak ako je to pre
> ne potrebne, a kopirovat ich.
> (Myslim si, ze v tomto bode je uz jasne, ze to co "pohodlne" vypluje CubeMX
> je irelevantne, resp. je to len surovina s ktorou aj tak treba pracovat so
> znalostou veci.)
>
>> - Bacha ne rezim device v MMU pokud by se vypinala cache pro RX buffery,
>> nesnasi nezarovnany pristup, ktery LWIP do paketu pouziva.
>
> Hej, toto je jedna z chutoviek CM7 najma pre tych co su zvyknuti na CM4;
> ale na druhej strane snad pre tie DMA buffery netreba Device oblast, snad
> staci Normal (a pouzit barieru pred spustenim DMA), ci sa mylim?
>
> Ako vravim, CM7 nepouzivam, a toto je jeden z dovodov. Narazam na dostatok
> "zaujimavych" problemov v CM4 a samotnych periferiach.
>
> wek
>
>
>> Dne 02.03.2020 v 5:46 Jaroslav Buchta napsal(a):
>>> Diky za info, prelouskam to a zkusim implementovat, zda se, ze se
>>> prvni verze programatorum nejak nepovedla... Asi ten musj problem
>>> bude prepisovanim Rx bufferu, hned se mi nezdalo, ze zustavaji v DMA
>>> oblasti. Ale je tam zda se spousta dalsich (mozna vetsinou jen vylepseni)
>>>
>>> Dne 01.03.2020 v 22:14 Jan Waclawek napsal(a):
>>>> https://community.st.com/s/question/0D50X0000C6eNNSSQ2/bug-fixes-stm32h7-ethernet
>>>>
>>>> ?
>>>>
>>>> H7 ma nezaujima a uz vobec nie cube, len som toto zaregistroval.
>>>>
>>>> wek
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list