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