Archiv autora: dawe

01-Pi0 Bare-Metal, první test

První starostí je zjistit zda je nová hračka vůbec naživu. Pokud nechcete instalovat Linux našel jsem velmi jednoduchý test. Připojte úplný usb kabel v Pi0 do konektoru usb (ne do pwr), v Pi0 nesmí být vložena sd karta. Pak připojte usb kabel do PC. Po pár vteřinách PC musí detekovat nový hardware asi takto:Sláva Pi0 žije. Protože ovladače asi nenajdeme ukončíme to stornem.

Tak a teď co je potřeba:

Z hardware jednoznačně Pi0, něco čím jej budeme napájet (postačí USB z PC), a nějakou mikrosd kartu (stačí i kapacitně docela malá)

Jako první si stáhneme „GNU ARM Embedded Toolchain“ a nainstalujeme. Zapamatujeme si kam se instalovalo – pomůže třeba i CTRL+C a CTRL+V někam do textového souboru.

Druhý v pořadí je „Code::Blocks„. Stáhneme a nainstalujeme. Po instalaci spusťte program, ten nám asi sdělí, že nenašel nic čím by mohl překládat – to je ok, poté můžete asociovat soubory s Code::Blocks – a teď už je IDE nastartované. Nyní je potřeba nastavit kompiler -> takže Settings, Compiler, vybereme GNU GCC pro ARM, záložka Toolchain Executables a nastavit takto:Compilers instalation directory jste si určitě zapamatovali že.

Teď si stáhneme tento zazipovaný projekt, rozbalíme ho a otevřeme v Code::Blocks. Stiskem CTRL+F11 přeložíme. Pokud vše prošlo podle očekávání tak se v adresáři projektu objeví nová složka bin a v ní je potřebný výsledný soubor kernel.img.

Nyní si připravíme mikrosd. Kartu naformátujeme na FAT32 a je potřeba na ní uložit soubor „bootcode.bin“ a soubor „start.elf“, které stáhneme zde. Jako třetí na kartu uložíme náš „kernel.img“. Kartu vložíme do Pi0, zapneme napájení a můžeme vychutnávat výsledek celého dlouhého procesu – ano je to tak bliká nám LED.

STM32F4discovery a oled displej SSD1306

Vlastním malinkatý modul oled displeje s rozhraním i2c. Řídícím čipem je ssd1306 a rozlišení displeje je 128*64 pixelů. V tomto projektu je základní ovládání displeje s nějakým tím výpisem znaků.

Displej je celkem pomalý a ani to jak jsem to napsal není moc optimalizované, ale na základní pochopení to asi stačí.

Kompletní zazipovany projekt je zde.

Wooky.mzf a komprimace souborů

Když jsem měl připojený CH376 chtěl jsem si zkušebně načíst nějakou hru. Napadla mě můj oblíbený Wooky, ale ouha jak spustit dvojdílnou gamesu z nestandardního zařízení. Hledal a našel jsem na netu jednodílnou verzi, kde se část souboru nahraje i do vram, ale i zde byla grafika nějakým způsobem poškozena. Nemožnost spustit si bezchybného Wookyho ve mě vrtala tak dlouho až jsem se rozhodl pro komprimaci hlavního bloku a spojení s blokem zaváděcím. Pokračování textu Wooky.mzf a komprimace souborů