Ú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.

Barevné schéma

Jazyk