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 10:44 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu poprvé překročil 3 %, aktuálně 3,05 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 27,18 %. Procesor AMD používá 67,10 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 1
    dnes 10:33 | Zajímavý projekt

    Joel Severin v diskusním listu LKML představil svůj projekt linuxového jádra ve WebAssembly (Wasm). Linux tak "nativně" běží ve webovém prohlížeči. Potřebné skripty pro převod jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Nová verze

    Byla vydána nová verze 25.10.31 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    1.11. 07:33 | Komunita

    O víkendu probíhá konference OpenAlt 2025 (Stream). Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    1.11. 00:55 | IT novinky

    Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.

    Ladislav Hagara | Komentářů: 8
    31.10. 18:33 | IT novinky

    Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).

    Ladislav Hagara | Komentářů: 0
    31.10. 13:22 | Komunita

    Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).

    Ladislav Hagara | Komentářů: 8
    31.10. 01:22 | Nová verze

    Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    31.10. 00:11 | IT novinky

    Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.

    Ladislav Hagara | Komentářů: 5
    30.10. 23:44 | Komunita

    Google v srpnu oznámil, ž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. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (19%)
     (18%)
     (22%)
     (16%)
     (20%)
     (16%)
     (17%)
    Celkem 300 hlasů
     Komentářů: 15, poslední včera 08:25
    Rozcestník

    NuttX international wokshop

    13.10. 00:34 | Přečteno: 792× | procesory a roboti | poslední úprava: 13.10. 09:08

    Zdravím místní komunitu, moc sem již nepíši, nezdá se, že by byla nějaká naděje na reálnou spolupráci, většina je spokojená s Arduinem a tak se spíše nezdržuji od komunikace a spolupráce s lidmi a komunitami jako je NuttX (příspěvky od 2016), RTEMS (komunikace asi od 1996), Linux kernel (DMSdos například od 1996), kde přispívám již desetiletí a reálné spolupráce běží.

    Pokud Vás tedy zajímají mé aktuální aktivity, tak doporučuji sledovat mé a další zápisky na

    https://social.kernel.org/ppisa

    Ale pokud zde přecejenom existují vývojáři, kteří dováží ocenit, že si kód otestují třeba Valgrindem na GNU/Linuxu a pak díky POSIXem definované přenositelnosti ho zprovozní na NuttXu nebo RTEMSu tak vám věnuji chvíli času.

    Tento čtvrtek a pátek (16. a 17. října) probíhá NuttX Wokshop (https://events.nuttx.apache.org/)

    Budou na něm prezentované i tři naše projekty

    nxboot: System updates with NuttX bootloader (Michal Lenc)

    Jedná se o zavaděč a příslušné knihovny, které z aplikace umožňuji do sekundárního oddílu na Flash (třeba externí na SPI) nahrát novou verzi firmware, ta je pak po rebootu přehraná do primární, spustitelné oblasti, přitom třetí oblast drží předchozí verzi firmware, pokud do dalšího restartu není nový firmware potvrzený, dojde k návratu k předchozí verzi.

    Původní plán ve firmě Elektroline.cz byl použít a rozšířit MCUboot, ale komunita nebyla ochotná přijmou alternativní algoritmus s třemi oddíly. Přitm původní pro zajištění obnovitelnosti v každém okamžiku vyžaduje scratchpad oblast a tím dochází k mnohonásobně častějšímu přemazávání paměti Flash, rychlejšímu opotřebení a zároveň je operace mnohem pomalejší. Po odmítnutí alternativy a zničení Flash na testovacím kuse jen při několika testech při vývoji padlo rozhodnutí dále neřešit problém s komunitou kolem projektu zaměřeného především na Zephyr, který o komunikaci s lidmi z NuttXu zájem neměl a vypravit se vlastní cestou. Vlastní loader založený na NuttXy se s aplikací vejde do 64 kB oddílu Flash a bylo by o možné asi i ještě dále zmenšit.

    Dokumentace k projektu

    https://nuttx.apache.org/docs/latest/applications/boot/nxboot/index.html

    Elektroline nastavení konfigurace a registraci služby přidal pro architekturu SAMv7, ale komunita již přidala i SAMv5 a RP2040. Ano to je komunita, kde má smysl svůj čas nabízet, související příspěvky na jádru NuttX a v základní sadě aplikací. Více česky i viz video s prezentací z letošního Installfestu.

    Single Pair Ethernet with OPEN Alliance 10BASE-T1x SPI MAC-PHYs (Michal Matiáš)

    Alternativa především pro propojení jednotek s malými nároky na přenosovou kapacitu s tím, že i k propojení více jednotek jen jedním krouceným párem vodičů. Standard definuje max 8 jednotek na 25 metrů, ale mnoho výrobců nabízí navýšení limitu na 40 jednotek. Přitom linka řeší posuny zemí kapacitní vazbou a zároveň je k dispozici volitelný PHY-Level Collision Avoidance (PLCA), tedy beacon a opportunity time sloty, takže se jedná o zajímavou alternativu ke komunikaci CAN.

    Alternativa napojení na linku přes SPI MAC-PHY Open Aliance TC6 řešení pak zpřístupňuje technologii všem rozumně pamětí a systémem vybaveným mikrokontrolérům s SPI rozhraním.

    Pro projekt se podařilo zajistit financování přes Google Summer of Code.

    Odkazy na výsledky a dokumentaci jsem podrobně vypsal na

    https://social.kernel.org/notice/AyN0UmAcMveSAAe4v2

    Using the Silicon Heaven protocol in NuttX (Štěpán Pressl)

    Zminimalizovaná implementace v jazyce C protokolu Silicon-Heaven vyvinutého ve společnosti Elektroline jako páteřní komunikační technologie pro hierarchické propojení jejich systémů řízení tramvajových dep a tratí po celém světě. Výsledkem je knihovna

    https://github.com/silicon-heaven/shv-libs4c

    Lze jí kompilovat jak pro systém NuttX tak pro Linux a pravděpodobně i další POSIX splňující systémy. Do systému NuttX pak v rámci této také Google Summer of Code podpořené práce byl přidnaný příklad examples/shv-test a kompletní systém pro update firmware examples/shv-nxboot-updater kombinující jeho zaslání přes Silicon-Heaven (SHV) protokol do oddílu nabídnutého NXboot s možností automatického restartu a update.

    Na tuto novou implementaci byl také přepracovaný systém ladění a monitorování modelů za běhu systému rychlého/grafického návrhu řídících aplikací/regulátorů pysimCoder, který byl doplněný o dialog a službu pro nahrání update firmware přímo z jeho grafického prostředí.

    Toto minimalizovaná implementace protokolu je kompatibilní s plnohodnotnými SHV brokery implementovanými v Elektroline jak v jazyce C++/Qt6 (shvbroker), Rust (shvbroker-rs) tak i čistém Pythonu (pyshv). Přístup k datům je možný z mnoha aplikací, kromě pysimCoderu třeba z základního švýcarského nožíku pro procházení stromů zařízení a volání jejich služeb shvspy. Propojení s pysomCoderem pak dokumentuje například článek pysimCoder – Open-Source Rapid Control Prototyping for GNU/Linux and NuttX (prezentace) z 24th International Conference on Process Control. Nebo starší prezentace z COVIDové konference OpenAlt (video) a Installfest (video).

    Závěrem

    Apache NuttX® International Workshop 2025 se koná jak v online formě přes platformu Jitsi tak fyzicky v Kostarice a tedy i časy tomuto místu odpovídají. Kostarika byla zvolena proto, protože v ní nyní žije zakladatel systému a dlouhou dobu téměř jediný vývojář Gregory Nutt.

    Je spíše neuvěřitelné, kolik různých architektur a platforem se mu podařilo jednotně podporovat po mnoho let, viz přehled podporovaných architektur, rodin mikrokontrolérů a desek v dokumentaci.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    13.10. 00:43 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Jinak ke stavu a odkupu značky firmou Qualcomm zde často preferované alternativy ve formě Arduino jsem se vyjádřil v odpovědi v diskuzi na serveru Root.cz Qualcomm kupuje italskou firmu Arduino, vydávají společně desku UNO Q - diskuze
    15.10. 11:15 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Je spíše neuvěřitelné, kolik různých architektur a platforem se mu podařilo jednotně podporovat po mnoho let, viz přehled podporovaných architektur, rodin mikrokontrolérů a desek v dokumentaci
    Ten přehled podporovaných architektur je podle mě trochu zavádějící... zkusil jsem to rozchodit (nic jednoduchého, dokumentace je poměrně roztříštěná) a nějak se mi nakonec povedlo vyrobit funkční program, co šel nahrát do AVR čipu, který jsem měl po ruce. Fungovalo to, to ano, ale pro nějaké reálné nasazení tomu chybí podpora prakticky veškerého hardware, který ten čip má. Nemluvě o tom, že samotný kernel zabírá nějakých 40kB - třetinu - flash. Tipnul bych si, že s ostatními podporovanými architekturami by to mohlo být podobné - teoreticky podporováno, prakticky ARM. (A možná Risc-V.)
    Quando omni flunkus moritati
    15.10. 12:02 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Děkuji za otestování a potvrzení i na oblíbené platformě, kterou sám opravdu zkoušet nebudu. Považuji jí za kouli na noze jak kompilátoru C (GCC chce pro eliminaci se narovnáváků na ohýbáky AVR podpory zbavit) tak každého systému.

    Míra podpory HW se podle platforem liší.

    Když se podíváte třeba na Espressif ESP32-C6, kde se zapojují i lidi od výrobce, tak tam je podpora periferií celkem široká.

    Na imxRT a SAMv7, které nás zajímají, tak se muselo mnoho věcí dopsat, ale nyní je to pro všechny.

    Přitom veliká výhoda na rozdíl od FreeRTOSu a jiných řešení je, že všechny architektury mohou své low-level drivery jednotlivých periferií implementovat a využít high level sjednocujících API pro CANbud, ADC, DAC, PWM, timery atd. Ano, to sjednocení často vede k tomu, že je podporovaný jen common subset schopností periferií. Ale kde je to potřeba, tak lze navrhnout i IOCTL jen pro konkrétní typ a nebo i přitupovat k HW přímo, pokud je NuttX kompilovaný v režimu bez MMU a ochrany paměti.

    Ano, POSIX API mají overhead. Ano, při psaní přímo na dané HW a s RT částí přímo v přerušeních lze z daného HW získat mnohem více. Ale vše ze přepisuje znova a znova, takto máme v pysimCoder napsaný bloky pro ADC, PWM, DAC, posílání přes CAN, TCP, UDP jednou a chodí na širokém rozsahu platforem. Tam kde potřebujeme přesné synchronizace ADC s PWM, tak jsme přidali možnosti do konfigurace NuttXu, které to pro dané periferie nastaví. Takže opět, pysimCoder beze změny. Ty jeho komunikační bloky jsou často beze změny i pro GNU/Linux.

    Při sklouznutí do ekosystému výrobců, typu CUBE, EmbeddedBeans, CodeComposerStudion jste navedení na psaní kódu tak, že je nepřenositelný na jiné výrobce a ani na GNU/Linux si ten HW nezávislý základ neotestujete.

    Jinak podpora se různí, pokud nemáte od někoho znalého prvotní nastaven pro danou platformu a sadu periferií, tak to může být na začátek frustrující. Něco nenastavíte v high level driverech a low level se vám vůbec v seznamu neobjeví nebo nastavíte i kombinaci která nakonec nelze zkompilovat nebo neběží.

    Sám mám pak zkušenost i s RTEMSem (https://www.rtems.org/) ten má mnohem lepší scheduler, RT vlastnosti a tak od 8 MB RAM nabízí i integraci BSD TCP/IP stacku. Ale tam se opravdu počítá s tím, že na ty projekty za milióny EUR se podpora periferií napíše na míru/komunita je tak malá a nesoustředí se na to, že existují jen drivery sériových portů a pak třeba v rámci GSoC nějaké další pro platformy na hraní, BeagleBone, Raspberry Pi. Ale model driverů je na rozdíl od FreeRTOS a jiných k dispozici, takže když jme nad RTEMSem navrhovali Technic-Iinfůzní pumpu (safety-critical), tak jsem psal drivery pro klávesnici, LCD, SD kartu, IrDA a vše ostatní od nuly. Ale FAT a bloková vrstva, micro-input driver i s podporou na druhé straně v https://www.microwindows.org/ atd byly. Ale RTEMS je o řád na vstup z pohledu podpory platforem těžší. Takže sám vidím NuttX jako pohodu. Ale chápu, že to může být z pohledu jiného různé a i hrůzné.
    15.10. 17:00 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    GCC chce pro eliminaci se narovnáváků na ohýbáky AVR podpory zbavit
    ... což se projevuje tak, že je podpora AVR aktivně vyvíjena v upstreamu?
    Míra podpory HW se podle platforem liší. ...
    Což nás vrací k tomu, že z toho dlouhého seznamu podporovaných architektur pro praktické použití - dle mého odhadu - platí dvě
    Quando omni flunkus moritati
    15.10. 18:49 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    GCC chce pro eliminaci se narovnáváků na ohýbáky AVR podpory zbavit
    ... což se projevuje tak, že je podpora AVR aktivně vyvíjena v upstreamu?

    Tak pokud se postupně nemá podpora rozpadat, tak je potřeba minimálně udržovat build systém a věci specifické pro běh na různých hostitelských systémech v nějakém alespoň trochu aktuálním stavu. Typicky vycházet při tom z mainline je nejméně časově náročné. AVR podpora tedy vychází z GCC mainline i když třeba ty novější verze standardu C a C++ by nebylo potřeba stejně jako lepší optimalizace pro plánování instrukcí na superskalárních architekturách. Tam by šlo ustrnout na staré verzi.

    https://gcc.gnu.org/git/?p=gcc.git;a=history;f=gcc/config/avr;hb=HEAD

    Ale zdá se, že se tomu zase nyní někdo věnuje, takže backend od popravy zachrání.
    Míra podpory HW se podle platforem liší. ...
    Což nás vrací k tomu, že z toho dlouhého seznamu podporovaných architektur pro praktické použití - dle mého odhadu - platí dvě
    Myslím, že kromě ARM a RISC-V byla celkem dobrá podpora Z-80, ale ta je také za zenitem. NuttX například v mnoha na Z-80 postavených VoIP telefonech. Ale také to bude souboj a staré Z-80 C nutí držet jádro NuttXu na C89.

    Z mého pohledu je i zázrak jen to množství ARM a RISC-V platforem. Ten základ, plánovač a tak, to si umím představit, ale hlavičky od starých 32-bit ARMů, přes platformy s Cortex-A/M od STM, NXP, Microchip, GD a mnoha dalších, Ti TMS570 (sice nedotažená) ale extrémně těžká.
    16.10. 17:14 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Online stream NuttX Workshop DAY1

    https://www.youtube.com/live/tqWwKLCD0dU

    17.10. 12:38 ...
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Dost nabubrela poznamka o zdrzovani se nekym, kdyz je cela Vase existence placena z verejnych penez a v komercni praxi byste davno shorel, jak ten papir. Kdyz se nikam nepospicha a delate si cele dlouhe roky jen na tom, co Vas bavi a na cem si chcete delat (ctete: hrat), to se to pak machruje na ostatni... navstevniky stanku, mlade studenty, atd. To Vase ego je k smichu.

    Co jste dokazal? Rozchodit field oriented control algoritmy po tom, co jsou davno velmi dobre publikovane? A co jako? A jak dlouho jste na to mel - a kolik lidi k ruce, ze ano :-D

    Pane kolego, myslite si skutecne, ze timto svym pusobenim pomahate nekomu nebo necemu jinemu, nez vlastnimu egu?
    17.10. 12:53 ...
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    NuttX je hracka hodna studentu strednich skol, presne tak na urovni toho Arduina, na ktere tak rad plivete. Zajimava vec, to ano, ale stale rozbita hracka bez nejakeho serioznejsiho pristupu za ni. Od vysokoskolskeho pedagoga by se cekala nejaka prace, ktera posouva hranici dal. Kdyz ona ale ta akademie utekla Vasim schopnostem a v CR se mezi temi mladymi jen tak nenajde nekdo, kdo by Vasi praci patricne zkritizoval, ze :D Tady to proste staci, a takhle my si tu zijem :D

    Vsechno by bylo v pohode, kdyby to bylo bez te nafoukanosti a arogance.
    17.10. 16:24 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Tak něco málo zajímavějšího by se našlo, třeba 33 po dobu let pár dodávek přístrojů HPLC do https://www.uochb.cz do skupiny polypeptidů. Ale je pravda že vlastně nevím, jestli to mohlo přispět k vývoji léků pro pozastavení rakoviny nebo AIDS. Elektroniku a firmware k první generaci jsem navrhoval, když jsem začínal studovat na ČVUT FEL. K tomu jsem navrhl komunikaci, kterou použili (protože je open source) i v dalších firmách. Díky otevřenosti našich protokolů a komunikačních knihoven mohli pro přístorje (v naší licenci vyráběné, vývoje kompletně financovaný z rodinných zdrojů, žádná dotace) začít jak komerční firmy stavět SW, tak i jeden profesor se zájmem z Univerzity Karlovi ze zájmu implementovat další SW. Za práci jsme mu platili a i jsem hodně připěl a udržuji software a portuji ho na GNU/Linux i přes to, že původní výrobce našich přístorů nyní vyrábí jiné/"vlastní", vývoj zaplacený z grantů, ale nějakou náhodou je většina kritických dílů podobná těm našim nebo připravovaným inovacím. Za vývoj otevřeného analytického SW CHROMuLAN jsme i dost kolegovi zaplatili. A přesto, že je to takové osiřelé, chudé dítko, tak se celkem používá, viz třeba seznam. Z tohoto již stařičkého software jsou i nadšení v https://www.omicronbio.com/. Pokud změníte styl od klasického anonyma v hrdou osobu se jménem, e-mailem a dalším, rád Vám přepošlu akorát nedávný e-mail, kdy při přechodu na Windows 11 (ano, naše drivery jsou na to připravené, i když prvotně jsou vyvíjené na GNU/Linux) něli problém s tím, že nerozzipovali instalaci a update nenašel inf a podpisy. Zatím, zaklepat, bez poruchy, tam 7 ULAD32 a starších ULAD31 běží po 14 let bez poruchy.

    Pro naše přístroje jsme plně digitální řízení motorů s procesory používali od roku 1990. Nejdříve DC, později PMSM, dávno před O-drive, VESC atd., vývoj plně financovaný naší firmou jsme předal na ČVUT FEL pro robotické týmy. Vše co CTU dragons a Flamingos jesdilo, bylo na základě mé práce, přesto, že sliby připravit stránky a další nedodrželi, tak jsem to byl já, když špatnými rozhodnutími poškodili zkopírovaný návrh a zničili na motorech co mohli, kdo zůstal ve škole přes noc, aby ráno vyjeli. Přesto, že jsem v seznamu členů nebyl.

    A takto mohu pokračovat dále. Díky našemu přispění do vývoje elektroniky infúzních pump (také nám bylo pár miliónů z podílu na prodejích na zpětné placení vývoje upřeno) existovala konkurence k BBraun a dalším. Sice v lobingu v nemocnicích byly ti cizí úspěšnější, ale i těch pump (injekčních i volumetrických) s naším HW a firmware se nějaké dva tisíce prodaly a minimálně po 10 let i ty lépe mezi doktory "propagované" pumpy ze zahraničí se v ČR prodávaly za polovinu. Pokud bych tedy dostal jen 10% z jejich rozdílu ceny v důsleku konkurence od nás, tak bych určitě měl na menší hrádek a zajištění do penze. Podobně s odparkami od Buchi atd...

    Takže Vaše vyjádření, že bych se bez toho platu na FEL, vždy jen poloviční úvazek a mnoho let okolo 20 kkč měsíčně neuživil není moc fér. Ale co čekat od anonyma.

    Teď jdu pomoc s vysíláním na NuttX workshop a pak něco napíšu třeb dále.
    19.10. 19:00 ...
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    marketing vlastnich schopnosti byste mel zvladnuty, ale celym tim obsahem jste akorat presne potvrdil to, o cem mluvim :-D nabubrela nafoukanost bez podkladu, trivialni veci od A po Z, to ma fakt smysl, pro takove vzdelani si jit na CVUT :-D a jasne ze Kapuca vedle z toho ma taky opruzeniny, protoze je od tyhle nabubrelosti taky nakazenej, proto si muze myslet, ze vynalezl disklessove sendvice, evidentne je to na CVUT proste normalka :-D

    myslete si klidne, ze jste se obhajil, za mne v pohode :-D ja se jen smeju dal
    19.10. 19:09 ...
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    kdybych u toho nafukovani vasich schopnosti nestal nekolikrat s nemym uzasem, netvrdil bych to s takovou jistotou :-D zazite na vlastni kuzi, mnohem vickrat, nez bych chtel :-D
    20.10. 09:19 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Není nad to anonymně plivat, viď? Šulin jako ty, se zmůže leda tak na anonymní štěkot v poušti.
    19.10. 14:16 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Pane kolego, myslite si skutecne, ze timto svym pusobenim pomahate nekomu nebo necemu jinemu, nez vlastnimu egu?

    Tomu pomáháš svými anonymní kecy leda tak ty, moulo.

    21.10. 20:41 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Na nepodložená nařčení nemá smysl odpovídat a něco vyvracet, sám víc, co jsem udělal a že napsat 138365 (blanck 15771 a comment 7524) linek v assembleru byla docela dřina a některé ty projekty založené na MHB 8051, Philips 87552, 80552 a Siemens 80C517A slouží i po 30 let. Pro pořádek, základní sčítaní, násobení a dělení jsem přebral z nějakého článku, ale vše ostatní, i logaritmy a převody na IEEE-754 na uLAN jsem psal jen sám. Již když jsem frimware psal, tak mě bylo hodně líto, kolik umu musím vynakládat na psaní v assembleru a bez operačního systému. Jenže na to, založit elektroniku přístrojů na něčem silnějším, napčíklad 60332 jsme nemohli, protože samotný čip stál okolo 1000 kč a to bylo moc. Přitom jak vypadá vývoj na takové procesory a především na Unix jsem si na přes embargo pro Vývojové dílny akademie věd získaném vývojovém systému Philips PMDS-85 vyzkoušel již v letech 1987 a 1988. Ale musel jsem žít v assebleru, C jsme na 8051 zkusily, ale pro požadovaná funkce, někdy až řízení šesti os na 1 kHz s komunikací RS-232 na povelování, I2C na remote klávesnici stejně jako pro čerpadla s komunikací uLAN, časovým, na lokálním panelu a vzdáleně programovatelným časovým programem a další šance psát v C nebyla. Ale někdy okolo roku 1995 jsem si udělal radost a koupil si od Amiga klubu asi za 20 kkč kit M68332 EVK. Bylo to se slevou a informací, že jeden GPIO/chip-select pin je spálený.

    Na své Intel 486 jsem zkompiloval pod GNU/Linuxem GCC a pustil se do vývoje, zapojil jsem se do vývoje ladícího rozhraní BDM (background debug mode, předcůdce JTAG) a řešení pak používali na mnoha univerzitách a firmách po světě. Radil jsem někomu z Roche Diagnostics, který používal BDM na zavedení firmware z jedné 68332 do druhé, tak aby nemusel mít dvakrát Flash, pak se mi o radu ozvali i z Kanadské robotické firmy, myslím že to byla firma spojená i s něčím kolem ruky na raketoplánu. Jeden čas byla moje stránka nejnavštěvovanější na serveru centra, protože čipy na bázi 683xx se používaly hodně v řídících jednotkách automobilů a bylo mnoho firem, které nabízely i méně oficiální update.

    Ale ve firmě jsme musel stále pro udržení ceny psát v assembleru na 8051. Na infůzní pumpy to se firmware v obou procesorech musel po mnoho let vejít do 8kB OTP ROM a 256 B RAM na dvou 87552, které se vzájemně přes I2C hlídaly, každá spínala jiné tranzistory v motorovém můstku a jeden měřil polohu z IRC a druhý absolutní. K tomu komunikace, výpočty rychlostí z limitů a když se přidávala funkce, tak jsem ke konci hledal, kde kód o pár byte stáhnout, aby se vešel do 8 kB. Na HPLC a analyzátorech aminokyselin jsme měli vždy 32 kB EPROM a 32 kB SRAM a měli jsem zapojení 80552 upravené tak, aby se externí paměti mapovali von Neumannovksy do jednoho prostoru, takže přes uLAN šlo i kód pro testování nahrát, sledovat stav program z komunikace pod přerušením bez jeho brždění a i bylo možné ho zatavit a krokovat. Opět k anonymovi, myslím, že to na tehdejší dobu nebyla běžná řešení a těší mě, že například analýzy u novorozenců určitě pár z nich zachránily od demence a dalších potíží. U infúzních pump jsem si přál, abychom je já ani nikdo jiný nepotřebovali, ale když jsem je programoval a vymýšleli jak zajistit precizní vzájemnou kontrolu, tak jsme to brali hodně poctivě. Cizí renomované značky tam mívaly MCU jej jeden a jeden diskrétní watchodg obvod. My to měli dvakrát a i výpočty dvakrát jednou na rychlost, jednou z ujeté vzdálenosti na čas. Nakonec jsem šest těch našich viděl na svém tatínkovi. Personál s nimi byl velmi spokojený.

    Pro ČVUT FEL, jinou katedru a čistě na objednávku a spíš pod cenou jsme okolo roku 2000 navrhli pro jimi vyvíjené roboty BlueBot řídicí jednotky s M68376, takže jsem si konečně mohl i na naší procesové desce hrát s něčím pěknějším v C. Již při těch prvních pokusech s 68332 o pět let dříve jsem si vyzkoušel RTEMS i něčím přispěl. Ale nakonec se ukázalo, že na řízení 8 os s koordinací (až po spline funkce) a mnoho dalšího na 1 kHz nezbude na procesoru běžícím na 21 MHz (s tím, že přes 16 bit sběrnici se i nejkratší instrukce natahují a vykonávají dva cykly) nezbylo, než i tady jít kombinací C a specializované volací konvence přes registry v assembleru. Na RTEMS pak již čas nezbyl, takže jsem použil řešení bez OS. Na komunikaci po sériové lince s buffery pod přerušením to stačilo. Vykonávané příkazy PXMC jsou také v hlavní smyčce jen plánované a řazení bez čekání a vykonávané ve stavových mašinách pod přerušením. Tent styl programování je celkem náročný na disciplínu, uvažování konkurencí atd. Většina byla vyřešené i bez zakazování přerušení.

    Pro složitější komunikační protokoly je tento styl programování přes neblokující stavové mašinky a přerušení opravdu velký problém a vždy jsem byl přesvědčený, že RTOS je ta správná cesta. Takže i moje psaní pro tagety bez operačního systému (sysless, opět použitý i věkolika jiných firmách) bylo navržené tak, aby věyšinu šlo testovat i na GNU/Linuxu a jednou portovat i na RTOS. Na 68376, jsme si nakonec i RTEMS a jádro Linux naportovali a tak šlo zkusit i Ethernet a další. Ale představy o možnosti spolupráce s některými lidmi nevyšly a mezitím jsme již řešili druhou (kvůli přeprodávání zadavatele nedotaženou) a pak tředtí generaci infúzních pump, kde již byl naplno model vývoje testování GNU/Linux a na target RTEMS použitý a byl to krok dopředu. Ale to třeba někdy příště.

    Nyní se mi období s 68376 připomělo tím, že na opravu přišla jedna elektronika MARS8. Po 10 letech v provozu ztratil kapacitu jeden kondenzátor ve zdroji. Ten kolega vyměnil a nyní mi na stole zase sestava běží na stole běží.
    # MARS8 v0.7 build Pi Nov  5 2013 18:27:34
    # test mode disabled
    # kl41_lcd_init :   -1
    # date : 2025-10-21 18:03:13
    
    Velmi mě překvapilo, že i po asi 10, možní i více, letech byl čas na RTC mimo jen o pár minut. Jednotka zase půjde do procesu. Jednotka ve firmě Preciosa spolupracue s kamerami a zábleskovým osvětlením, kdy detekuje průchod kamínku na velkém otočném stole, ve správném okamžiku zajistí jeh osvětlení a spuštění kamery a předá polohu počítači, ten odebere obraz, provede vyhodnocení velikosti a třídy kvality a naplánuji, po jakém úhlu se kamínek sfoukne do příslušného zásobníku. Tím, že je ta akce odfouknutí podle úhlů na otočení různě odložená tak ta fronta poloh hlášených z počítače se pěkně překrývá a je nutné ji zatřiďovat. Celem hezká úložka na řešení se zamykáním IRQ jen po O(1) dobu, přesto, že zatřiďování je přes AVL (uLUt GAVL) O(log(n)). O návrhu té optické části a zpracování obrazu pak napsal svojí dizertační práci (Light Propagation in Transparent Polyhedra) doktor Vladimír Smutný.

    Obecně závěrem, opravdu si myslím, že mám velmi dobrou představu, jak je složité komplikovanější aplikace psát bez operačního systému přímo na HW a získat maximum. Určitě z hlediska náročnosti na vývoj, pozdější možnosti úprav, portování atd. se to kromě nějakých extrémně vělkých sérií dnes určitě nevyplatí. Výkon narostl, používají se 32-bit procesory s 32-bit a širšími směrnicemi k cache a interní Flash a třeba NuttX je podle mě použitelný kompromis. Ano, souhlasím, že na RTEMS, VxWorks, QNX a další zdaleka v robustnosti návrhu a kvalitě plánovače nemá. S těch dalších tří, se kterými mám také zkušenosti, si já pro ty kritické projekty vybírám RTEMS. Vyhovuje mi díky otevřenosti, předpřipravených certifikačních podkladech pro ESA a sice malé, ale přátelksé komunitě.

    Pro ty méně kritické a kde chci alespoň snadno získat alespoň základní drivery pro ADC, DAC, PWM, IRC, atd. tak NuttX. A opět, nazývat ho nějakou školskou hrátkou placenou z grantů je velmi nefér. Autor, Gregory Nutt vyvíjel RTOSy pro laserové tiskárny, čipy a další ve firmách jako je Hewlett-Packard. V současné době je hybnou silou Xiaomi, vybral si ho i Samsung, ale lincenčě zcela zbytečně strašně uškodil a roztříštil síly, jeho Tizen RT na bázi NuttX je podle mě mrtvola. Ale na fitness náramcích od více firem, dronech a audio zařízeních (třeba i Sony) se NuttX ujal a firmy přistupují ke spolupráci konstruktivně. Probíhá i iniciativa Li Auto, kde je zájem NuttX nasadit jak v méně kritických částech, kam jinak z té kritické oblasti zasahuje AutoSar, tak i na displejem vybavené jednotky, kde by mohl nahradit Android. Sám souhlasím s kritickou, že zatím jsou tyto oblasti k současnému stavu hodně ambiciózní a možná za hranou. Ale na druhou stranu na PX4 se NuttX osvědčil a představa o spolehlivosti a dalším nějaká již bude.
    23.10. 10:12 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Jenom pro ověření, že to dobře chápu - PX4 je aplikace, ta běží nad NuttX kernelem (neřešme terminologii typu kernel build apod.) a to celé ovládá drony a podobné, tj. řídí motory, udržuje tu věc v pohybu a ve vzduchu apod.? Hledám odpověď na otázku, jestli je NuttX dost spolehlivý na to, aby se s tím daly ovládat věci, kde by mohl být přesah do bezpečnosti (např. nevypnutá topná spirála) - použití v dronech apod. by byla dobrá odpověď.
    Quando omni flunkus moritati
    23.10. 11:09 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Ano, https://px4.io/ se stará o řízení dronů, většinou nerealizuje přímo elektroniku, která komutuje PMSM motory, má mnoho výstupů na pulzní nebo digitální ovládání serv, atd. komunikuje se základnou atd. Spíš není na přenos videa, to bývá mimo, případně na letovým kontrolérem PX4 je ještě nadřazený systém s GNU/Linuxem. Tak se to provozuje u nás. NuttX obsahuje i drivery a implementaci pro PMSM FOC a je tak užívaný, ale samotný PX4, pokud vím, tak se přímo na HW s integrovanou výkonovou částí nepouští. Ale na druhou stranu, sám se zatím dronům nevěnuji. Když bude zakázka, tak ale HW klidně navrhneme.

    Co se týče spolehlivosti, tak PX4 je klíčová komponenta a pokud její řízení motorů a snímání IMU a další selže, tak dron havaruje. Takže ano, NuttX je komponenta, která je v běžných nasazeních jeden ze single point of failure. Nám také na PMSM řízení chodí celkem spolehlivě. Na druhou stranu, v Elektroline se s ním nikdy na SIL3 (např puštění dvou tramvají proti sobě na jednu kolej) nepočítá, je tam lock-step CPU mimo a NuttX řeší komunikaci a další, kde maximálně dojde k zablokování křižovatky nebo poslání tramvaje na špatnou kolej, bez vykolejení, přítomnost nad výhybkou řeší ta SIL3 část zapojená do kupovaného safety PLC s certifikací.

    Takže záleží na tom, jak zlé konsekvence případná chyba bude mít. Hodně lze pokrýt i integrovaným Watchdogem v MCU, opět NuttX drivery často obsahuje. Ale v okamžiku, kdy bude důsledek chyby závažný (požár domu, ublížení pacientovi, třeba předávkování atd.) tak bych určitě samotný NuttX na jednom MCU za bezpečný nepovažoval. Stejně tak jako běžné MCU. My na infúzních pumpách měli vždy dva procesory a u těch novějších naschvál různých typů a jeden s RTOS (RTEMS) a druhý bez OS. Ale to bylo jen s požadavkem na přechod do bezpečného stavu, každý z procesorů mohl čerpání zastavit a zaručeně zajistit červený pruh rozsvícených LED a pípání.

    Pokud má být zaručená i funkce v případě jedné poruchy, tak to chce tři systémy a majoritu ze tří na certifikovaném HW. I jen technology preview helikoptérky Ingenuity, čili z pohledu NASA nekritická aplikace, mělo dva čipy TMS570LC4357, tedy dva safety MCU, každý se dvěma jádry v lock-stepu, výstupy spojené přes MicroSemi ProASIC3L FPGA (certifikované) , které při vyhodnocení chyby MCU (error pin) hlavního letového kontroléru na TMS570 přeplo na trvale připravený a datasledující záložní TMS570, který se postaral o řízené nouzové přistání. Nad tím vším byl GNU/Linux na celkem běžném ARMu (v telefonech tak před 10 lety), který se staral o kamery a další. Ale pokud selhal nebo začal dávat povely ohrožující stabilitu, tak přebíraly řízení a nouzové přistání ty TMS570.

    Takže myslím si, že NuttX pro běžné aplikace, kde hrozí finanční škody v přijatelných mezích, tak použitelný je. Za mě lépe než ty různé firemní hrůzy nad FreeRTOS. Ale zase je potřeba ověřit, jak je na tom na konkrétním HW. Na druhou stranu co jsem viděl v TI CSS s jimi dodávanou integrací LwIP (záseky, funkční až po kompletní naší předělávce a trápení se s FreeRTOS) a další, tak proti tomu je NuttX podle mě lepší. Ale nějakou SIL, i jen 1, záruku ani na vlastní HW jen s jedním MCU a NuttXem bych nedal, na tož na cizí HW. Pokdu pak běží něco složitého, kde je riziko selhání i třeba nějakých složitějších dynamických alokací, chyb práce s pamětí, tak tam by bylo dobré tu rizikovější část vlastního kódu oddělit do vlastního procesu a používat ochranu paměti. NuttX na to ně některých HW podporu má, ale používá se málo a bude tam asi dost věcí nedotažených a potíží. Další možnost je kombinovat NuttX s aplikací v Rustu. Informace o integraci Rustu a NuttXu jsou i na oficiálních stránkách s balíčky pro Rust. Hodně zajímavých článků o svých příspěvcích do NuttXu včetně Rustu lze nalézt v sekci Articles na stránce vývojáře Lup Yuen LEE.
    26.10. 15:28 PokoPi
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Zajímal by mě váš názor na Micropython(https://micropython.org/). Nemáte s ním zkušenosti? Myslíte, že kromě prototypování, může mít tenhle přístup budoucnost ( interpretr splyne s „operačním systémem“ )?
    27.10. 02:29 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: NuttX international wokshop
    Zkušenosti Micropyhtonem sám nemám. Espressif a další ho mají integrovaný. Na NuttX Micropython a i plnohodnotný Python lidé portují. Ale v jakém je to aktuálně stavu nevím. Velká výhoda je, že se portuje normálně Unix/POSIX port/integrace, takže těch věcí ke změnám by mělo být celkem málo. Plnohodnotný CPyton předpokládám, že v zásadě portovat půjde, ale paměťové požadavky a asi i požadavky na místo v RAM disku nebo na jiném souborovém úložišti budou velké. Micropython by se vcházet měl na trošku silnější MCU dobře. Pull request Micropythonu do NuttXu je k dispozici viz pull request nuttx-apps interpreters/micropython: Add Micropython support to NuttX (WIP) #840 . Čtyři body k portu jsou vyřešené, tři pro float a další zbývají.

    Obecně sám mám jako skriptovací jazyk Python rád. Ale na náročnější práci s daty musí sloužit jen jako lepidlo, které ochestruje kvalitně napsaný kód v jazyce C nebo jiném kompilovaném, ať programu, nebo modulu. NumPy je na velké výpočty díky Atlasu a dalším technologiím vespod předkvapivě konkurenceschopné i proti běžnému řešení úloh jako je násobení matic s OpenMP a MPI studenty v C.

    Na řízení by podle mě python neměl být v RT kritických částech ani na MCU ani na velkých GNU/Linux systémech. Max na nějaké desítky Hz, možná i nekriticky, kde nějaký skluz nevadí na 100 Hz. Ale sám bych na něj v takových aplikacích nespoléhal vůbec. Ale na nějakou logiku řízení domácnosti a tak si myslím, že to minimálně na prototypování může být dobrá cesta. Ale využitelný výkon to na měnších CPU určitě sníží násobně. Zcela od boku odhad tak 10x proti kvalitně napsanému C kódu. Ono možná má na výkon větši smysl webassembly, kde jsem byl celkem výsledky třeba na našem Qt simulátoru v prohlížeči překvapený. Ale na NuttXu jsem ho nezkoušel a zase tak optimistický bych také nebyl.

    Nějaká dokumentace k interpreterům dostupným z konfigurace NuttXu zde https://nuttx.apache.org/docs/latest/applications/interpreters/index.html.

    Celkem budu rád, když někdo popíše zkušenosti s Micro/pythonem na MCU a to klidně i mimo NuttX.

    Založit nové vláknoNahoru

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