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 04:55 | Nová verze

    Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | Komunita

    Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.

    Ladislav Hagara | Komentářů: 4
    včera 23:22 | Pozvánky

    Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou

    … více »
    bkralik | Komentářů: 0
    včera 22:33 | IT novinky

    Dle plánu dnes končí služba Skype. Uživatelé mohou pokračovat v Microsoft Teams.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.

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

    Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Pozvánky

    Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.

    Ladislav Hagara | Komentářů: 0
    4.5. 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    4.5. 14:22 | IT novinky

    Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.

    Ladislav Hagara | Komentářů: 29
    3.5. 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

    Ladislav Hagara | Komentářů: 2
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 526 hlasů
     Komentářů: 22, poslední včera 10:06
    Rozcestník

    Dotaz: ARMbian, raspberry přerušení, timer, sleep?

    11.6.2019 09:48 Fiuala
    ARMbian, raspberry přerušení, timer, sleep?
    Přečteno: 399×
    Nemam mohho zkušensotí s programováním pro linux a potřebuji napsat drobnost pro Raspberry Pi 2 v C/C++. To s čím si nevím tak uplně rady je ve své podsttě čítač ,který má počítat náběžné hrany signálu na jednom z GPIO za řekněme 100s.

    Knihovna Wiring PI má funkci pro obsluhu přerušení wiringPiISR (),kterou vyvola zvolená událost na GPIO , tady problém není stačí v přerušení inkementovat proměnnou předstvující počet pulsů. Zde si jen nejsem jist, jak je to s prioritou, pokud půjde uloha do sleep, funguje i ve sleep ulohy přerušení od Winirng Pi?

    Předevšěím,ale nevím jak co nejpřesněji změřit oněch 100s? Ideální by bylo pokud by šlo přímo využít některý z hw čítačů v procesoru, který by opět při přetečení vyvolat přerušení. Jasně jde to udělat i jako cyklus se sleep 1ms a ten nechat projít 100.000 krát a asi i exituje nějaká funkce navázanaá na některý z čítačů času linuxu. Jde o to, že nevím a potřebuji poradt pokud možno co nejpřesnější a co nejméně zatěžuijící způsob .

    Poradíte. Děkuji

    Odpovědi

    11.6.2019 10:25 NN
    Rozbalit Rozbalit vše Re: ARMbian, raspberry přerušení, timer, sleep?
    pokud půjde uloha do sleep
    Tim je mysleno co konkretne?
    11.6.2019 11:42 Tešař
    Rozbalit Rozbalit vše Re: ARMbian, raspberry přerušení, timer, sleep?
    Předpokládal bych volání některé s sleep funkci z unistd.h nebo timer.h tj. sleep() , případně usleep() či nanosleep().

    Jendа avatar 16.6.2019 11:23 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARMbian, raspberry přerušení, timer, sleep?
    Zde si jen nejsem jist, jak je to s prioritou, pokud půjde uloha do sleep, funguje i ve sleep ulohy přerušení od Winirng Pi?
    Ano.
    Předevšěím,ale nevím jak co nejpřesněji změřit oněch 100s?
    Pokud to stačí s přesností na řádově milisekundy, tak to dělám tak, že zjistím aktuální čas pomocí clock_gettime, a pak si naplánuju usnutí pomocí poll na správný počet milisekund. Pokud potřebuješ větší přesnost, tak bych zkusil naplánovat pomocí poll probuzení o trochu dříve a následně točit gettime ve smyčce. Pro ještě vyšší přesnost tohle spusť jako separátní proces, nastav mu vlastní CPU a vyřaď z toho CPU jiné procesy (isolcpus). Někde na Rootu k tomu psali že
    Myslím, že i non-RT kernel má /proc/irq/$IR­Q/smp_affinity, kam lze zapsat CPU mask. Kernel s RT-Preempt navíc vytváří pro každý interrupt handler vlastní kernel thread, kterému lze nastavit RT scheduling class a RT prioritu přes chrt, a případně na něj použít taskset (to ale možná není ani potřeba, když už je nastaveno smp_affinity).

    Linux má v tomhle ale pořád ještě rezervy, jeden z největších problémů je, že na všech CPU (i těch vyjmenovaných v isolcpus) se spouští nějaké servisní operace s periodou CONFIG_HZ. Nějakou dobu je k dispozici NO_HZ_FULL option, ale to si podle našich zkušeností moc nerozumí s RT-Preempt, a stejně to funguje jen když je na daném CPU jen jeden thread - viz https://lwn.net/Articles/549580/. Kromě toho pomáhá ještě kernel option rcu_nocbs=<cpu­list>. Na ARM Cortex-A9 se nám ještě osvědčila konfigurace L2 cache CPU locking, tedy pevné vyhrazení části L2 cache pro CPU s realtime tasky. Jak moc je tohle zdokumentované u RPi jsem zatím nezkoumal. Ta izolace ale pořád není úplně dokonalá, zejména při vytváření nových procesů na non-realtime CPU dochází k drobnému "zakopnutí", jehož příčina mi zatím není úplně jasná, možná něco s TLB.
    Ideální by bylo pokud by šlo přímo využít některý z hw čítačů v procesoru, který by opět při přetečení vyvolat přerušení.
    Možná by kernelový čas mohl mít paradoxně lepší přesnost než čítač ze kterého je odvozený, protože NTP říká, jestli jde špatně, a počítají se korekce.
    16.6.2019 11:47 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: ARMbian, raspberry přerušení, timer, sleep?
    Pro přesné odměření času je nejlepší použít clock_nanosleep() např. podle příkladu: https://rt.wiki.kernel.org/index.php/Squarewave-example - přesnost je v zásadě nejlepší možná na daném HW, po zprůměrování jitteru minimálně na mikrosekundy. Řešit nějak přímý přístup k HW čítači nemá smysl.

    RT-PREEMPT by určitě pomohl, zvlášť pokud na tom HW poběží ještě další úlohy. Vyhrazení jednoho CPU pro tuto úlohu by také pomohlo, ale je třeba nastavit i to IRQ affinity.

    Další tipy zde: https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/application_base

    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.