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 00:33 | IT novinky

Josef Průša představil na Maker Faire v New Yorku svou novou 3D tiskárnu Original Prusa i3 MK3. Z novinek (YouTube) lze zdůraznit senzor filamentu, výměnnou magnetickou podložku, rychlejší tisk nebo rozpoznání uskočené vrstvy, výpadku napájení a výpadku filamentu (YouTube).

Ladislav Hagara | Komentářů: 2
včera 17:22 | Komunita

Martin Flöser představil na svém blogu projekt XFree KWin. Cílem projektu je rozběhnout správce oken KWin na Waylandu bez XWaylandu [reddit].

Ladislav Hagara | Komentářů: 2
včera 16:55 | Komunita

Do pátku 29. září probíhá v Praze v hotelu Hilton konference SUSECON 2017 pořádaná společností SUSE. Dění na konferenci lze sledovat na Twitteru. Nils Brauckmann, CEO společnosti SUSE, vítá účastníky konference na YouTube.

Ladislav Hagara | Komentářů: 1
včera 07:00 | Komunita

Příspěvek na blogu společnosti Yubico informuje o začlenění podpory bezpečnostních klíčů FIDO U2F do Firefoxu Nightly. Dosud bylo možné dvoufázové ověření pomocí FIDO U2F ve Firefoxu zajistit pouze pomocí doplňku.

Ladislav Hagara | Komentářů: 3
včera 06:00 | Humor

Adobe PSIRT (Adobe Product Security Incident Response Team) neúmyslně zveřejnil (archive) na svém blogu svůj soukromý OpenPGP klíč. Klíč byl revokován a vygenerován nový. Nelze nezmínit xkcd 1553 - Veřejný klíč.

Ladislav Hagara | Komentářů: 1
24.9. 20:00 | Nová verze

Byla vydána (cgit) verze 0.99 svobodného nelineárního video editoru Pitivi. Jedná se o release candidate verze 1.0. Přehled úkolů, které je nutno ještě dodělat, na Phabricatoru. Pitivi je k dispozici také ve formátu Flatpak.

Ladislav Hagara | Komentářů: 0
24.9. 17:11 | Komunita

Microsoft s Canonicalem představili linuxové jádro Ubuntu optimalizováno pro cloudové služby Microsoft Azure (linux-azure). Jako výchozí je toto menší a výkonnější jádro použito již v Ubuntu Cloud Images for Ubuntu 16.04 LTS. Canonical zatím nenabízí patchování tohoto jádra za běhu systému (Canonical Livepatch Service).

Ladislav Hagara | Komentářů: 1
24.9. 14:55 | Komunita

Facebook oznámil, že přelicencuje open source projekty React, Jest, Flow a Immutable.js ze své vlastní kontroverzní licence BSD+Patents na licenci MIT. Stane se tak tento týden s vydáním Reactu 16. Jedním z důvodů přelicencování bylo oznámení nadace Apache, že software pod Facebook BSD+Patents licencí nesmí být součástí produktů pod touto nadací [Hacker News].

Ladislav Hagara | Komentářů: 0
23.9. 21:44 | Nová verze

Po půl roce od vydání verze 9.0 byla vydána verze 10.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
22.9. 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 575 hlasů
 Komentářů: 23, poslední 24.9. 18:12
    Rozcestník

    Dotaz: Programování hardware

    8.11.2003 11:21 Petr
    Programování hardware
    Přečteno: 682×
    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: 67
    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.