abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 8
    včera 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 10
    včera 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 6
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2418 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: Nastavenie FIFO pri seriovom porte

    8.4.2004 17:39 Gabo
    Nastavenie FIFO pri seriovom porte
    Přečteno: 266×
    Prosim Vas, ako sa da nastavit vstupny bufer na seriovom porte s radicom 16550A na inu hodnotu ? Potrebujem aby sa prerusenie generovalo skor ako sa zaplni. Napriklad uz pri 8 bajtoch. Setserial to neumoznuje. Dakujem Gabo.

    Odpovědi

    9.4.2004 18:40 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Uplne 'tvrde' riesenie: pozeral som sa do zdrojakov jadra a vidim tam pouzitu strukturu serial_uart_config (definovanu v linux/serial.h), ktora ma clen dfl_xmit_fifo_size. Tato struktura je naplnena v drivers/char/serial.c a pre 16550A je fifo nastavene na 16. Vyzera to, ze by to slo prepisat na 8 a hotovo. To je, ale fakt nestandardne riesenie.

    Potom, ale vidim ze linux/generic_serial.h definuje funkcie gs_getserial() a gs_setserial(), ktorym sa posiela pointer na serial_struct co je struktura definovana v linux/serial.h a tiez obsahuje clen xmit_fifo_size. Snad najak pomocou toho.

    10.4.2004 15:11 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Ok. Ten prvy odstavec plati. Namiesto toho druheho mam toto:
      #include <linux/serial.h>
      #include <sys/ioctl.h>
      ...
      struct serial_struct sp;
    
      fd=open("/dev/ttyS1",O_RDWR);
      ioctl(fd,TIOCGSERIAL,&sp);
      sp.xmit_fifo_size=8
      ioctl(fd,TIOCSSERIAL,&sp);
    
    Hm?
    10.4.2004 18:49 Gabo
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Super, dakujem, za pomoc. Hned to vyskusam.
    14.4.2004 11:18 Gabo
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Trochu som s tym polaboroval, ale ziadny vysledok. xmit bufer je vysielaci, co neriesi problem. Skusam nastavit rx_trigger priamym pristupom na port. Uvidim co to spravi. Ako inak riesit tento problem ? Dokumentovany je ako serial overrun .
    14.4.2004 12:49 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Domnieval som sa, ze serial overrun moze nastat len na velmi pomalych strojoch neschopnych spracovavat prichadzajuce data dostatocne rychlo. Navyse mam pocit, ze takuto situaciu ma riesit flow control. Mozno sa viac docitas v Serial Howto

    Aj tak celkom nerozumiem poziadavke. Na co je dobry mensi buffer? Data z portu mozes precitat aj bez zaplnenia buffra. Mimochodom, ako by si ten problem riesil, keby to nebol Linux ale nieco ine?

    14.4.2004 14:04 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Ja vam neporadim, jak nastavit mensi Rx FiFo, ale mam za to, ze preruseni se generuje pri prijmu bytu, ne az pri zaplneni FiFo. Nebude ten zakopany pes nekde jinde?

    Dejv.
    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    14.4.2004 14:50 Gabo
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Mozno som sa trochu zamotal. Problem je v tom, ze stracam pri prijme znaky. Myslel som, ze zmensenie FIFO to vyriesi. Po prestudovani zdrojakov so zistil, ze skutocne sa prerusenie generuje pri prvom znaku. A to je potencialne problem. Generuje sa vela preruseni a zahlti to CPU-386. Riesenim by malo byt nastavenie rx_trigger. Generovalo by sa menej preruseni. To som zatial nezvladol. Uz mi hrozi dalsi problem a to je 16550 nema plne hardverove riadenie a spolieha sa na cpu. Riesenie sa crta s obvodom 16554 alebo 16654.
    15.4.2004 10:53 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Pokud ztracis znaky, co takhle snizit rychlost? Vim, ze to nemusi byt mozne, ale aspon napad...

    Dejv.
    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    15.4.2004 20:27 Gabo
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Znizenie rychlosti bude problem. Uz teraz idem na 9600. Problem je, ze mam 4 x 16550. Niekde som sa docital, ze 16654 a 16554 maju skutocne hardwerove riadenie toku dat. Uz som si zohnal aj taku kartu. Teraz mam 16554 co su 4xRS232 na jednom cipe. Problem je, ze v standartnom mode sa sprava ako 16550. To riadenie toku treba dako zapnut. Inac povedane zhanam driver. V kerneli je daka podpora pre 16654 ale nepodarilo sa mi to pouzit. Mate s tym dakto skusenosti ? Dakujem.
    16.4.2004 10:33 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    Jeste jeden napad. Jak (kolika draty) mas propojen pocitac se zarizenim? Pouzivas 3-dratove propojeni (jen RxD, TxD a GND), nebo tam mas vic signalu (datove i ridici)?

    Dejv.
    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    Stanislav Brabec avatar 16.4.2004 10:58 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše Re: Nastavenie FIFO pri seriovom porte
    V původním dotazu jste se ptal na 16550A, ale teď píšete o 16550. Tyto modely se, pokud si dobře pamatuji, liší právě tím 16bajtovým bufferem (model A ho má). Obávám se, že zmenšením bufferu u 16550A to zhoršíte. Zředěním přerušení to můžete možná zlepšit.

    Řešením by také mohl být preepmtivní (2.6) nebo RT kernel, nebo low latency patch.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.