LWIP 1.4.1, FreeRTOS, kdepak, nejde...
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Pátek Říjen 18 17:31:21 CEST 2013
Ja uz se z toho picnu, zatim to vypada, ze se neco nekde predbiha - kdyz
prelozim kod neoptimalizovany, pravdepodobnost seknuti se snizi tak 5x,
kdyz to pripojim primo k compu, tak to je taky v pohode a ted jsem dal
zpozdeni po zpracovani prichoziho paketu a to zda se chodi take dobre
(to bylo puvodne kvuli tomu abych videl, ze blika ledka...)
void ethernetif_input( void * pvParameters )
{
struct pbuf *p;
for( ;; )
{
if (xSemaphoreTake( s_xSemaphore,
emacBLOCK_TIME_WAITING_FOR_INPUT)==pdTRUE)
{
STM32F4_Discovery_LEDOn(LEDO);
p = low_level_input( s_pxNetIf );
if (ERR_OK != s_pxNetIf->input( p, s_pxNetIf))
{
pbuf_free(p);
p=NULL;
}
vTaskDelay(10);
<-----------------------------------------------------------------------
STM32F4_Discovery_LEDOff(LEDO);
}
}
}
A taky obcas pomuze odpojit a pripojit kabel - jakoby router uz pakety
po nejake dobe do zarizeni neposilal - je to mozne, kvuli nejake chybne
reakci - odpovedi na nejaky dotaz atp?
Dne 18.10.2013 6:45, Jaroslav Buchta napsal(a):
> Tak bohuzel, vypadalo to nadejne ale je to nejak velmi nahodny
> proces... Pamet haldy jsem zvetsil extremne, ale jak jsem zjistil ze
> statistik, neni vubec pouzivana, dokud nepouziju nejake hiugh level
> funkce (coz samozrejme behem testu nepouzivam)... Takze zbyva zkoumat
> obsluhu hardware, funkci ISR, DMA a hlavnesynchronizace tasku, kde to
> vyhnije.... Ostatni casti programu a tasky normalne bezi, i VCP na
> USB, takze vetsi destrukce pameti nenastava.
>
> Dne 17.10.2013 8:09, František Burian napsal(a):
>> Bude to tim MEM_SIZE, u mne se to chovalo stejne, jednou za cas se
>> neuvolnil paket (nebyl volny buffer ethernetoveho rozhrani) a strasne
>> jsem se divil ze mi po case roste pametova narocnost. Pro overeni ze
>> je to tento problem bych doporucil MEM_SIZE nastavit stejne, kolik
>> mate deskriptoru v hw ethernetu, to pak padne hned pri prvnim
>> neuvolnenem bloku.
>>
>> Tipuji ze jste jen problem oddalil ale nevyresil. Spis bych zvetsil
>> pocet deskriptoru na RX i TX kontrolovanych DMA ethernetu.
>>
>> Franta.
>>
>>
>> ---------- Původní zpráva ----------
>> Od: Jaroslav Buchta <jaroslav.buchta na hascomp.cz>
>> Datum: 17. 10. 2013
>> Předmět: Re: LWIP 1.4.1, FreeRTOS, uz snad vse jde
>>
>>
>> Tak snad konecne uspech, celou noc bezi stabilne a komunikativne
>> - provedl jsem par zmen v nastaveni options jako syntezu z
>> ruznych projektu a podle uvazeni, co by mohlo pomoci....
>> Az bude trochu casu, zkusim iteracni metodou zjistit, ktere
>> nastaveni bylo to dulezite ;-)
>> Nove (rozdilne) bylo nastaveno toto:
>>
>> #define ETHARP_TRUST_IP_MAC 1
>> #define IP_FRAG_USES_STATIC_BUF 1
>> #define LWIP_AUTOIP 1
>> #define SYS_LIGHTWEIGHT_PROT 1 // toto
>> tipuji jako klicove
>> #define MEM_SIZE (8*1024) // predtim 5*
>> #define DEFAULT_THREAD_STACKSIZE 1000 // predtim 500,
>> ale zasobniky jsem vypisoval a docela rezerva byla
>>
>> Tak snad uz OK, ted zacnu resit ty servery, mam dojem, ze nejaky
>> projekt tu kdysi probehl ale nemohu to najit.
>>
>>
>>
>>
>> Dne 16.10.2013 22:35, Martin Persich napsal(a):
>>
>> Nezaregistroval jsem, jaký hardware máte použit, ale já jsem
>> realizoval zařízení s MCU Atmel AVR32 (AT32UC3xx) a DP83848
>> (National Semiconductor). Použil jsem driver dodaný firmou
>> Atmel pro vývojový kit EVK1100 a tam byla (a troufám si
>> tvrdit, že přestože jsem firmu Atmel již dvakrát na toto
>> upozornil, že tam ještě je) chyba, která se projevuje přesně,
>> jak píšete. V okamžiku, kdy řadič vyhodnotí chybu během
>> odesílání paketu, řadič zablokuje další vysílání, ale driver
>> toto nezaregistruje a neprovede jeho reset. Samozřejmě -
>> nejčastěji toto vzniká při kolizi paketu, když je vše
>> připojeno na "obyčejný" HUB (ano, pořád si pro ladění
>> Ethernetových komunikací jeden schovávám, je to nesrovnatelně
>> pohodlnější, než nastavovat monitorování pro nějaký
>> inteligentní switch).
>> Alespoň si člověk zvedne sebevědomí, že ani tito "světoví"
>> vývojáři nejsou bez chyby, když pak zjistí, že zapomněli v
>> návrhu na dva rezistory uvedené v datasheetu ... cca dvacet
>> kusů zařízení je ok, další dvě stávkují ... Jo, člověk nesmí
>> věřit všemu, co najde na internetu ...
>> A s příkazem "ping" mám také ještě jeden nevyřešený problém.
>> Pokud pustím "ping" na dvou mých zařízeních (perioda 200 ms,
>> paket 400 Byte) proti sobě, jede to měsíc bez zaškobrtnutí,
>> 100 % úspěšnost. Pokud však do těchto zařízení ještě pustím
>> druhý "paralelní" ping z normálního PC (perioda 1 s), klesně
>> úspěšnost na cca 98 %. Asi se tam ještě něco přepisuje, ale
>> vím o tom a prozatím jsem to neměl čas řešit.
>> Martin. persich na transcon.cz <mailto:persich na transcon.cz>
>>
>> ----- Original Message -----
>> *From:* Jaroslav Buchta <mailto:jaroslav.buchta na hascomp.cz>
>> *To:* HW-news <mailto:hw-list na list.hw.cz>
>> *Sent:* Wednesday, October 16, 2013 7:37 PM
>> *Subject:* Re: LWIP 1.4.1, FreeRTOS, nejde PING
>>
>> Hmmm je to nejake divne, obcas to zdechne - nekdy to
>> vydrzi minutu, nekdy pul dne... Ted to zkousim primo
>> pripojene k compu, abych mohl sledovat veskerou
>> komunikaci a zatim to funguje,neni znamy nejaky bug,
>> ktery by treba delal problemy s nekterymi routery a tak?
>> Cely system nespadne, funkcni tasky bezeji dal, zrejme to
>> i pakety prijima ale nevysila... Ale to se blbe overuje,
>> zrovna u teto desky nemam zadnou jinou komunikaci - asi
>> budu muset zprovoznit SWO pres STLINK, ale s tim tady
>> nekdo taky hlasil problem, ze se ztraci cast dat, ze...
>>
>> Dne 15.10.2013 6:36, František Burian napsal(a):
>>
>> Stabilita muze byt uvolnovanim. Taky jsem to resil az
>> jsem prisel na to ze pokud volani lwip funkce ktera
>> ma jako parametr pbuf, a ma ho uvolnit, selze, pak
>> musim uvolnit tu pamet sam ! Zejmena jde o lowlevel
>> send a receive ... Asi tyden mi to dalo nez jsem
>> pochopil.
>>
>> Franta.
>>
>> ---------- Původní zpráva ----------
>> Od: Jaroslav Buchta <jaroslav.buchta na hascomp.cz>
>> <mailto:jaroslav.buchta na hascomp.cz>
>> Datum: 15. 10. 2013
>> Předmět: Re: LWIP 1.4.1, FreeRTOS, nejde PING
>>
>>
>> Tak vyreseno, ve stare verzi nebylo prekryti definice
>> #define CHECKSUM_GEN_ICMP
>> takze to tam misto souctu nedavalo 0 a HW to
>> spatne zda se spocital....
>> No ale pekne jsem si osvezil sitove protokoly za
>> ty 2 noci :-P
>> Tak jeste ta stabilita, to bude asi nejaky
>> zasobnik nejakeho tasku zase...
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> <http://www.HW.cz>
>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored bywww.HW.cz <http://www.HW.cz>
>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> ------------------------------------------------------------------------
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> <http://www.HW.cz>
>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored bywww.HW.cz <http://www.HW.cz>
>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20131018/216117d8/attachment.htm>
Další informace o konferenci Hw-list