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 22:44 | Komunita

    Byly zveřejněny videozáznamy a také fotogalerie z konference DevConf.cz Mini konané 2. června v Brně.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.21.0. Z novinek je zdůrazněn nový "wl_pointer high-resolution scroll event".

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Zprávu o stavu kybernetické bezpečnosti České republiky za rok 2021 (pdf). Novým ředitelem NÚKIB je Lukáš Kintr.

    Ladislav Hagara | Komentářů: 0
    včera 08:00 | Zajímavý projekt

    Společnost Mycroft AI představila Mimic 3 (YouTube). Jedná se o open source neurální engine pro převod textu na řeč (TTS) běžící rovněž offline. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0. Přispět na vývoj lze také koupí chytrého reproduktoru Mycroft Mark II.

    Ladislav Hagara | Komentářů: 3
    30.6. 23:22 | Komunita

    Organizace Software Freedom Conservancy vyzývá všechny vývojáře svobodného a open source softwaru k opuštění GitHubu. Proprietárního GitHubu vlastněného společností Microsoft, jejíž manažeři opakovaně napadají copyleftové licence a komerční Copilot je dokonce ignoruje.

    Ladislav Hagara | Komentářů: 12
    30.6. 20:33 | Nová verze

    Byla vydána verze 1.62.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ářů: 3
    30.6. 20:11 | IT novinky

    OpenGL (Wikipedie) slaví 30 let. Specifikace verze 1.0 byla vydána 30. června 1992.

    Ladislav Hagara | Komentářů: 8
    30.6. 13:00 | IT novinky

    Rodina Raspberry Pi se rozrostla o 3 nové členy Raspberry Pi Pico W, H a WH aneb jednočipový počítač Raspberry Pi Pico s Wi-Fi, Header (piny) a Wi-Fi a Header.

    Ladislav Hagara | Komentářů: 10
    30.6. 12:22 | Komunita

    Byly zveřejněny prezentace a videozáznamy přednášek z česko-slovenského setkání poskytovatelů přístupu k internetu, provozovatelů telekomunikačních sítí, registrátorů domén a provozovatelů počítačových sítí a technických nadšenců CSNOG 2022 (Czech and Slovak Network Operators Group) konaného 20. a 21. června v Brně.

    Ladislav Hagara | Komentářů: 0
    30.6. 08:00 | Nová verze

    Společnost Collabora vydala verzi 22.05 online kancelářského balíku Collabora Online Development Edition (CODE). Přehled novinek i s náhledy v oznámení. Nová je kontrola stylu a gramatiky pomocí LanguageTool. Calc umí 16 384 sloupců. Přidána byla podpora WebP. Zdrojové kódy jsou k dispozici na GitHubu. Vydání Collabora Online s podporou je plánováno na červenec.

    Ladislav Hagara | Komentářů: 0
    Jazyk uživatelského rozhraní desktopu mám nastavený na
     (50%)
     (50%)
     (0%)
    Celkem 6 hlasů
     Komentářů: 1, poslední dnes 00:16
    Rozcestník

    ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace

    22.3.2020 03:51 | Přečteno: 2099× | programování | Výběrový blog

    Embedded debuggingem - ARM, MIPS, RISC-V - se už zaobírám celkem dost let. Zde je přehled některejch užitečných nástrojů - debuggery, dekódování periferií přes SVD definice, hádání proč nastal fault. A méně známým featurám jako ITM/ETM trace.

    Jako přehled, co všechno lze udělat u debugování ARM procesorů lze najít v tomto dlouhém dokumentu. Nutno podotknout, že vznikal mnoho let, tudíž některé nástroje mají již jiný UI design (třeba zmíněný Qt Creator), ale obecně všechno co tam je, stále platí.

    Hall of fame

    Asi nejlepší nejprve zmínit užitečné nástroje, které za to stojí, většina open source (free as in code and free as in beer) nebo za rozumnou cenu:

    Hall of meh

    Zde jsou většinou drahé komerční nástroje, které až tak dobře nefungují a znova bych za ně nezaplatil. Pro pochopení následujícího odstace: ETM trace je prostře schopnost zaznamenat všechny instrukce, které byly spuštěny na procesoru. Je to součást ARM CoreSight.

    Screenshoty

    Zde zkusím ilustrovat, na co je každý tool dobrý.

    ETM trace (zaznamenání všech instrukcí mezi dvouma breakpointma, Instruction trace vlevo uprostřed):

    SystemView ukazuje, že Systick interrupt, který byl manuálně upraven na víc než 50000 cyklů, může preemptnout USB interrupt (značeno jako ISR #93), který má nižší prioritu (nastává late arriving místo tail chaining):

    Black Magic Probe

    Vector catch exceptionů lze nastavit přes "monitor vector_catch nazev_exceptions". Na rozdíl od Ozone, vector catch tady ukazuje i stack trace (Ozone udělá breakpoint na Fault handleru, tady vidíme hardfault než se dostane k handleru):
    
     target extended-remote /dev/ttyBmpGdb
    Remote debugging using /dev/ttyBmpGdb
     monitor swdp_scan
    Target voltage: unknown
    Available Targets:
    No. Att Driver
     1      STM32F40x M3/M4
     attach 1
     start
    
    

    Dekódování periferií přes SVD definice

    CLion, Ozone, Ghidra mají přímo možnost nahrát definice registrů zo SVD definice a pak je zobrazovat.

    V GDB je na to potřeba skript: How to debug a hard fault on ARM

    Příklad dekódovaní části DMA registrů:

    GDB

    CLion

    ITM a ETM trace

    ITM je instruction trace macrocell a ETM je embedded trace macrocell. Velmi zjednodušeně, s ITM si můžete samplovat s určitou frekvencí, kde se kód nachází, nebo přes SWO pin vypisovat data, na ETM je typicky potřeba 4 TRACEDATA piny a 1 TRACECLK pin procesoru. ETM by mělo jít "přesměrovat" i přes SWO pin, ale nebude kompletní proti použití TRACE pinů.

    Pulseview/Sigrok má decoder pro ITM/ETM na NRZ SWO pin, ale ne pro všechny TRACE piny. Na to je orbulucum na Lattice HX8K desce (bohužel se mi to nepovedlo nikdy rozchodit).

    Nastavování ITM a ETM je strašný opruz pokud na to nemáte nástroj. Jeden example jak to dělat je například tady. Ale když se podíváte na ten configure-trace.openocd soubor, tak buď tomu nebudete rozumět, nebo budete muset luštit v manuálech.

    ITM trace je ta jednodušší a i relativně levné nástroje ji rozumí (např. STMicro nástroje). Naproti tomu ETM trace je fakt složitá a bez profesionálních nástrojů se moc daleko nedostanete. I to orbuculum zabralo spoustu času. Na ETM trace jsou asi 3 nejznámější nástroje, Segger JTrace, Lauterbach Trace32 a Keil uLink Pro. Každý stojí tak jednu ruku. Já mám zrovna JTrace a mám problém i s jejich referenční STM32F407 doskou. Zrovna mám pocit, že jsem dostal nějaký nový model s novými featurami, ale i novými bugmi (jiní kolegové říkají, že jejich starší JTrace funguje mnohem lépe).

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    22.3.2020 10:49 Petr
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Opravdu to dnes někoho zajímá?
    22.3.2020 16:09 atalax | skóre: 2
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Nechápu. Jako že už mikrokontroléry nikdo v dnešní době neprogramuje?
    Jendа avatar 22.3.2020 18:39 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Gréta avatar 23.3.2020 13:14 Gréta | skóre: 35 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace

    noa třeba to jakože fakt myslel tak že se debuggery nepoužívaj ale nevim :O :O :D :D

    tamten vávrův slíkací doktor filozofie hele je prej teďko linuxák hele videjko 🤭 😁 😁
    23.3.2020 08:48 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Ale ano, najdou se kupodivu i lidé, kteří mají za to, že když už musejí sedět doma, věnovat se něčemu z oblasti IT bude pro jejich duševní zdraví prospěšnější než nonstop sledování ČT24 proložené hledáním informací o epidemii na webu.
    23.3.2020 11:53 _
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Ok, věnuj se nesmyslům, místo abys přispěl k řešení skutečných problémů
    Jendа avatar 23.3.2020 12:24 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Nešlo by rovnou napsat nějaké body, jak může autor/Kubeček/já přispět? Osobně aktuálně také pokračuju ve vývoji hardware s epidemií nesouvisejícího…
    Fluttershy, yay! avatar 28.3.2020 23:55 Fluttershy, yay! | skóre: 90 | blog:
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Nějaký přehled potenciálně relevantních projektů: opensource.com: 7 open hardware projects working to solve COVID-19 a další přehled.
    23.3.2020 13:05 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Problémy, jejichž řešení se věnuji, jsou pro mne dostatečně skutečné. Nemluvě o tom, že i když fyzicky také "sedím doma", logicky stále "jsem v práci", takže nepotřebuji hledat způsoby, jak "zabít nudu".
    5.4.2020 23:07 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Ok, věnuj se nesmyslům, místo abys přispěl k řešení skutečných problémů
    Ok, napiš co děláš (včetně pics or it didn't happen) a můžem se bavit, trolle...
    Josef Kufner avatar 23.3.2020 12:12 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Vypnout dnes televizi je pro zachování duševního zdraví docela důležité. Teď už se situace ustálila a jedny večerní zprávy denně bohatě stačí. Přecijen je potřeba dělat i něco užitečného a ne se jen klepat, kdy nás dostihne vir. Dobrým nápadem je navázat kontakt s ostatními tvořivými lidmi, třeba na FB je dost skupin, a nějak pomoci ostatním. Ale i udržení běžných věcí v chodu si zasluhuje pozornost.
    Hello world ! Segmentation fault (core dumped)
    Max avatar 22.3.2020 14:40 Max | skóre: 70 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Zajímavé, díky.
    Zdar Max
    Měl jsem sen ... :(
    24.3.2020 17:09 Pavel Píša | skóre: 17 | blog: logic
    Rozbalit Rozbalit vše Re: ARM debugging - Black Magic Probe, orbuculum, ITM/ETM trace
    Díky moc za hezký přehled a inspiraci.

    Co se týče doby, tak zajisté, pokud někdo dokáže zorganizovat projekt, který výrazným způsobem může pomoci se současnou situací, tak určitě má smysl zvažovat, jestli psát blog na jiné téma. Ovšem i tak je potřeba zvážit, jestli svými znalostmi v daném projektu mohu pomoci nebo spíš přispět k zmatkům a komplikacím s organizací.

    Naopak mělo a má smysl výzkum v oblasti biologie, medicíny a chemie podporovat i v době, kdy zrovna není v hledáčku zájmu tržně orientované části společnosti. Doporučuji článek Jan Konvalinky z Akademie Věd IOCB/UOCHB. S tatínkem a kolegou jsme nainvestovali velké množtví našeho umu a i sokromých peněz do projektů přístrojů, které i v této instituci pracují a zajistili a finacovali pro zpracování dat SW který je open-source CHROMuLAN, který nejdete, že používají po světě vědci i s přístroji jiných firem místo SW možná i za statisíce, který často s příchodem nových Windows je zcela nefunkční. Firma, které jsme projekty dali v licenci vyrábět, tak si na inovaci našeho hlavního projektu akorát nechala od Prahy dát dotaci 5 milionů a prohlásili, že vše vyvinuli nově a sami. Přečtěte si odpověď ředitele

    K čerpadlům využitým v AAA a podobné malému LCP5005 s výkresy PM. Naše čerpadlo je podobné, ale v principu jiné .Má jeden pohon , jiné vačky (viz přílohy). Ano koule s pístem je použita již z Mikrotechny a některé jednotlivé detaily k čerpadlu přizpůsobeny z PM .

    Všechno byl vývoj mého otce a náš, který jsme si od privatizovaných (na zboření a stavbu hotelu) Laboratorních Přístrojů Praha koupili abychom ho mohli nabídnout dále světu. Takže překlad odpovědi, jezdíme v v autu, které stálo na ulici, že je vaše, vás nemusí zajímat, je to naše práce, natřeli jsme puklice na žluto. Ještě ve skutečnosti ten pohon je ostuda, protože pořádné řízení neumějí. I přesto, že nám takto většinu projektů zničili a pokazili, tak nyní investujeme v PiKRONu do výroby desek, aby mohli další přístroje do IOCB dodat.

    Takže to je k přispívání získání znalosti potřebné pro řešení situací jako teď vznikla.

    Co se týče těch, co teď přímo aktivně pomoc přímo v řešení hlavního problému nemohou, tak především nejméně produktivní je sedět na zadku a peskovat ty, co neztratili zájem něco i nezávislého na koronaviru dělat.

    Kolega napsal blog o ARMech. Mimochodem, v těch sestavách, které možná po výběrovém řízení pro IOCB budou dodávané jsou Cortex-M3 a M4 (CPU deska). Takže třeba může návod inspirovat někoho, kdo jednou přispěje do elektroniky, která zrovna náhodou bude použitá v některém zařízení, které se bude třeba i při výzkumu vedoucímu k uzdravení nebo ochraně zdraví hodit.

    Sám v tuto chvíli nemohu ve firmě třeba nabídnout například robotickou technologii pro urychlení PCR nabídnout nemohu. Chtěl jsem otevřenou robotickou technologii do světa přinést, ale neměl jsem na PR a tak jsem jí přinesl do bývalé skupiny na FEL. Využitá byla akorát k tomu, aby "zvítězili" v robosoutěži i přes to, že se snažili udělat vše, aby to, co jsem dodal nejvíce pokazili a kolega mi zakazoval se s lidmi, kteří na tom tenkrát dělali, se bavit. I tak jsem věřil, že má smysl přes školu znalosti šířit. Nakonec potřeboval k tomu, aby vyrostl na vedoucího embedded vývoje jiné součásti se mě zbavit úplně a potvrdil mi, že nepravdivě využil fakta, k tomu abych mu nepřekážel a tak dál a vysvětlil mi, že jsem k ničemu a moje firma také a další bývalý šéf, že jsem nic nepřinesl. No nic, takže PCR, nebo pěkný systém pro manipulaci s vzorky, který jsme plánovali teď nemám a z jejich robotického vítěztví je možná několik řádek na simulaci v našem projektu, ale gro zůstávalo tajné, stejně jako informace, že motion control dostali od PiKRONu. Stejně tak jako návrh HW pro Porsche, HW pro předmět PSR (také tam zmínku o PiKRONu nenajdete) a mnoho dalšího.

    Takže se řídím tím, kde mohu v tuto chvíli nejvíc přispět, a právě nám zůstali všichni studenti odkázaní na distanční výuku. Opět, buď se můžeme ubezpečovat, že výuka přece v tuto chvíli nemá prioritu, nebo naopak ukázat, že nás ani tato překážka nezataví.a dokážeme i tak vychovat odborníky, kteří jednou budou schopní pro výzkum, lidstvo, cesty do vesmíru něco udělat. Na ČVUT se většina přiklonila k té druhé možnosti. Věříme, že má smysl do studentů investovat a něco je naučit a minimálně na FEL, kde jsem součástí dění vím, že mí kolegové vypouští krev, aby se podařilo zajistit techniku, webináře atd (jeden z pracovních dokumentů na našem výukovém Course Ware distant_teaching). Sám jsem se pokusil přispět alespoň nahráním přednášek, když je nemohu předvést studentům naživo. Protože nebyl nikdo, kdo by na zpracování měl čas, tak jsem se z vývoje ovladačů musel během jednoho týdne stát alespoň podprůměrným střihačem videa a když jsem to nějak po dvou týdnech vypětí zvládl, tak jsem se o informace podělil, aby třeba někdo další měl cestu jednodušší.

    Takže vyčítavé reakce na to, že někdo dělá neco, co si sám stále myslí, že má cenu mě nezajímají a chci podpořit ty, co mají zájem a podržet je před lidmi, kteří akorát umí brát ne jen radost z tvorby, ale i celá díla a projekty a dotáhnout je často do zkázy a zapomnění.

    Založit nové vláknoNahoru

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