Domov

Technológie a platformy

Programovacie jazyky, hardvérové platformy, zbernice a nástroje — voľba sa riadi požiadavkami projektu.

Táto stránka poskytuje kompaktný prehľad technológií, s ktorými pracujem. Zoznam nie je vyčerpávajúci.

Jazyky

1. Programovacie a hardvérovo-popisné jazyky

Voľba jazyka podľa úlohy: blízke hardvéru a šetrné ku zdrojom v C alebo assembleri, objektovo orientované v C++.

  • C — hlavný jazyk pre firmvér mikrokontroléra
  • C++ — pre zložitejšie embedded aplikácie s objektovými štruktúrami
  • Assembler — pri extrémnych okrajových podmienkach
  • VHDL — FPGA návrhy so silnou štrukturálnou jasnosťou
  • SystemVerilog — moderný FPGA vývoj, testbenche, verifikácia
  • Verilog — klasický popis FPGA
  • Python — automatizácia testov, skripty, analýza údajov
  • Kotlin — pre Android aplikácie
  • JavaScript / HTML / CSS — webové frontendy
MCU

2. Mikrokontrolérové platformy

Skúsenosti so všetkými etablovanými mikrokontrolérovými platformami na embedded trhu.

  • ARM Cortex-M — štandardná platforma pre stredne vysoké požiadavky
  • ARM Cortex-A — keď je vyžadovaný Linux alebo viac výpočtového výkonu
  • ESP32 — embedded aplikácie s Wi-Fi/Bluetooth
  • Atmel / Microchip AVR — napr. ATmega rodina
  • Arduino — rýchle prototypovanie, výučba a demonštrácie
  • BeagleBone — ARM Cortex-A platforma s Linuxom
  • Mikrokontroléry s minimálnou pamäťou — bare-metal, bez RTOS
  • ďalšie platformy na vyžiadanie
FPGA

3. FPGA platformy

FPGA vývoj od špecifikácie k verifikácii. Dôraz na produkty Xilinx.

  • Xilinx Artix-7 — nákladovo efektívne FPGA
  • Xilinx Zynq — kombinovaná ARM+FPGA platforma
  • Vivado — reťazec nástrojov
  • Icarus Verilog / Verilator — open-source simulátory
  • SystemVerilog testbenche — štruktúrovaná verifikácia
Zbernica

4. Zbernice a komunikačné protokoly

Skúsenosti so zbernicami etablovanými v automotive, priemyselných a embedded prostrediach.

  • CAN / CAN FD — automotive a priemyselný štandard
  • MOST — infotainment zbernica
  • Ethernet / EtherCAT — priemyselná komunikácia
  • SPI / I²C / UART — štandardné rozhrania
  • UDS (ISO 14229) — diagnostický protokol
  • WebSocket / MQTT — pre IoT a cloudové pripojenia
RTOS

5. Operačné systémy reálneho času a frameworky

Voľba softvérovej architektúry podľa požiadavky projektu.

  • Bare-metal — keď záleží na pamäti a determinizme
  • FreeRTOS — de facto štandard pre RTOS na mikrokontroléri
  • Viacjadrové architektúry — rozdelenie úloh na viacero jadier
  • Embedded Linux — na platformách typu BeagleBone
Nástroje

6. Nástroje, testovacie frameworky a IDE

Nástroje sú prostriedky. Pracujem s tým, čo sa hodí k projektu.

  • Vector CANoe / CAPL — štandard pre automotive testy
  • LabView — meracia a riadiaca softvérová platforma
  • Robot Framework — end-to-end automatizácia testov
  • HIL stanice — hardware-in-the-loop
  • Pulsonix — nástroj pre schému a PCB layout
  • Vivado — Xilinx FPGA reťazec nástrojov
  • Git / GitLab — správa verzií a revízia kódu
  • Wireshark — analýza siete a zbernice
Web/App

7. Web a app technológie (sprievodný softvér)

Keď embedded zariadenia potrebujú konfiguračné rozhranie, dashboard alebo mobilnú aplikáciu, môžem dodať aj sprievodný softvér.

  • JavaScript / HTML / CSS — webové frontendy
  • Chart.js — vizualizácia údajov v prehliadači
  • Python / Flask — webové backendy
  • Node.js — serverové komponenty
  • Socket.IO / WebSocket / MQTT — prenos údajov v reálnom čase
  • Kotlin — Android aplikácie pre embedded zariadenia
  • REST API — štandardizované rozhrania

Čo na tomto zozname chýba

Táto stránka uvádza často používané technológie — nie je to úplný katalóg. V embedded vývoji nakoniec nezáleží toľko na tom, ktorý konkrétny reťazec nástrojov ovládate, ako na tom, ako rýchlo sa dokážete zapracovať do nového reťazca.

Farebná schéma

Jazyk