← Úvod
Technologie a platformy
Programovací jazyky, hardwarové platformy, sběrnice a nástroje — volba se řídí požadavky projektu, ne mými preferencemi.
Tato stránka poskytuje kompaktní přehled technologií, se kterými pracuji. Seznam není vyčerpávající — uvádí platformy, jazyky a nástroje, které se v mých projektech často vyskytují, nebo které považuji za zvláště relevantní pro embedded vývoj. Pokud zde vaše specifická platforma neuvedena není, neznamená to nutně nedostatek zkušeností; v embedded projektech se koncepty často přenášejí na jiné platformy, jakmile je úkol jasný.
Jazyky
1. Programovací a hardwarově-popisové jazyky
Volba jazyka podle úkolu: blízké hardwaru a šetrné ke zdrojům v C nebo assembleru, objektově orientované v C++, FPGA logika ve VHDL a SystemVerilogu, nástroje a analýza v Pythonu.
- C — hlavní jazyk pro firmware mikrokontroléru, od bare-metal po FreeRTOS
- C++ — pro složitější embedded aplikace s objektovými strukturami, podle potřeby v souladu s MISRA
- Assembler — při extrémních okrajových podmínkách, pro hardwarové ovladače, startovací kód a reverzní inženýrství
- VHDL — FPGA návrhy se silnou strukturální jasností
- SystemVerilog — moderní FPGA vývoj, testbenche, verifikace
- Verilog — klasický popis FPGA
- Python — automatizace testů, skripty, analýza dat, webové backendy
- Kotlin — pro Android aplikace jako doprovod k embedded zařízením
- JavaScript / HTML / CSS — webové frontendy a konfigurační rozhraní
MCU
2. Mikrokontrolérové platformy
Zkušenosti se všemi etablovanými mikrokontrolérovými platformami na embedded trhu — od výkonného ARM Cortexu po nákladově optimalizované Atmel čipy, jako čisté mikrokontroléry nebo jako deskové platformy typu Arduino nebo BeagleBone.
- ARM Cortex-M — standardní platforma pro středně vysoké požadavky
- ARM Cortex-A — když je vyžadován Linux nebo více výpočetního výkonu
- ESP32 — embedded aplikace s Wi-Fi/Bluetooth
- Atmel / Microchip AVR — např. ATmega rodina pro cenově citlivé projekty
- Arduino — rychlé prototypování, výuka a demonstrace
- BeagleBone — ARM Cortex-A platforma s Linuxem pro náročnější aplikace
- Mikrokontroléry s minimální pamětí — bare-metal, bez RTOS (Stihl projekt jako příklad, viz reference)
- další platformy na vyžádání
FPGA
3. FPGA platformy
FPGA vývoj od specifikace k verifikaci. Důraz na produkty Xilinx, obeznámen s moderními řetězci nástrojů a verifikačními metodami.
- Xilinx Artix-7 — nákladově efektivní FPGA pro řídicí a signálově-zpracující úkoly
- Xilinx Zynq — kombinovaná ARM+FPGA platforma pro složité systémy
- Vivado — řetězec nástrojů pro syntézu, implementaci a programování
- Icarus Verilog / Verilator — open-source simulátory pro rychlou iteraci
- SystemVerilog testbenche — strukturovaná verifikace FPGA návrhů
Sběrnice
4. Sběrnice a komunikační protokoly
Zkušenosti se sběrnicemi etablovanými v automotive, průmyslových a embedded prostředích — od implementace blízké hardwaru po diagnostiku.
- CAN / CAN FD — automotive a průmyslový standard
- MOST — infotainment sběrnice se zkušenostmi z Audi projektu (viz reference)
- Ethernet / EtherCAT — průmyslová komunikace schopná reálného času
- SPI / I²C / UART — standardní rozhraní pro senzory a periferie
- UDS (ISO 14229) — diagnostický protokol pro řídicí jednotky
- WebSocket / MQTT — pro IoT a cloudová připojení
RTOS
5. Operační systémy reálného času a frameworky
Volba softwarové architektury podle požadavku projektu — od bare-metal na malých mikrokontrolérech po plné vícejádrové operační systémy reálného času.
- Bare-metal — když záleží na paměti a determinismu
- FreeRTOS — de facto standard pro RTOS na mikrokontroléru
- Vícejádrové architektury — rozdělení úkolů na více jader
- Embedded Linux — na platformách typu BeagleBone, když z toho aplikace profitují
Nástroje
6. Nástroje, testovací frameworky a IDE
Nástroje jsou prostředky. Pracuji s tím, co se hodí k projektu — a rychle se zapracuji do neznámých řetězců nástrojů, pokud jsou pro projekt relevantní.
- Vector CANoe / CAPL — standard pro automotive testy a sběrnicovou simulaci
- LabView — měřicí a řídicí software
- Robot Framework — end-to-end automatizace testů
- HIL stanice — hardware-in-the-loop pro integrované systémové testy
- Pulsonix — nástroj pro schéma a PCB layout
- Vivado — Xilinx FPGA řetězec nástrojů
- Git / GitLab — správa verzí a revize kódu
- Wireshark — analýza sítě a sběrnice
Web/App
7. Web a app technologie (doprovodný software)
Když embedded zařízení potřebují konfigurační rozhraní, dashboard nebo mobilní aplikaci, mohu dodat i doprovodný software.
- JavaScript / HTML / CSS — webové frontendy
- Chart.js — vizualizace dat v prohlížeči
- Python / Flask — webové backendy
- Node.js — serverové komponenty
- Socket.IO / WebSocket / MQTT — přenos dat v reálném čase
- Kotlin — Android aplikace pro embedded zařízení
- REST API — standardizovaná rozhraní mezi embedded a cloudem
Co na tomto seznamu chybí
Tato stránka uvádí často používané technologie — není to úplný katalog. Pokud zde vaše platforma, jazyk nebo nástroj uveden není, projekt přesto stojí za diskusi. V embedded vývoji nakonec nezáleží tolik na tom, který konkrétní řetězec nástrojů ovládáte, ale jak rychle se dokážete zapracovat do nového řetězce a jak hluboce jsou pochopeny základní koncepty.