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 19:33 | Zajímavý článek

Jozef Mlich se v příspěvku PinePhone je nové OpenMoko na svém blogu věnuje svému novému linuxovému chytrému telefonu PinePhone v edici BraveHeart: "Momentálně se pocity z tohohle zařízení dají přirovnat k BrokenMoku. Většina věcí prostě nefunguje. Minimálně ne sama od sebe. Začít se dá už u samotného hardware, kde existuje wiki stránka popisující nedostatky".

Ladislav Hagara | Komentářů: 2
dnes 10:00 | Zajímavý projekt

Justine Haupt aktualizovala svůj open source mobilní telefon s rotační číselnicí a zveřejnila kompletní dokumentaci, vlastní kód, schémata i STL soubory pro 3D tisk. Desku plošných spojů případně i vytištěný obal lze koupit v jejím obchodu.

Ladislav Hagara | Komentářů: 24
dnes 06:00 | IT novinky

Otevřená certifikační autorita Let's Encrypt v příspěvku na svém blogu informuje, že žádosti o vystavení certifikátů nově validuje z několika míst současně (Multi-Perspective Validation). Další informace v diskusním fóru.

Ladislav Hagara | Komentářů: 7
včera 13:55 | Nová verze

Byla vydána verze 15.0 na Debianu založené linuxové distribuce Untangle NG Firewall. Přehled novinek v poznámkách k vydání a ve videu na YouTube. Vyzkoušet lze (zatím neaktualizované) demo webového rozhraní.

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

Letošní ročník konference LinuxDays se uskuteční o víkendu 3. a 4. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během devátého ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru nebo Facebooku, přidat se můžete také do telegramové diskusní skupiny.

Petr Krčmář | Komentářů: 4
včera 10:22 | Zajímavý článek

Alexander Popov se v příspěvku na svém blogu podrobně věnuje možnostem zneužití bezpečnostní chyby CVE-2019-18683 v linuxovém podsystému V4L2. Videoukázka eskalace práv na YouTube. Chyba byla v upstreamu opravena v listopadu loňského roku. Alexander Popov se chybě věnoval ve své přednášce (pdf) na konferenci OffensiveCon 2020.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Nová verze

Byla vydána nová verze 20.02.17 svobodného multiplatformního video editoru Shotcut (Wikipedie). Přehled novinek v oznámení o vydání. Využíván je MLT Multimedia Framework 6.20.0 a WebVfx 1.2.0. Nejnovější Shotcut je k dispozici také ve formátech AppImage, Flatpak i Snap.

Ladislav Hagara | Komentářů: 2
18.2. 16:22 | IT novinky

Spolkový úřad pro informační bezpečnost (Bundesamt für Sicherheit in der Informationstechnik) schválil používání softwarů Gpg4win a Gpg4KDE, tj. nadstaveb nad GnuPG, pro šifrování a přenos utajovaných informací stupně utajení Vyhrazené (VS-NUR FÜR DEN DIENSTGEBRAUCH (VS-NfD)), EU RESTRICTED a NATO RESTRICTED [reddit].

Ladislav Hagara | Komentářů: 0
18.2. 12:44 | Humor

Viceprezident společnosti Oracle Matthew O'Keefe napsal na Twitteru: "Kdyby databáze Oracle neexistovala, světová ekonomika by se zastavila. Kdyby většina open source distribuovaných databází neexistovala, byl by svět pro data mnohem bezpečnějším místem". Příspěvek rozpoutal diskusi nejenom na redditu a následně byl z Twitteru smazán (Wayback Machine).

Ladislav Hagara | Komentářů: 17
18.2. 09:33 | Nová verze

Byla vydána nová verze 1.38 správce síťových připojení ConnMan (Wikipedie). Z novinek lze zdůraznit podporu WireGuardu.

Ladislav Hagara | Komentářů: 0
Vydržela vám novoroční předsevzetí?
 (9%)
 (6%)
 (3%)
 (82%)
Celkem 167 hlasů
 Komentářů: 0
Rozcestník

www.AutoDoc.Cz

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

11.6.2019 09:48 Fiuala
ARMbian, raspberry přerušení, timer, sleep?
Přečteno: 258×
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.
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.