Avaleht

Tehnoloogiad ja platvormid

Programmeerimiskeeled, riistvaraplatvormid, siinid ja tööriistad — valik järgib projekti nõudeid.

See lehekülg pakub kompaktset ülevaadet tehnoloogiatest, millega töötan. Loend pole ammendav.

Keeled

1. Programmeerimis- ja riistvarakirjelduskeeled

Keele valik ülesande järgi: riistvarale lähedane ja ressursisäästlik C-s või assembleris, objektorienteeritud C++-is.

  • C — peamine keel mikrokontrolleri püsivara jaoks
  • C++ — keerulisemate embedded rakenduste jaoks objektorienteeritud struktuuridega
  • Assembler — äärmuslikes piiritingimustes
  • VHDL — FPGA disainid tugeva struktuurselge selgusega
  • SystemVerilog — kaasaegne FPGA arendus, testbench-id, verifitseerimine
  • Verilog — klassikaline FPGA kirjeldus
  • Python — testautomaatika, skriptid, andmete analüüs
  • Kotlin — Android-rakenduste jaoks
  • JavaScript / HTML / CSS — veebi-frontend
MCU

2. Mikrokontrolleri platvormid

Kogemus kõigi väljakujunenud mikrokontrolleri platvormidega embedded turul.

  • ARM Cortex-M — standardplatvorm keskmiselt kõrgete nõuete jaoks
  • ARM Cortex-A — kui Linux või rohkem arvutusvõimsust on vajalik
  • ESP32 — embedded rakendused Wi-Fi/Bluetooth-iga
  • Atmel / Microchip AVR — nt ATmega perekond
  • Arduino — kiire prototüüpimine, õpetamine ja demonstratsioonid
  • BeagleBone — ARM Cortex-A platvorm Linuxiga
  • Mikrokontrollerid minimaalse mäluga — bare-metal, ilma RTOS-ita
  • muud platvormid päringu peale
FPGA

3. FPGA platvormid

FPGA arendus spetsifikatsioonist verifitseerimiseni. Rõhk Xilinxi toodetel.

  • Xilinx Artix-7 — kuluefektiivne FPGA
  • Xilinx Zynq — kombineeritud ARM+FPGA platvorm
  • Vivado — tööriistaahel
  • Icarus Verilog / Verilator — open-source simulaatorid
  • SystemVerilog testbench-id — struktureeritud verifitseerimine
Siin

4. Siinid ja sideprotokollid

Kogemus automotive, tööstuslike ja embedded keskkondade väljakujunenud siinidega.

  • CAN / CAN FD — automotive ja tööstusstandard
  • MOST — infotainment-siin
  • Ethernet / EtherCAT — tööstusside
  • SPI / I²C / UART — standardliidesed
  • UDS (ISO 14229) — diagnostikaprotokoll
  • WebSocket / MQTT — IoT ja pilve ühenduste jaoks
RTOS

5. Reaalaja-operatsioonisüsteemid ja raamistikud

Tarkvaraarhitektuuri valik projekti nõude järgi.

  • Bare-metal — kui mälu ja determinism on olulised
  • FreeRTOS — RTOS-i de facto standard
  • Mitmetuumilised arhitektuurid — ülesannete jaotus mitmele tuumale
  • Embedded Linux — sellistel platvormidel nagu BeagleBone
Tööriistad

6. Tööriistad, testraamistikud ja IDE-d

Tööriistad on vahendid. Töötan sellega, mis projektile sobib.

  • Vector CANoe / CAPL — automotive testide standard
  • LabView — mõõte- ja juhtimistarkvara
  • Robot Framework — end-to-end testautomaatika
  • HIL setupid — hardware-in-the-loop
  • Pulsonix — skeemi ja PCB paigutuse tööriist
  • Vivado — Xilinx FPGA tööriistaahel
  • Git / GitLab — versioonihaldus ja koodiülevaatus
  • Wireshark — võrgu- ja siinianalüüs
Web/App

7. Veebi- ja rakendustehnoloogiad (saatvara)

Kui embedded seadmed vajavad konfiguratsiooniliidest, juhtpaneeli või mobiilirakendust, võin tarnida ka saatvara.

  • JavaScript / HTML / CSS — veebi-frontend
  • Chart.js — andmete visualiseerimine brauseris
  • Python / Flask — veebi-backend
  • Node.js — serverkomponendid
  • Socket.IO / WebSocket / MQTT — reaalajaline andmeedastus
  • Kotlin — Android-rakendused embedded seadmetele
  • REST API — standarditud liidesed

Mida sellest loendist puudu on

See lehekülg loetleb sageli kasutatud tehnoloogiaid — see pole täielik kataloog. Embedded arenduses loeb lõppkokkuvõttes vähem, millist konkreetset tööriistaahelat valdate, ja rohkem, kui kiiresti uue ahelaga sisse elate.

Värviskeem

Keel