Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Jiri Dobry

Stran: 1 ... 12 13 [14] 15 16
196
Odkladiště / Re:Vaše největší přehmaty?
« kdy: 08. 10. 2018, 11:10:51 »
Jedna humorna: Nastavovat firewall na dalku a tim odstrihnout sam sebe od aministracniho rozhrani se uz urcite stalo vetsine ctenaru ROOTa. No a me se to povedlo po vzdalenem pripojeni. Hodne vzdalenem, ten stroj byl na Novem Zelandu. Byla "sranda" to pak s casovym posunem resit po telefonu.

197
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 17. 08. 2018, 16:20:09 »
Btw jaký používáte logický analyzátor? My jsme si velmi oblíbili Saleae Logic Pro 16.
DSLogic Plus (16bit a az 400MHz) jako nejcastejsi zakladni nastroj. Jinak na hrani doma 8bit saleae (ten prvni bez bufferu a kaslat na ten jejich SW, sigrok PulseView je lepsi)
A kdyz jde do tuheho, tak profi osciloskop s 4 analogy a 16 log kanaly, obcas je totiz problem v analogovych parametrech jako uroven, strmost, preslechy, je mozne zmerit diferencialni signal atd. Ten ma proti hrackam do USB radove vyssi samplerate.

198
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 17. 08. 2018, 13:32:57 »
A jeste jednu vec ohledne moznosti psat ASM rucne jsem zapomel.
Se strojovym kompilatorem je mozne provadet kouzla typu Link Time Optimization (LTO). Totez dokazat rucne u vetsiho projektu je v podstate na hranici mozneho.

199
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 16. 08. 2018, 17:26:14 »
Ad1) Tak ako v inych odboroch, tak aj embedded vyvojar ma specializaciu, a je ich urcite hodne... Pri dnesnej komplikovanosti procesorov (akejkolvek architektury), je takmer nemozne pokryt (casovo/vedomostne) vsetky mozne periferie/sposoby. Proste, niekto je zamerany viac na SW vyvoj v embedded, niekto viac na HW..

Ad2) Za 8 rokov praxe nepoznam nikoho kto by sam pokryl nejaky cpu.. mozno tak CortexM0/+ .. pozrite si M4 s DSP alebo M7.. to o A-ckovych/R-kovych ani nehovorim...
MCU, ktery ted pouzivame ma pres 20tis stran dokumentace (appnotes nepocitam). Jen popis jadra je nekolik tisic, dalsi tisice periferie.
To vazne do hlavy uz nikdo nenacpe.
Ad3) V 99,5% percentach kodu ktore sme robili, sme pouzivali ciste C.. ma to vela vyhod, napr staticka analyza kodu, unit testy, dokaze sa robit review testu, kodu... zvysnich 0,5% kodu boli optimalizovane ASM sekcie, ale kazda sekcia sa testovala predtym nez sa pouzila... a ajtak sa nasli po rokoch chyby...
Dnes ma procesor bezne 128/256/512/1024/2048/4096 kb Flasky, alebo obsahuje SD/RAM controller... Tak naco stracat drahocenny cas optimalizaciou niecoho co vo vacsine pripadou nieje ani treba...

Ad3a) V jednej jedinej aplikacii som videl vacsie pouzitie asm.. a to pre automotive motor control.. aj to len pre safety a fastloop (niektore vypocty vo FRAC aritmetike).. inac 95% kodu bolo v C...
No prave. Vetsinou to neni treba. V nasem aktualnim projektu je to 99% C, 1% ASM. Vime jak je tezke ten drobek ASM testovat a udrzovat, ale prepsat do C to nejde.
Napriklad ten atan2 byl ve smycce 40us opakovani a nebyl tam sam. Naroky na rizeni se stale zvysuji jak roste rychlost vykonovych prvku kvuli tlaku na zmensovani, zvysovani efektivity atd.
Ad4) Na "trhu" je mnozstvo RTOS (https://www.osrtos.com/) takze pisat si svoj vlastny RTOS je vhodny leda tak na prehlbenie znalosti, inac je to strata casu... FreeRTOS je de-facto standard pre male MCU, a to pre vhodnu licenciu, jednoduchu portaciu, pekny memory model a dobru dokumentacku.. a ked nieco nejde tak si firma kupit ten zaklad co predava... support...
Pro napsani vlastniho RTOS byly technicke duvody, ktere nemuzu rozebirat (NDA). Z free veci nevyhovovalo nic, takze jsme meli vyrizeny nakup RTOS v radu milionu + dalsi milony rocniho maintainance. A pak stopka z technickych duvodu a resilo se jesli si nechat udelat upravu existujiciho reseni dodavatelem nebo jit vlastni cestou.
Ad5) v CR/AT/DE je dost embedded firiem ktore vedia dobre zaplatit (sam v jednej robim :)). Praca ma bavi, je zaujimava a clovek niekedy dostava takmer infarkt ked debbuguje dosku, pri tom cita schemu, a ma otvoreny RM.
Je to nieco medzi sadizmom, pozitkom, flustraciou a vnutornou vyzvou.

Osobne, embedded svet je velmi zaujimavy, urcite nieje fadny a nudny, komplikovanost je ale velmi vysoka takze to neni pre kazdeho.. Ale zasa, niekedy sa clovek vie pekne vysantit :)
Drzim palce. ::)
Na stole mam 3 velke monitory a ani tak se to na ne nechce vejit. :-) IDE, hromada otevrenych datasheetu a schemat a par dalsich veci jako logicky analyzator a hned jsou 3 monitory malo. :-)

200
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 16. 08. 2018, 16:17:40 »
Máte samozřejmě pravdu, chtěl jsem jen ilustrovat, že ASM už není zase tak potřebný, pokud nejde o nějakou specialitu. Většina kódu může být napsaná ve vyšším jazyce a jen kritické části se občas optimalizují ručně. Dnešní překladače jsou kvalitní a vyrovnat se jim není v běžném případě vůbec lehké.
Tak to souhlas. Rucni ASM ma vyznam jen na specielni pripady jenze ty se ve svete emmbeded vyskytuji v nenulovem poctu.
Assembler pro male procesory clovek jeste v pohode zvada. Ale to jde tak do urovne ARM Cortex-M. Jenze pak nastupuji jadra, krera maji dlouhou pipeline a schopnost vykonani vice intrukci najednou (ARM Cortex-R nebo Cortex-A a jine) a tam uz je pri rucnim kodovani tezke az nemozne vyhrat nad kompilatorem. Jeho schopnost seradit instrukce tak, ze dela vlastne nekolik veci najednou aby pokud mozno zadna instukce nemusela cekat na predchzejici vysledek to je kolikrat na palici i jen to precist.
Ale hlavni duvod vyssiho jazyka je stejne udrzovatelnost kodu. Takze za me rucni ASM jen kdyz je k tomu nejaky zatracene dobry duvod.

201
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 16. 08. 2018, 14:40:09 »
CMSIS to umí (ale jmenuje se to stejně podle té instrukce :) https://www.keil.com/pack/doc/cmsis/Core/html/group__intrinsic__SIMD__gr.html

A DSP funkcí je taky spoustu připravených: https://www.keil.com/pack/doc/CMSIS/DSP/html/modules.html
Ten priklad s QADD8 byl nevhodny. Lepsi priklad je QADD s vyuzitim Q flagu ve status registru.
Mimochodem CMSIS funkci atan2 neobsahuje.

202
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 16. 08. 2018, 11:20:47 »
Na PC už jsem assembler dlouho nepotřeboval, většina x86 instrukcí má nějaký intrinsic v GCC. Bez podobně vybaveného překladače pro ARM bych nedělal, ani kdyby mě platily zlatem. Mimochodem ta intrukce QADDB8 má intrinsic unsigned int __qadd8(unsigned int val1, unsigned int val2), viz http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491f/CHDECGJB.html . Stačil jeden dotaz do Google.
No dobre, QADD8 nebyl nejlepsi priklad. Lepsi je LDREX/STREX, kde uz to tak snadne neni. Nebo QADD, kdyz je zaroven nutne testovat vysledny Q flag stavoveho registru.

Pokud aplikace potřebuje FP výpočty, ať to dělá CPU. Pokud business model neumožňujr CPU s FPU, tak bych se mohl na takovou lowcost práci vybodnout.
Pouzity procesor ma FPU jednotku. Jenze tohle byl hotspot v kodu, knihovni funkce potrebuje pres 200 tiku, optimalizovana pro DSP zapsana v C 45-120 podle vstupnich dat a totez optimalizovane rucne v ASM 60-63 tiku. Takova tresnicka na dortu. Proste jsem si to vychutnal, tohle clovek nedela kazdy den, ale v real time aplikaci je nutne mit v tymu nekoho, kdo to dokaze, to byla ta pointa.

203
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 15. 08. 2018, 16:20:00 »
A ten RTOS taky musí někdo napsat...
Myslíš ten primitivní scheduler co přepíná tasky? To ti napíšu za odpoledne.
Hmmm, pán je expert a už toho má ve skutečných embedded projektech evidentně hodně za sebou.
Presne. Napsat preemtivni prepinani tasku je sranda. Jenze pak nastoupi nutnost posilat mezi tasky data, nutnost znat presne maximalni delku vypnuti interruptu ve vnitrnich kritickych sekcich kvuli zaruceni doby odezvy a to je stale jen miminko a do dospeleho RTOS priserne daleko.
Jeden RTOS mam za sebou. Cca 1 den overeni konceptu. 14 dni aby bylo co predvest a obhajit proc je ten koncept lepsi nez reseni zvazovane k nakupu. A dukaz, ze to "dokazeme udelat" pred managementem. A pak 3 roky do prvniho nasazeni naosto v zarizeni s vlivem na bezpecnost.
Pro predstavu se doporucuji podivat na seL4 mikrojadro a tu matematiku kolem. Pak se podivat na matematiku dokazovani ze to procesor stihne v jinem, nez rate-monotonic planovaci (pro ten je to jednoduche viz dukaz Liu&Layland 1973) napriklad fesibility testy u earliest-deadline-first.

204
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 14. 08. 2018, 14:50:52 »
programy jsou o 10 řádů jednodušší.
To uz davno ne. Stovky tisic radku jsou uplne bezne i na mikrokontrolerech (externi knihovny a standartni knihovny prekladace nepocitam, dokonce ani generovane datove soubory). Pro porovnani Linux jadro ma neco pres 25M radek a je jednim z nejvetsich samostatnych projektu na svete.

205
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 14. 08. 2018, 13:08:15 »
Proto říkám, že to je náročnější práce než kódění v Javě. Člověk musí být jak elektronik, tak softwarář, izolovaně se to nedá dělat. U návrhu HW člověk musí přemýšlet, jak se to pak bude SW obsluhovat, programátor by měl chápat, proč je HW udělaný tak jak je a využívat toho. Běžnou součástí vybavení pracoviště embedded programátora je i mikropáječka, osciloskop a logická sonda, debugování je o dva řády složitější než v Javě a o řád než systémařina na PC. Často se dělá s čistě proprietárními věcmi, různorodost platforem je podstatně vyšší, je třeba sestudovat víc materiálů, než se do něčeho člověk pustí. Často je třeba uvažovat o omezeních, o kterých se na PC a vyšších platformách dávno neuvažuje, jako limitace pamětí, rychlostí procesoru apod.

Mně osobně to vyhovuje víc, není sice třeba znát monády a podobné výdobytky, ale člověk by měl mít cit pro to, jak se asi co přeloží do strojáku, kolik to zabere bajtů, kolik taktů atp. Ale embedář musí být buď softwarář, který se naučil i elektroniku, nebo elektrotechnik, který se naučil softwarařinu - jak kdo chce. Bez těch přesahů to zkrátka nejde.
Proto me prekvapuje, ze to neni placene na urovni jinych IT specializaci. Realita 2018 je takova, ze lepici na foru od IoT resi jak do 6B dat nacpat napriklad 4 teplomery a mezitim stihnou probrat co je HEX kodovani. Bezny absolvent IT oboru netusi co je pointer, odkojeny Javou zna jen referenci. A chtit po nekom jaky dopad ma datova cache procesu, kdyz cerstve zapsana data musim prohnat DMA kanalem, to uz je uplne sci-fi.
A neni to jen u nas. V takovem Nemecku jsou platy o neco vys, ale relativne napriklad k Javarum je to podobne.

206
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 14. 08. 2018, 12:56:53 »
A stran těch znalostí - embedded není IT, to je spíš elektronika.
Elektronik nenaprogramuje složitější embedded aplikaci. Je potřeba přesah do sw inženýrství.
Souhlas. Embedded elektronika muze by cokoli od pidiprocesoru ridiciho "blikajici svetelko", pres IoT, kde uz jsou napriklad komunikacni protokoly dost vysoke urovne az po systemy ve kterych neni zabudovany Linux ani videt jak velike je to blokove schema. A jeste k tomu je tu uplatneni pro lidi, kteri dokazi napriklad propojit mobilni aplikaci pres cloud a na druhe strane zemekoule zablikat svetylkem (takze musi znat od vseho kousek)
Dnesni emmbeded to je klidne 1/2 mega radek kodu jen v tom embedded zarizeni.

207
O necem bych vedel. V Plzni, ale s moznym pracovistem v Praze.

208
Studium a uplatnění / Re:Embedded systémy a microcontrollers
« kdy: 13. 08. 2018, 16:22:55 »
Čemu říkáš "naprostá rutina za pár šupů"?
V Cechach radove 35-70 (az nejake ty vyjimky). Navic je k tomu nutne znat spoustu veci mimo obor, minimalne jak cist schemata nebo vedet co je hard-real-time (a proc v nem napriklad vicemene ignorovat navrhove vzory jak se pouzivaji napriklad v Jave)
O par dobrych mistech bych vedel, ale zlaty dul je nutne hledat jinde.

209
/dev/null / Re:Proč ateisté nepoužívají logiku ?
« kdy: 12. 08. 2018, 15:45:22 »
Marxismus je zlo v čisté formě. Absolutní popření křesťanské etiky, takže se tím stává i blbostí, která nemůže fungovat a taky nefunguje, jak bylo za posledních 200 let mnohokrát experimentálně prokázáno.
Bezva, vypadla z tebe hypoteza! Je kazde popreni krestanske etiky marxismus?
Pokud ano, pak jsou napriklad (nejen) muslimove zaroven marxiste coz je zjevna pitomost. Pokud ne, nemuzes pouzivat zaklinadlo "marxismus" nebo "marxista" proti kazdemu, komu je krestanska nebo jakakoli nabozenska etika ukradena.

210
/dev/null / Re:Proč ateisté nepoužívají logiku ?
« kdy: 12. 08. 2018, 15:25:56 »
Freud byl marxista, nemá smysl se jím zabývat, jsou to dávno vyvrácené bludy.
To tvoje zaklinani marxismem je vazne posedlost (co to podle tebe vubec je, krome toho ze je to univerzalni strasak?).
Uprimne Freud ma s Marxem velmi malo spolecneho, ale predevsim ani jeden z nich nema zarucene nic spolecneho s trestem za neoplodneni manzelky bratra v Gen 34:10. Tak proc to sem tahas?

Stran: 1 ... 12 13 [14] 15 16