Javascriptová knihovna jQuery (Wikipedie) oslavila 20. narozeniny, John Resig ji představil v lednu 2006 na newyorském BarCampu. Při této příležitosti byla vydána nová major verze 4.0.0.
Singularity je rootkit ve formě jaderného modulu (Linux Kernel Module), s otevřeným zdrojovým kódem dostupným pod licencí MIT. Tento rootkit je určený pro moderní linuxová jádra 6.x a poskytuje své 'komplexní skryté funkce' prostřednictvím hookingu systémových volání pomocí ftrace. Pro nadšence je k dispozici podrobnější popis rootkitu na blogu autora, případně v článku na LWN.net. Projekt je zamýšlen jako pomůcka pro bezpečnostní experty a výzkumníky, takže instalujte pouze na vlastní nebezpečí a raději pouze do vlastních strojů 😉.
Iconify je seznam a galerie kolekcí vektorových open-source ikon, ke stažení je přes 275000 ikon z více jak dvou set sad. Tento rovněž open-source projekt dává vývojářům k dispozici i API pro snadnou integraci svobodných ikon do jejich projektů.
Dle plánu certifikační autorita Let's Encrypt nově vydává také certifikáty s šestidenní platností (160 hodin) s možností vystavit je na IP adresu.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.
Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.
Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.
Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny
… více »D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Pod pojmem jednočipový mikropočítač se obvykle rozumí součástka (integrovaný obvod, brouk), která obsahuje téměř všechny obvody nutné pro samostatný běh interního programu. Jednočipový mikropočítač tedy obsahuje procesor, paměť a vstupně-výstupní obvody. Jednočipových mikropočítačů je na trhu celá škála. Liší se zejména taktovací frekvencí, architekturou, velikostí paměti RAM, velikostí paměti FLASH (pro uložení kódu programu), velikostí paměti EEPROM (nemusí být vůbec žádná), vybavením různými periferiemi (čítače, časovače, AD převodníky, komparátory, sériový port, atd.), spotřebou proudu a dalšími parametry.
Smysl jednočipových mikropočítačů spočívá v ovládání jednoduchých věcí, uživatelský interface představuje nejčastěji zkratování nožiček či rozsvícení LEDky, takže jejich parametry mohou být nesrovnatelně horší než u stolních počítačů. Ale neopovrhujte jimi - jejich výhodami jsou nízká cena, jednoduchost a nízká spotřeba.
Jednočipové mikropočítače vyrábí mnoho firem, z nichž nejznámnější (nikoliv jediné) jsou čipy Atmel a PIC. Vyznavači jednotlivých firem mezi sebou neustále vedou nekonečné hádky, které jednočipy jsou lepší, které se lépe programují, které lépe chutnají či hoří a vůbec. Doufám, že nikoho neurazím, když se v tomto článku budu věnovat čipům firmy Atmel.
I od firmy Atmel pochází mnoho typů obvodů, jejichž zevrubný popis by byl velmi zdlouhavý. Soustředím se pouze na to, s čím mám praktické zkušenosti, a to jsou obvody
Obvod AT89C2051 lze zakoupit za necelých 50 Kč a dostanete za to procesor s CISC architekturou pracující až do frekvence 24 MHZ, 2KB FLASH (tam se zapisuje kód programu), 128 bytů RAM, sériový port, 15 vstupně-výstupních pinů a dva šestnáctibitové čítače/časovače. Zpracování jedné instrukce trvá nejméně šest hodinových tiků.
Obvod AT90S2313 stojí trochu víc, asi 70 Kč a procesor pracuje do 10 MHz. Patří do řady, kterou výrobce označuje jako AVR. Je to architektura RISC a zpracování instrukce trvá většinou pouze jeden tik, takže procesor je ve výsledku výrazně rychlejší, než dříve zmíněný AT89C2051. Čip dále obsahuje 2KB FLASH, 128 bytů EEPROM, 128 bytů RAM, a jeden osmibitový a jeden šestnáctibitový čítač/časovač. V počtu IO pinů, RS 232 rozhraní (sériový port) a komparátoru se čipy neliší. Za tu dvacku navíc však získáte obrovskou, opakuji OBROVSKOU výhodu - pro přeprogramování čipu nepotřebujete žádný zvláštní obvod (programátor), a navíc jej můžete přeprogramovat přímo za běhu. Nemusíte jej kvůli změně programu ani vytahovat z patice.
Pro oba čipy platí, že jestliže pouze připojíte napájecí zdroj, nebude se navenek vůbec nic dít, protože nejsou připojeny žádné výstupní periferie. Ba dokonce se nebude nic dít ani uvnitř, a to z toho důvodu, že čip neobsahuje žádný zdroj hodin (clock), taktů čili tiků, takže neprovádí instrukce. Nicméně pro hodiny má vyveden vstup - XTAL1 (pin č.5). Uzemníte-li drátkem tento vstup a pak ho naopak připojíte na +5V a pak ho zase uzemníte a tak pořád dokola, začnou se líně vykonavát instrukce. To je sice postup možný, ale velmi nepraktický, proto je vhodnější tuto práci svěřit krystalu. Krystal se připojuje na vývody XTAL1 a XTAL2 a každý vývod se ještě přes kondenzátor o kapacitě cca 30pF spojí se zemí. Schéma tedy vypadá následovně:

Krystal můžete připojit jakýkoli až do maximální frekvence, kterou zvládá čip. Pro čip AT90S2313 vřele doporučuji použít krystal o frekvenci 9.216 MHz, protože tuto frekvenci lze celočíselně vydělit tak, že dostanete pro sériový port některou ze standardních přenosových rychlostí. Ale o sériovém portu až příště. Ještě jedna poznámka ke krystalu - připlaťte si desetikačku a kupte si přesnější variantu. Vyplatí se to, až třeba budete programovat hodiny reálného času.
Takže teď už program v jednočipu běží. Jaký program? Ten, co tam zrovna je. Cílem tohoto článku je ukázat způsob, jak právě váš program nasypat do jednočipu.
Zdroják pro program se píše na klasickém počítači, tam se i kompiluje a binárka se poté přelije do jednočipu.
Výsledkem kompilace je buď přimo binárka nebo soubor ve formátu Intel HEX. Intel HEX je v podstatě taky zápis binárky, ale pomocí ASCII hexadecimálně zapsaných hodnot a ještě čehosi, ale zkrátka je to textový soubor. Smysl jeho existence jsem nepochopil, ale tento formát už v oblasti jednočipů patří ke koloritu. Naštěstí je možné jej zkonvertovat do binárky pomocí programu makebin případně hex2bin.
Výslednou binárku je potřeba nějakým způsobem dostat do jednočipu. K programování obvodu AT89C2051 je potřeba za několik set až tisíc korun zakoupit tzv. programátor. Při každé změně kódu je nutné vytáhnout čip, zasunout do patice programátoru, nalít nový program, a opět čip přemístit zpátky. Komunikační protokol pro ovládání daného typu programátoru navíc bývá proprietární záležitost.
Anebo si kupte AT90S2313, který je o chlup dražší, ale je s ním podstatně veselejší práce. Ještě poslední zmínku o řadě AT89 - abych jen nezatracoval - existuje ještě AT89C4051, který má dvakrát tolik paměti pro program (4KB) a stojí asi 60 Kč. V dalším popisu se budu věnovat pouze AT90S2313.
Teď přijde na řadu "programátor". Využijeme zde paralelního portu, jehož piny připojte na piny jednočipu podle této tabulky:
| piny jednočipu | piny paralelního portu |
|---|---|
| SCK (19) | Strobe (1) |
| MISO (18) | Busy (11) |
| MOSI (17) | D0 (2) |
| Reset (1) | Init (16) |
| GND (10) | GND (18) |
V závorce je uvedeno číslo pinu. K přeprogramování tedy potřebujete pět drátků a konektor (samec) do paralelního portu. K čipu musí být připojeno napájení a krystal (přes ty dva cca 30pF kondenzátory, jak je popsáno výše). Takže celkové schéma bude vypadat následovně:
Krása hotového obvodu vás jistě donutí k slzám:

Budete tedy potřebovat následující součástky:
V seznamu součástek jsem zmínil nepájivé kontaktní pole, které se může zdát zbytečné, ale rozhodně si ho za nekřesťanských 150 Kč kupte. Připravte se na to, že v obvodu budete každou chvíli provádět nějakou změnu a neustálé pájení drátků by vás brzy dokonale znechutilo. Jestliže nemáte napájecí zdroj 3-5 V, kupte si obvod LM78L05 (což je napěťový stabilizátor na 5 V) a vykšeftujte ve vietnamské tržnici libovolný adaptér, k němu si kupte konektor coby protikus, hasící přístroj a zapojte takto:

Pro jistotu uvádím rozmístění vývodů u obvodu LM78L05:

Na nepájivém kontaktním poli to může vyhlížet třeba takhle (omlouvám se, na fotce je omylem trochu jiný kondenzátor):

Až se vám vše podaří pospojovat dohromady, podívejte se na stránku projektu AVR Cross Development Kit, který se zabývá programováním jednočipů AVR a stáhněte si a nainstalujte alespoň tyto balíčky:
Dále zkuste napsat
uisp -dlpt=/dev/parport0 -dprog=dapa -v=4
|
a jednočip by se měl takto nadetekovat:
Reset inactive time (t_reset) 1000 us
|
Pokud místo toho dostanete hlášku
Reset inactive time (t_reset) 1000 us
|
něco je špatně se zapojením. Toho Segmentation fault si
nevšímejte. Jestliže příkaz vyplivne nějakou jinou chybu,
zkotrolujte práva na /dev/parport0 a také to, jestli máte
k dispozici moduly pro paralelní port:
Pokud se obvod způsobně ohlásí, máte protentokrát vyhráno. Příkazem
uisp -dlpt=/dev/parport0 -dprog=dapa --erase
|
můžete kód v čipu smazat. Smazání čipu znamená nastavení všech bitů na jedničku. O tom, že jsou v čipu samé jedničky, se lze přesvědčit takto:
uisp -dlpt=/dev/parport0 -dprog=dapa --download
|
Příkaz by měl vypsat obsah paměti čipu na standardní výstup. Je to bohužel v Intel HEX formátu. Uvidíte, že každý řádek má jakousi hlavičku, po které následují data, a na konci každého řádku je zase cosi. Popis formátu je uveden například zde, kdyby to snad někoho zajímalo. Z výpisu lze však vytušit, že čip je opravdu prázdný a obsahuje samé FF.
Prozatím nebyl výsledek snažení nijak závratný, ale příště bude řeč o vytvoření fungujícího kódu. Jestli to myslíte s programováním jednočipů vážně a zrovna se chystáte do obchodu na nákup součástek, připište si do seznamu ještě
Běžte si to všechno koupit a možná se příště dozvíte, co s tím 
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Jestli si najdu čas a redakce bude mít zájem, napíšu článek, jak je to uděláno.
Ti muzu slibit, ze vylovim vsechny zdrojaky co k tomu kde mam a na prani Ti je muzu poslat. Ale jinak to cele povazuju za desnej bastl s vypovidaci hodnotou "fouka vic/min" (ale je to pochopitelnet pouze vec mechaniky a kalibrace) na kterou by postacil i listnaty strom pred barakem (ten pochopitelne nebezi na Linuxu ani na nicem od Atmelu
). Na podileni na vasem projektu (uz kdysi sem se pokousel neco takoveho rozhybat) mi ted uz bohuzel chybi ta prvni vec co zminujes
... Ale co neni muze byt...
Zdenek
Grrrr.
Článek o spolupráci mikrokontrolerů s Linuxem nemůže zároveň vysvětlovat, k čemu je v obvodu dioda, kondenzátor a tranzistor. Určité znalosti a minimální zkušenosti jsou IMHO nutným předpokladem.