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

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 5
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 2
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 580 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: Programování hardware

    8.11.2003 11:21 Petr
    Programování hardware
    Přečteno: 863×
    Zdravím
    Chtěl bych se zeptat, jestli někdo nenarazil na nějaký článek, nebo publikaci (pokuď možno česky psanou), která by vysvětlovala, jak programovat hardware (jazykem C ) - upřestním: To že se s různým hardware komunikuje pomocí tzv. speciálních souborů je vcelku jasné (např: /dev/dsp - zvukovka) - mě by zajímalo, jak tato komunikace probíhá.
    Jak zjistím, u určitého spec. souboru (/dev/*)(např.: ttyS0 - port 0x3F8), který modul ho má nastarost a naopak (jaký soubor "ukazuje" na port 0x70 - kde by měl bý CMOS) (pokud není obsluha v jádřě).
    Jak se nastavují ruzné registry portu(např v dosu-pascal: port[0x3f8+4]=1; {nahozeni RTS} - jak to udelat v C v Linuxu (UNIX)).
    Jak funguje přerušení a jeho obsluha.
    Jak probíhá komunikace mezi programem - modulem a modulem - hardwarem. a podobně.
    Předem díky za každou odpověď.

    Odpovědi

    8.11.2003 15:39 Lubos
    Rozbalit Rozbalit vše Prog. hardware
    Kniha:: Linux programuje profesionalne. www.vltava.cz a INTERNET
    9.11.2003 09:13 Petr
    Rozbalit Rozbalit vše Prog. hardware
    To ze je na internetu skoro vsechno, to je celkem jasny. Horsi je to najit, a kdyz to najdes, tak abys tomu vubec rozumel. Rosipanou rejsi pouze jim. Co se tyce teto publikace, uz jsem se na ni dival, ale asi ctvrtina knihy se blizi tomu, co bych chtel vedet, takze vuci cene knihy bych vyhodil pres pet stovek jen tak do vzduchu a na to opravdu nemam.
    9.11.2003 17:16 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše Prog. hardware
    Ahoj,
    Mno, v C se hardware programuje uplne stejne jako v jakemkoliv jinem jazyce, posilanim/prijimanim dat ze zarizeni. Nejlepsi bude vzit si nejaky manual k Ccku, prip. Advance Linux Programing.

    Co se linuxu tyce, rozdil mezi linuxem a dosem je v kompletni zmene chapani celeho systemu, asi tak, jako rozdil mezi programovanim procesoru z celniho panelu procesoru versus psanim programu v pascalu. Pokud umis treba pascal, muzes psat program pro komunikaci s nejakym zarizenim primo ctenim/psanim na porty. Tento program ale pobezi pouze rootovi. Proto jsou zde specialni soubory, jejich komunikace s okolim je snad jasna. Ktery soubor prisulsi kteremu modulu je psano treba v dokumentaci k jadru.

    Tve priklady jsou z pohledu UN*Xu naprosto irelevantni: nejake 0x378 zna tak akorat pouze PCcko. Na jakekoliv jine architekture to bude jinak, proto se z userspace s porty nesetkas :-). Tedy v konkretnim pripade, jestli dato pujde na 0x378 nebo treba nekam do PCI serioveho radice (nebo na jine architekture treba poplavou data po DMA kanalech...) vi akorat ovladac seroveho portu.

    Nahazovani ruznych registru lze udelat z ovladace nejakeho zarizeni v jadre. At uz porty, nebo PCI. Priklad z RTS nechapu: na co je to dobre? Pokud chces posilat data na standardni port, pouzijes jaderny ovladac. Pokud potrebujes jinou praci s portem, budes si muset napsat neco podobneho (tedy ovladac do jadra).

    Komunikace mezi /dev souborem a HW pomoci ovladace, do neho se dostanou tak, ze data ze souboru zachyti jadro systemu a to pozna podle tabulky cisel komu ho ma dat.

    Preruseni funguje tak, jak by clovek ocekaval ze ma fungovat. Tabulku preruseni obsluhuje jadro, preruseni oblsuhuje jadro a jeho ovladace. Z toho plyne, neocekavej nejake int 33h apodobne vylomeniny :-) Userspace toto prakticky nikdy nepouzije. Napr. mys se tedy resi pomoci knihoven a opet zarizeni, ne pomoci preruseni.

    Programovani hardwaru z userpsace sice trosicku mozne je, nicmene treba sahani na tabulku preruseni je v UN*Xech barbarstvi. Zapisy na port nejak mozne jsou (pod rootem) nicmene pokud bude port ovladat i jaderny ovladac neni jiste jak se to bude chovat. Tot asi vse, ve skratce se da rict ze na hardcore asm z dob dosu muzes bud rychle zapomenout, nebo nastudovat zdrojaky jadra a uplatnit zkusenosti tam. Je to proste trosicku jiny svet kteremu se musis nejak prizpusobit :-). Hodne stesti.
    -djz

    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    9.11.2003 18:01 Petr
    Rozbalit Rozbalit vše Prog. hardware
    Diky za odpoved, ale tohle vsechno jsem vicemene tusil, jenom jsem to mozna blbe napsal. Nerikam ze tvuj prispevek neni pekny, ale z meho pohledu uplne na nic - jsem tam kde jsem byl pred tim a porad nevim, jak presne to funguje, abych mohl implementovat programy (a moduly) pro (i svuj) hardware. (
    9.11.2003 18:58 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše Prog. hardware
    Aha, tak v tom pripade je to tezke, alespon z meho uhlu, kdyz vlastne nevim, co poradne vlastne chces. Abys vedel, jak naimplementovat (programy asi ne, viz. vyse...) moduly, tak zdrojaky jadra, pripadne dokumentace k nemu. Nic vice nepotrebujes. Vzhledem k tomu, ze byva dobrym zvykem cas od casu s novym jadrem hodne veci menit, asi nejakou tistenou knihu a navic v cestine nenajdes. Nicmene zdrojaky k jadru mas i v distribuci, tam najdes vse co potrebujes.
    Nekde jsem cetl vetu: "Nachystej si hodne hrnku kafe, obrn se hrosi kuzi, nenech se odradit a vzhuru do toho :-)"
    -djz
    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    Josef Kufner avatar 9.11.2003 19:42 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Prog. hardware
    v knizce Linux – zaciname programovat, je docela pouzitelne popsano psani ovladacu. Doporucuju si tu knizku spis nekde pucit, nez ji kupovat. Je to rozepsany asi na 80 strankach (celkem jich je cca 800). A naucit se to z toho a udelat si vypisky :) (moc jich nebude).
    Hello world ! Segmentation fault (core dumped)
    11.11.2003 13:36 Petr
    Rozbalit Rozbalit vše Prog. hardware
    Diky za typ, zkusim se na to mrknout.
    16.11.2003 20:58 Beda
    Rozbalit Rozbalit vše Programování hardware
    jeste jednoduseji: man termios teda pro to seriove rozhranni. (a mozna i paralelni) to je ta naprosto idealni vrstva nad hardwarem, pod kterou uz vazne softwarak nema strkat nos.
    16.11.2003 21:03 Beda
    Rozbalit Rozbalit vše Programování hardware
    a jestli mas svuj hardware a mermomoci mu chces udelat vlastni zarizeni, prestoze jde o periferii na seriovem nebo paralelnim portu, tak napis modul do jadra. ps: necekej, ze se dostane do mainstreamu, pokud nedela neco opravdu dulezityho, co by tu cinnost pasovalo na jadernou stranu cary.
    16.11.2003 21:07 Beda
    Rozbalit Rozbalit vše Programování hardware
    koukni na to. verim, ze dost z toho plati i pro /dev/lp* zarizeni

    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.