Domov

Tehnologije in platforme

Programski jeziki, strojne platforme, vodila in orodja — izbira sledi zahtevam projekta.

Ta stran nudi kompakten pregled tehnologij, s katerimi delam. Seznam ni izčrpen.

Jeziki

1. Programski in opisni jeziki strojne opreme

Izbira jezika glede na nalogo: blizu strojne opreme in varčno z viri v C ali asemblerju, objektno usmerjeno v C++.

  • C — glavni jezik za vdelano programsko opremo mikrokrmilnika
  • C++ — za bolj zapletene embedded aplikacije z objektnimi strukturami
  • Asembler — pri ekstremnih robnih pogojih
  • VHDL — FPGA zasnove z močno strukturno jasnostjo
  • SystemVerilog — sodoben FPGA razvoj, testne klopi, verifikacija
  • Verilog — klasičen opis FPGA
  • Python — avtomatizacija testov, skripti, analiza podatkov
  • Kotlin — za Android aplikacije
  • JavaScript / HTML / CSS — spletni vmesniki
MCU

2. Platforme mikrokrmilnikov

Izkušnje z vsemi uveljavljenimi platformami mikrokrmilnikov na embedded trgu.

  • ARM Cortex-M — standardna platforma za srednje visoke zahteve
  • ARM Cortex-A — kadar je potreben Linux ali več računske moči
  • ESP32 — embedded aplikacije z Wi-Fi/Bluetooth
  • Atmel / Microchip AVR — npr. družina ATmega
  • Arduino — hitro prototipiranje, poučevanje in demonstracije
  • BeagleBone — ARM Cortex-A platforma z Linuxom
  • Mikrokrmilniki z minimalnim pomnilnikom — bare-metal, brez RTOS
  • druge platforme po povpraševanju
FPGA

3. FPGA platforme

FPGA razvoj od specifikacije do verifikacije. Težišče na izdelkih Xilinx.

  • Xilinx Artix-7 — stroškovno učinkoviti FPGA
  • Xilinx Zynq — kombinirana ARM+FPGA platforma
  • Vivado — orodjarna
  • Icarus Verilog / Verilator — odprtokodni simulatorji
  • SystemVerilog testne klopi — strukturirana verifikacija
Vodilo

4. Vodila in komunikacijski protokoli

Izkušnje z vodili, uveljavljenimi v automotive, industrijskih in embedded okoljih.

  • CAN / CAN FD — automotive in industrijski standard
  • MOST — infotainment vodilo
  • Ethernet / EtherCAT — industrijska komunikacija
  • SPI / I²C / UART — standardni vmesniki
  • UDS (ISO 14229) — diagnostični protokol
  • WebSocket / MQTT — za IoT in oblačne povezave
RTOS

5. Operacijski sistemi realnega časa in ogrodja

Izbira programske arhitekture glede na zahtevo projekta.

  • Bare-metal — kadar so pomembni pomnilnik in determinizem
  • FreeRTOS — de facto standard za RTOS
  • Večjedrne arhitekture — porazdelitev nalog na več jeder
  • Embedded Linux — na platformah kot je BeagleBone
Orodja

6. Orodja, testna ogrodja in IDE

Orodja so sredstva. Delam s tem, kar ustreza projektu.

  • Vector CANoe / CAPL — standard za automotive teste
  • LabView — merilna in krmilna programska oprema
  • Robot Framework — end-to-end avtomatizacija testov
  • HIL postavitve — hardware-in-the-loop
  • Pulsonix — orodje za shemo in PCB postavitev
  • Vivado — Xilinx FPGA orodjarna
  • Git / GitLab — nadzor različic in pregled kode
  • Wireshark — analiza omrežja in vodila
Web/App

7. Spletne in aplikacijske tehnologije (spremljevalna programska oprema)

Kadar embedded naprave potrebujejo konfiguracijski vmesnik, nadzorno ploščo ali mobilno aplikacijo, lahko dostavim tudi spremljevalno programsko opremo.

  • JavaScript / HTML / CSS — spletni vmesniki
  • Chart.js — vizualizacija podatkov v brskalniku
  • Python / Flask — spletna ozadja
  • Node.js — strežniške komponente
  • Socket.IO / WebSocket / MQTT — prenos podatkov v realnem času
  • Kotlin — Android aplikacije za embedded naprave
  • REST API — standardizirani vmesniki

Kaj na tem seznamu manjka

Ta stran navaja pogosto uporabljene tehnologije — to ni popoln katalog. V embedded razvoju na koncu manj šteje, katero konkretno orodjarno obvladate, in bolj, kako hitro se lahko vživite v novo.

Barvna shema

Jezik