Embedded Linux je operační systém založený na jádře Linuxu, který je optimalizován pro použití v vestavěných systémech. Tyto systémy jsou obvykle zdrojově omezené a specializované na konkrétní úlohy, jako jsou například lékařské a měřicí přístroje,, síťová zařízení, průmyslová automatizace, navigační zařízení a další.
Embedded Linux umožňuje vyvíjet složité, komunikující aplikace s rozumnými náklady a se zachováním relativně snadné přenositelnosti mezi platformami. Tyto aplikace jsou také podstatně flexibilnější z hlediska možnosti vzdálené správy, diagnostiky a upgradu.
Zabýváme se vývojem v embedded Linuxu od roku 2013. Naše aplikace řídí průmyslové linky, měří fyziologické funkce pacientů nebo ovládají silniční automatizaci.
Rádi používáme platformy NXP (např.i.MX6, i.MX8), STM32MP1 a nVidia Jetson (TX2, Jetson Nano, Orin); více aplikací jsme vyvinuli i na low cost platformách s OpenWRT, například na bázi RT5350 nebo MT7688. Mnoho aplikací jsme vyvinuli i pro Raspberry Pi případně Raspberry Pi Compute Module a SOM moduly například Toradex, Variscite nebo Compulab.
Dovedeme i vyvinout vlastní procesorové desky pro linuxové řídicí systémy – typicky na platformě STM32MP1, NXP i.MX6, i.MX8, TI Sitara. V době čipové krize vyvíjíme i na méně známých, ale dobře dostupných platformách, máme například vyvinuty zařízení na platformách Rockchip nebo Allwinner (A64, A20, A13, Allwinner V3s a dalších).
Pracujeme zejména s frameworky Yocto/OpenEmbedded a Buildroot, které umožňují vytvářet celé image souborového systému zařízení ze zdrojového kódu a tím odstraňují rizika chyb při konfiguraci jednotlivých zařízení. Vlastní kód píšeme v jazycích C/C++, Python, případně PHP, Lua, C# .
Pro grafická uživatelská rozhraní používáme knihovny Qt, LVGL nebo webové technologie (např. Electron); s tím se pojí i stack webových technologií (JavaScript, NodeJS).
Firmware pro embedded Linux dodáváme v celém rozsahu: customizovaný operační systém (BSP – Board Support Package včetně vytvořených ovladačů pro specifický hardware) i uživatelské aplikace.