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 01:00 | Nová verze

Po více než pěti měsících od vydání verze 3.11.0 byla vydána nová stabilní verze 3.12.0, tj. první z nové řady 3.12, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze zmínit počáteční podporu architektury mips64 (big endian) a programovacího jazyka D.

Ladislav Hagara | Komentářů: 0
29.5. 23:00 | Komunita

Coffee Run je další krátký open source film od Blender Animation Studia. Vše o filmu na Blender Cloudu.

Ladislav Hagara | Komentářů: 5
29.5. 16:33 | Nová verze

Byla vydána nová verze 2020.06.01 distribuce BlackArch Linux (Wikipedie). Jedná se o distribuci založenou na Arch Linuxu zaměřenou na penetrační testování a výzkum počítačové bezpečnosti. Z novinek lze zmínit přes 150 nových nástrojů. Aktuálně jich je 2553.

Ladislav Hagara | Komentářů: 0
29.5. 14:11 | Komunita

V dubnu loňského roku získal multiplatformní open source herní engine Godot (Wikipedie) 50 tisíc dolarů z programu Mozilla Open Source Support (MOSS) Mission Partners na portaci Godot Editoru na webové technologie (HTML5 a WebAssembly), vylepšení podpory WebRTC, přidání podpory WebSocket a vytvoření 3D modelů pro nová dema. Fabio Alessandrelli dnes přestavil jeden z výsledků: Godot Editor běžící ve webovém prohlížeči.

Ladislav Hagara | Komentářů: 0
29.5. 13:44 | Nová verze

Včera bylo oznámeno přejmenování Raspbianu, tj. linuxové distribuce určené především pro jednodeskové miniaturní počítače Raspberry Pi, na Raspberry Pi OS. Dnešní příspěvek na blogu Raspberry Pi a také video na YouTube představuje květnové novinky již v Raspberry Pi OS, konkrétně ve verzi 2020-05-27. Zdůrazněny jsou například nové aplikace Bookshelf a Magnifier. Detaily v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
29.5. 11:11 | Pozvánky

Dnes od 16:00 do 19:15 a zítra od 9:00 do 15:00 lze virtuálně navštívit festival novodobých kutilů Maker Faire Prague Online 2020.

Ladislav Hagara | Komentářů: 0
28.5. 22:22 | Zajímavý projekt

S pomocí 3D tiskárny vyrobitelná klávesnice Katy K80CS (Deskthority, Geekhack) inspirovaná Kinesis Advantage je nyní open hardware – včetně souborů STL nově pod licencí Creative Commons BY-SA. Firmware byl dostupný již dříve. Jedná se o alternativu k populárnímu projektu Dactyl s řadou forků včetně varianty Dactyl-Manuform (viz též galerii, kterou spravuje Xah Lee).

Fluttershy, yay! | Komentářů: 71
28.5. 22:11 | Nová verze

Android Studio (Wikipedie), tj. oficiální integrované vývojové prostředí pro vývoj aplikací pro mobilní operační systém Android, bylo vydáno v nové stabilní verzi 4.0. Přehled novinek i s náhledy v oficiálním oznámení a také na YouTube.

Ladislav Hagara | Komentářů: 0
28.5. 15:33 | Nová verze

Byla vydána verze 1.14 systému pro správu a verzování zdrojových kódů Apache Subversion (Wikipedie). Jedná se o LTS verzi. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 6
28.5. 14:22 | IT novinky

V červnu loňského roku bylo představeno Raspberry Pi 4 s 1 GB, 2 GB a 4 GB RAM. Dnes přibyla varianta s 8 GB RAM za 75 dolarů. Současně bylo oznámeno přejmenování Raspbianu na Raspberry Pi OS. K dispozici je beta verze 64bitové varianty. Minulý týden byla oznámena beta verze firmwaru umožňujícího bootování Raspberry Pi 4 z USB místo z SD karty.

Ladislav Hagara | Komentářů: 9
Kdy přecházíte na nové vydání distribuce/OS?
 (14%)
 (13%)
 (21%)
 (7%)
 (3%)
 (41%)
Celkem 355 hlasů
 Komentářů: 0
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: 264×
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: 76 | blog: Výlevníček | 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.
5GBioShield | "Gravitace vyvrácena pokusem" | Tvoje složka chrání mě, moje složka chrání tebe.
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.