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í
×
    včera 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 2
    včera 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 22
    27.8. 16:33 | IT novinky

    Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.

    Ladislav Hagara | Komentářů: 1
    27.8. 14:22 | IT novinky

    Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.

    Fluttershy, yay! | Komentářů: 7
    27.8. 13:11 | Nová verze

    Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.

    Ladislav Hagara | Komentářů: 0
    27.8. 05:11 | Komunita

    Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.

    Ladislav Hagara | Komentářů: 18
    26.8. 12:55 | IT novinky

    EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.

    Ladislav Hagara | Komentářů: 67
    26.8. 12:11 | Nová verze

    Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (79%)
     (9%)
     (3%)
     (4%)
     (5%)
     (1%)
    Celkem 104 hlasů
     Komentářů: 9, poslední včera 11:53
    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: 402×
    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.