Softwarove rizeni toku
Napsal: 19 zář 2009, 00:40
Mam nasledujici problem, resp. muj pritel. Do vseho co delam, davam rizeni toku. Kdyz je to na ARM, tak hardware, kdyz PIC,ATMEL,51,Freescale atd, tak software a zde je jadro pudla. Zatim mi to pokazde fungovalo ok, ale ted jsem se setkal s tim, ze kdyz dojde k naplneni bufferu odeslu xoff a nasledne xon, dojde k vynechani prvniho znaku v okamziku ukonceni. Nekdo by rekl ze jsem vul a posilam xoff az na konci. Ne nejsem. Mam jeste 20bytes rezervu, aby do me mohl pitomy PC vyprasit svuj buffer, protoze na PC se to dela opravdu softwarove a jak je buffer toho UARTu plny, tak xoff osetri az SW a stejne do me ten buffer vypraska. Nutno rict ze zatim to bylo pokazde OK, ale on ma chipset NVIDIA a tam se tohle deje. Vypnuti bufferu ve widlich funguje, nic mene neblahou vlastnosti widli je ze po xon si daji nacas, nez zacnou sypat data. Resp. nez se ta zprava dostane k ridici aplikaci ta posle data. Takze docela brzdeni provozu.
Moje otazka zni. Lze to resit nejak inteligentne? Kde je jadro toho pudla? Ma NVIDIA vetsi buffer jak tech 14 znaku na send strane. RECV vynechte, protoze jednotka lokalne zkaky neopisuje a pouze semtam ze sebe blafne data na request. A toto se deje pri kontinualnim prcani dat. Je na to nejaky patche na driver? Nebo kolik je tedy optimalni rezerva pro xoff? Jsem si jist ze chyba neni v jednotce. Jinde to funguje a pokud vypnu v ovladaci toho seriaku buffer funguje to ok.
Prosim poradte
Moje otazka zni. Lze to resit nejak inteligentne? Kde je jadro toho pudla? Ma NVIDIA vetsi buffer jak tech 14 znaku na send strane. RECV vynechte, protoze jednotka lokalne zkaky neopisuje a pouze semtam ze sebe blafne data na request. A toto se deje pri kontinualnim prcani dat. Je na to nejaky patche na driver? Nebo kolik je tedy optimalni rezerva pro xoff? Jsem si jist ze chyba neni v jednotce. Jinde to funguje a pokud vypnu v ovladaci toho seriaku buffer funguje to ok.
Prosim poradte